Files
2026-05-06 18:55:16 -05:00

2 lines
4.6 MiB

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnFolder=exports.CfnCustomPermissions=exports.CfnActionConnector=exports.CfnVPCConnection=exports.CfnTopic=exports.CfnTheme=exports.CfnTemplate=exports.CfnRefreshSchedule=exports.CfnDataSource=exports.CfnDataSet=exports.CfnDashboard=exports.CfnAnalysis=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnAnalysis extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnAnalysis",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::Analysis";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAnalysisPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAnalysis(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnAnalysis(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAnalysis.CFN_RESOURCE_TYPE_NAME}static arnForAnalysis(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_IAnalysisRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAnalysis),error}return resource.analysisRef.analysisArn}_analysisId;_awsAccountId;_definition;_errors;_folderArns;_name;_parameters;_permissions;_sheets;_sourceEntity;_status;tags;_tagsRaw;_themeArn;_validationStrategy;cfnPropertyNames={analysisId:"AnalysisId",awsAccountId:"AwsAccountId",definition:"Definition",errors:"Errors",folderArns:"FolderArns",name:"Name",parameters:"Parameters",permissions:"Permissions",sheets:"Sheets",sourceEntity:"SourceEntity",status:"Status",tags:"Tags",themeArn:"ThemeArn",validationStrategy:"ValidationStrategy"};constructor(scope,id,props){super(scope,id,{type:CfnAnalysis.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnAnalysisProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAnalysis),error}cdk().requireProperty(props,"analysisId",this),cdk().requireProperty(props,"awsAccountId",this),cdk().requireProperty(props,"name",this),this._analysisId=props.analysisId,this._awsAccountId=props.awsAccountId,this._definition=props.definition,this._errors=props.errors,this._folderArns=props.folderArns,this._name=props.name,this._parameters=props.parameters,this._permissions=props.permissions,this._sheets=props.sheets,this._sourceEntity=props.sourceEntity,this._status=props.status,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::Analysis",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._themeArn=props.themeArn,this._validationStrategy=props.validationStrategy}get analysisRef(){return{analysisId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),awsAccountId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),analysisArn:this.attrArn}}get analysisId(){return this._analysisId}set analysisId(value){cdk().traceProperty(this.node,"AnalysisId"),this._analysisId=value}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get definition(){return this._definition}set definition(value){cdk().traceProperty(this.node,"Definition"),this._definition=value}get errors(){return this._errors}set errors(value){cdk().traceProperty(this.node,"Errors"),this._errors=value}get folderArns(){return this._folderArns}set folderArns(value){cdk().traceProperty(this.node,"FolderArns"),this._folderArns=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get parameters(){return this._parameters}set parameters(value){cdk().traceProperty(this.node,"Parameters"),this._parameters=value}get permissions(){return this._permissions}set permissions(value){cdk().traceProperty(this.node,"Permissions"),this._permissions=value}get sheets(){return this._sheets}set sheets(value){cdk().traceProperty(this.node,"Sheets"),this._sheets=value}get sourceEntity(){return this._sourceEntity}set sourceEntity(value){cdk().traceProperty(this.node,"SourceEntity"),this._sourceEntity=value}get status(){return this._status}set status(value){cdk().traceProperty(this.node,"Status"),this._status=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get themeArn(){return this._themeArn}set themeArn(value){cdk().traceProperty(this.node,"ThemeArn"),this._themeArn=value}get validationStrategy(){return this._validationStrategy}set validationStrategy(value){cdk().traceProperty(this.node,"ValidationStrategy"),this._validationStrategy=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrDataSetArns(){return cdk().Token.asList(this.getAtt("DataSetArns",cdk().ResolutionTypeHint.STRING_LIST))}get attrErrors(){return this.getAtt("Errors")}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get attrSheets(){return this.getAtt("Sheets")}get cfnProperties(){return{analysisId:this._analysisId,awsAccountId:this._awsAccountId,definition:this._definition,errors:this._errors,folderArns:this._folderArns,name:this._name,parameters:this._parameters,permissions:this._permissions,sheets:this._sheets,sourceEntity:this._sourceEntity,status:this._status,tags:this.tags.renderTags(),themeArn:this._themeArn,validationStrategy:this._validationStrategy}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnAnalysis.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAnalysisPropsToCloudFormation(props)}}exports.CfnAnalysis=CfnAnalysis;function CfnAnalysisStringParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "StringParameterProperty"')}function convertCfnAnalysisStringParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisStringParameterPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnAnalysisStringParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDecimalParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateNumber))(properties.values)),errors.wrap('supplied properties not correct for "DecimalParameterProperty"')}function convertCfnAnalysisDecimalParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDecimalParameterPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().numberToCloudFormation)(properties.values)}):properties}function CfnAnalysisDecimalParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisIntegerParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateNumber))(properties.values)),errors.wrap('supplied properties not correct for "IntegerParameterProperty"')}function convertCfnAnalysisIntegerParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisIntegerParameterPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().numberToCloudFormation)(properties.values)}):properties}function CfnAnalysisIntegerParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateTimeParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "DateTimeParameterProperty"')}function convertCfnAnalysisDateTimeParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateTimeParameterPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnAnalysisDateTimeParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeParameters",cdk().listValidator(CfnAnalysisDateTimeParameterPropertyValidator))(properties.dateTimeParameters)),errors.collect(cdk().propertyValidator("decimalParameters",cdk().listValidator(CfnAnalysisDecimalParameterPropertyValidator))(properties.decimalParameters)),errors.collect(cdk().propertyValidator("integerParameters",cdk().listValidator(CfnAnalysisIntegerParameterPropertyValidator))(properties.integerParameters)),errors.collect(cdk().propertyValidator("stringParameters",cdk().listValidator(CfnAnalysisStringParameterPropertyValidator))(properties.stringParameters)),errors.wrap('supplied properties not correct for "ParametersProperty"')}function convertCfnAnalysisParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParametersPropertyValidator(properties).assertSuccess(),{DateTimeParameters:cdk().listMapper(convertCfnAnalysisDateTimeParameterPropertyToCloudFormation)(properties.dateTimeParameters),DecimalParameters:cdk().listMapper(convertCfnAnalysisDecimalParameterPropertyToCloudFormation)(properties.decimalParameters),IntegerParameters:cdk().listMapper(convertCfnAnalysisIntegerParameterPropertyToCloudFormation)(properties.integerParameters),StringParameters:cdk().listMapper(convertCfnAnalysisStringParameterPropertyToCloudFormation)(properties.stringParameters)}):properties}function CfnAnalysisParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeParameters","DateTimeParameters",properties.DateTimeParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDateTimeParameterPropertyFromCloudFormation)(properties.DateTimeParameters):void 0),ret.addPropertyResult("decimalParameters","DecimalParameters",properties.DecimalParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDecimalParameterPropertyFromCloudFormation)(properties.DecimalParameters):void 0),ret.addPropertyResult("integerParameters","IntegerParameters",properties.IntegerParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisIntegerParameterPropertyFromCloudFormation)(properties.IntegerParameters):void 0),ret.addPropertyResult("stringParameters","StringParameters",properties.StringParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisStringParameterPropertyFromCloudFormation)(properties.StringParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataSetReferencePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetArn",cdk().requiredValidator)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("dataSetArn",cdk().validateString)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("dataSetPlaceholder",cdk().requiredValidator)(properties.dataSetPlaceholder)),errors.collect(cdk().propertyValidator("dataSetPlaceholder",cdk().validateString)(properties.dataSetPlaceholder)),errors.wrap('supplied properties not correct for "DataSetReferenceProperty"')}function convertCfnAnalysisDataSetReferencePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataSetReferencePropertyValidator(properties).assertSuccess(),{DataSetArn:cdk().stringToCloudFormation(properties.dataSetArn),DataSetPlaceholder:cdk().stringToCloudFormation(properties.dataSetPlaceholder)}):properties}function CfnAnalysisDataSetReferencePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetArn","DataSetArn",properties.DataSetArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetArn):void 0),ret.addPropertyResult("dataSetPlaceholder","DataSetPlaceholder",properties.DataSetPlaceholder!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetPlaceholder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAnalysisSourceTemplatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("dataSetReferences",cdk().requiredValidator)(properties.dataSetReferences)),errors.collect(cdk().propertyValidator("dataSetReferences",cdk().listValidator(CfnAnalysisDataSetReferencePropertyValidator))(properties.dataSetReferences)),errors.wrap('supplied properties not correct for "AnalysisSourceTemplateProperty"')}function convertCfnAnalysisAnalysisSourceTemplatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAnalysisSourceTemplatePropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),DataSetReferences:cdk().listMapper(convertCfnAnalysisDataSetReferencePropertyToCloudFormation)(properties.dataSetReferences)}):properties}function CfnAnalysisAnalysisSourceTemplatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("dataSetReferences","DataSetReferences",properties.DataSetReferences!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDataSetReferencePropertyFromCloudFormation)(properties.DataSetReferences):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAnalysisSourceEntityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sourceTemplate",CfnAnalysisAnalysisSourceTemplatePropertyValidator)(properties.sourceTemplate)),errors.wrap('supplied properties not correct for "AnalysisSourceEntityProperty"')}function convertCfnAnalysisAnalysisSourceEntityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAnalysisSourceEntityPropertyValidator(properties).assertSuccess(),{SourceTemplate:convertCfnAnalysisAnalysisSourceTemplatePropertyToCloudFormation(properties.sourceTemplate)}):properties}function CfnAnalysisAnalysisSourceEntityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sourceTemplate","SourceTemplate",properties.SourceTemplate!=null?CfnAnalysisAnalysisSourceTemplatePropertyFromCloudFormation(properties.SourceTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAttributeAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("simpleAttributeAggregation",cdk().validateString)(properties.simpleAttributeAggregation)),errors.collect(cdk().propertyValidator("valueForMultipleValues",cdk().validateString)(properties.valueForMultipleValues)),errors.wrap('supplied properties not correct for "AttributeAggregationFunctionProperty"')}function convertCfnAnalysisAttributeAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAttributeAggregationFunctionPropertyValidator(properties).assertSuccess(),{SimpleAttributeAggregation:cdk().stringToCloudFormation(properties.simpleAttributeAggregation),ValueForMultipleValues:cdk().stringToCloudFormation(properties.valueForMultipleValues)}):properties}function CfnAnalysisAttributeAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("simpleAttributeAggregation","SimpleAttributeAggregation",properties.SimpleAttributeAggregation!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleAttributeAggregation):void 0),ret.addPropertyResult("valueForMultipleValues","ValueForMultipleValues",properties.ValueForMultipleValues!=null?cfn_parse().FromCloudFormation.getString(properties.ValueForMultipleValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPercentileAggregationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("percentileValue",cdk().validateNumber)(properties.percentileValue)),errors.wrap('supplied properties not correct for "PercentileAggregationProperty"')}function convertCfnAnalysisPercentileAggregationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPercentileAggregationPropertyValidator(properties).assertSuccess(),{PercentileValue:cdk().numberToCloudFormation(properties.percentileValue)}):properties}function CfnAnalysisPercentileAggregationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("percentileValue","PercentileValue",properties.PercentileValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.PercentileValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericalAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("percentileAggregation",CfnAnalysisPercentileAggregationPropertyValidator)(properties.percentileAggregation)),errors.collect(cdk().propertyValidator("simpleNumericalAggregation",cdk().validateString)(properties.simpleNumericalAggregation)),errors.wrap('supplied properties not correct for "NumericalAggregationFunctionProperty"')}function convertCfnAnalysisNumericalAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericalAggregationFunctionPropertyValidator(properties).assertSuccess(),{PercentileAggregation:convertCfnAnalysisPercentileAggregationPropertyToCloudFormation(properties.percentileAggregation),SimpleNumericalAggregation:cdk().stringToCloudFormation(properties.simpleNumericalAggregation)}):properties}function CfnAnalysisNumericalAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("percentileAggregation","PercentileAggregation",properties.PercentileAggregation!=null?CfnAnalysisPercentileAggregationPropertyFromCloudFormation(properties.PercentileAggregation):void 0),ret.addPropertyResult("simpleNumericalAggregation","SimpleNumericalAggregation",properties.SimpleNumericalAggregation!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleNumericalAggregation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("attributeAggregationFunction",CfnAnalysisAttributeAggregationFunctionPropertyValidator)(properties.attributeAggregationFunction)),errors.collect(cdk().propertyValidator("categoricalAggregationFunction",cdk().validateString)(properties.categoricalAggregationFunction)),errors.collect(cdk().propertyValidator("dateAggregationFunction",cdk().validateString)(properties.dateAggregationFunction)),errors.collect(cdk().propertyValidator("numericalAggregationFunction",CfnAnalysisNumericalAggregationFunctionPropertyValidator)(properties.numericalAggregationFunction)),errors.wrap('supplied properties not correct for "AggregationFunctionProperty"')}function convertCfnAnalysisAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAggregationFunctionPropertyValidator(properties).assertSuccess(),{AttributeAggregationFunction:convertCfnAnalysisAttributeAggregationFunctionPropertyToCloudFormation(properties.attributeAggregationFunction),CategoricalAggregationFunction:cdk().stringToCloudFormation(properties.categoricalAggregationFunction),DateAggregationFunction:cdk().stringToCloudFormation(properties.dateAggregationFunction),NumericalAggregationFunction:convertCfnAnalysisNumericalAggregationFunctionPropertyToCloudFormation(properties.numericalAggregationFunction)}):properties}function CfnAnalysisAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("attributeAggregationFunction","AttributeAggregationFunction",properties.AttributeAggregationFunction!=null?CfnAnalysisAttributeAggregationFunctionPropertyFromCloudFormation(properties.AttributeAggregationFunction):void 0),ret.addPropertyResult("categoricalAggregationFunction","CategoricalAggregationFunction",properties.CategoricalAggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.CategoricalAggregationFunction):void 0),ret.addPropertyResult("dateAggregationFunction","DateAggregationFunction",properties.DateAggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.DateAggregationFunction):void 0),ret.addPropertyResult("numericalAggregationFunction","NumericalAggregationFunction",properties.NumericalAggregationFunction!=null?CfnAnalysisNumericalAggregationFunctionPropertyFromCloudFormation(properties.NumericalAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisColumnIdentifierPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.wrap('supplied properties not correct for "ColumnIdentifierProperty"')}function convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisColumnIdentifierPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier)}):properties}function CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFontSizePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("absolute",cdk().validateString)(properties.absolute)),errors.collect(cdk().propertyValidator("relative",cdk().validateString)(properties.relative)),errors.wrap('supplied properties not correct for "FontSizeProperty"')}function convertCfnAnalysisFontSizePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFontSizePropertyValidator(properties).assertSuccess(),{Absolute:cdk().stringToCloudFormation(properties.absolute),Relative:cdk().stringToCloudFormation(properties.relative)}):properties}function CfnAnalysisFontSizePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("absolute","Absolute",properties.Absolute!=null?cfn_parse().FromCloudFormation.getString(properties.Absolute):void 0),ret.addPropertyResult("relative","Relative",properties.Relative!=null?cfn_parse().FromCloudFormation.getString(properties.Relative):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFontWeightPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "FontWeightProperty"')}function convertCfnAnalysisFontWeightPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFontWeightPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnAnalysisFontWeightPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFontConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontColor",cdk().validateString)(properties.fontColor)),errors.collect(cdk().propertyValidator("fontDecoration",cdk().validateString)(properties.fontDecoration)),errors.collect(cdk().propertyValidator("fontFamily",cdk().validateString)(properties.fontFamily)),errors.collect(cdk().propertyValidator("fontSize",CfnAnalysisFontSizePropertyValidator)(properties.fontSize)),errors.collect(cdk().propertyValidator("fontStyle",cdk().validateString)(properties.fontStyle)),errors.collect(cdk().propertyValidator("fontWeight",CfnAnalysisFontWeightPropertyValidator)(properties.fontWeight)),errors.wrap('supplied properties not correct for "FontConfigurationProperty"')}function convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFontConfigurationPropertyValidator(properties).assertSuccess(),{FontColor:cdk().stringToCloudFormation(properties.fontColor),FontDecoration:cdk().stringToCloudFormation(properties.fontDecoration),FontFamily:cdk().stringToCloudFormation(properties.fontFamily),FontSize:convertCfnAnalysisFontSizePropertyToCloudFormation(properties.fontSize),FontStyle:cdk().stringToCloudFormation(properties.fontStyle),FontWeight:convertCfnAnalysisFontWeightPropertyToCloudFormation(properties.fontWeight)}):properties}function CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontColor","FontColor",properties.FontColor!=null?cfn_parse().FromCloudFormation.getString(properties.FontColor):void 0),ret.addPropertyResult("fontDecoration","FontDecoration",properties.FontDecoration!=null?cfn_parse().FromCloudFormation.getString(properties.FontDecoration):void 0),ret.addPropertyResult("fontFamily","FontFamily",properties.FontFamily!=null?cfn_parse().FromCloudFormation.getString(properties.FontFamily):void 0),ret.addPropertyResult("fontSize","FontSize",properties.FontSize!=null?CfnAnalysisFontSizePropertyFromCloudFormation(properties.FontSize):void 0),ret.addPropertyResult("fontStyle","FontStyle",properties.FontStyle!=null?cfn_parse().FromCloudFormation.getString(properties.FontStyle):void 0),ret.addPropertyResult("fontWeight","FontWeight",properties.FontWeight!=null?CfnAnalysisFontWeightPropertyFromCloudFormation(properties.FontWeight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "LabelOptionsProperty"')}function convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLabelOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetControlInfoIconLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconText",cdk().validateString)(properties.infoIconText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SheetControlInfoIconLabelOptionsProperty"')}function convertCfnAnalysisSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetControlInfoIconLabelOptionsPropertyValidator(properties).assertSuccess(),{InfoIconText:cdk().stringToCloudFormation(properties.infoIconText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconText","InfoIconText",properties.InfoIconText!=null?cfn_parse().FromCloudFormation.getString(properties.InfoIconText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSliderControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnAnalysisSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnAnalysisLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "SliderControlDisplayOptionsProperty"')}function convertCfnAnalysisSliderControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSliderControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnAnalysisSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),TitleOptions:convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnAnalysisSliderControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnAnalysisSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultSliderControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisSliderControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("maximumValue",cdk().requiredValidator)(properties.maximumValue)),errors.collect(cdk().propertyValidator("maximumValue",cdk().validateNumber)(properties.maximumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().requiredValidator)(properties.minimumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().validateNumber)(properties.minimumValue)),errors.collect(cdk().propertyValidator("stepSize",cdk().requiredValidator)(properties.stepSize)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultSliderControlOptionsProperty"')}function convertCfnAnalysisDefaultSliderControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultSliderControlOptionsPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnAnalysisSliderControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),MaximumValue:cdk().numberToCloudFormation(properties.maximumValue),MinimumValue:cdk().numberToCloudFormation(properties.minimumValue),StepSize:cdk().numberToCloudFormation(properties.stepSize),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisDefaultSliderControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisSliderControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("maximumValue","MaximumValue",properties.MaximumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumValue):void 0),ret.addPropertyResult("minimumValue","MinimumValue",properties.MinimumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumValue):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeFormat",cdk().validateString)(properties.dateTimeFormat)),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnAnalysisSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnAnalysisLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "RelativeDateTimeControlDisplayOptionsProperty"')}function convertCfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{DateTimeFormat:cdk().stringToCloudFormation(properties.dateTimeFormat),InfoIconLabelOptions:convertCfnAnalysisSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),TitleOptions:convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeFormat","DateTimeFormat",properties.DateTimeFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateTimeFormat):void 0),ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnAnalysisSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultRelativeDateTimeControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.wrap('supplied properties not correct for "DefaultRelativeDateTimeControlOptionsProperty"')}function convertCfnAnalysisDefaultRelativeDateTimeControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultRelativeDateTimeControlOptionsPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions)}):properties}function CfnAnalysisDefaultRelativeDateTimeControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTextControlPlaceholderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "TextControlPlaceholderOptionsProperty"')}function convertCfnAnalysisTextControlPlaceholderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTextControlPlaceholderOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisTextControlPlaceholderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTextFieldControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnAnalysisSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("placeholderOptions",CfnAnalysisTextControlPlaceholderOptionsPropertyValidator)(properties.placeholderOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnAnalysisLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "TextFieldControlDisplayOptionsProperty"')}function convertCfnAnalysisTextFieldControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTextFieldControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnAnalysisSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),PlaceholderOptions:convertCfnAnalysisTextControlPlaceholderOptionsPropertyToCloudFormation(properties.placeholderOptions),TitleOptions:convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnAnalysisTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnAnalysisSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("placeholderOptions","PlaceholderOptions",properties.PlaceholderOptions!=null?CfnAnalysisTextControlPlaceholderOptionsPropertyFromCloudFormation(properties.PlaceholderOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultTextFieldControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisTextFieldControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.wrap('supplied properties not correct for "DefaultTextFieldControlOptionsProperty"')}function convertCfnAnalysisDefaultTextFieldControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultTextFieldControlOptionsPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnAnalysisTextFieldControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions)}):properties}function CfnAnalysisDefaultTextFieldControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTextAreaControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnAnalysisSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("placeholderOptions",CfnAnalysisTextControlPlaceholderOptionsPropertyValidator)(properties.placeholderOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnAnalysisLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "TextAreaControlDisplayOptionsProperty"')}function convertCfnAnalysisTextAreaControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTextAreaControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnAnalysisSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),PlaceholderOptions:convertCfnAnalysisTextControlPlaceholderOptionsPropertyToCloudFormation(properties.placeholderOptions),TitleOptions:convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnAnalysisTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnAnalysisSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("placeholderOptions","PlaceholderOptions",properties.PlaceholderOptions!=null?CfnAnalysisTextControlPlaceholderOptionsPropertyFromCloudFormation(properties.PlaceholderOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultTextAreaControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisTextAreaControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.wrap('supplied properties not correct for "DefaultTextAreaControlOptionsProperty"')}function convertCfnAnalysisDefaultTextAreaControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultTextAreaControlOptionsPropertyValidator(properties).assertSuccess(),{Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisplayOptions:convertCfnAnalysisTextAreaControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions)}):properties}function CfnAnalysisDefaultTextAreaControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisListControlSelectAllOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ListControlSelectAllOptionsProperty"')}function convertCfnAnalysisListControlSelectAllOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisListControlSelectAllOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisListControlSelectAllOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDropDownControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnAnalysisSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("selectAllOptions",CfnAnalysisListControlSelectAllOptionsPropertyValidator)(properties.selectAllOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnAnalysisLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "DropDownControlDisplayOptionsProperty"')}function convertCfnAnalysisDropDownControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDropDownControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnAnalysisSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),SelectAllOptions:convertCfnAnalysisListControlSelectAllOptionsPropertyToCloudFormation(properties.selectAllOptions),TitleOptions:convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnAnalysisDropDownControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnAnalysisSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?CfnAnalysisListControlSelectAllOptionsPropertyFromCloudFormation(properties.SelectAllOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterSelectableValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "FilterSelectableValuesProperty"')}function convertCfnAnalysisFilterSelectableValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterSelectableValuesPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnAnalysisFilterSelectableValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultFilterDropDownControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisDropDownControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("selectableValues",CfnAnalysisFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultFilterDropDownControlOptionsProperty"')}function convertCfnAnalysisDefaultFilterDropDownControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultFilterDropDownControlOptionsPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnAnalysisDropDownControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),SelectableValues:convertCfnAnalysisFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisDefaultFilterDropDownControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisDropDownControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnAnalysisFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateTimePickerControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateIconVisibility",cdk().validateString)(properties.dateIconVisibility)),errors.collect(cdk().propertyValidator("dateTimeFormat",cdk().validateString)(properties.dateTimeFormat)),errors.collect(cdk().propertyValidator("helperTextVisibility",cdk().validateString)(properties.helperTextVisibility)),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnAnalysisSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnAnalysisLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "DateTimePickerControlDisplayOptionsProperty"')}function convertCfnAnalysisDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateTimePickerControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{DateIconVisibility:cdk().stringToCloudFormation(properties.dateIconVisibility),DateTimeFormat:cdk().stringToCloudFormation(properties.dateTimeFormat),HelperTextVisibility:cdk().stringToCloudFormation(properties.helperTextVisibility),InfoIconLabelOptions:convertCfnAnalysisSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),TitleOptions:convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnAnalysisDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateIconVisibility","DateIconVisibility",properties.DateIconVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.DateIconVisibility):void 0),ret.addPropertyResult("dateTimeFormat","DateTimeFormat",properties.DateTimeFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateTimeFormat):void 0),ret.addPropertyResult("helperTextVisibility","HelperTextVisibility",properties.HelperTextVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.HelperTextVisibility):void 0),ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnAnalysisSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultDateTimePickerControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisDateTimePickerControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultDateTimePickerControlOptionsProperty"')}function convertCfnAnalysisDefaultDateTimePickerControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultDateTimePickerControlOptionsPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnAnalysisDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisDefaultDateTimePickerControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisListControlSearchOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ListControlSearchOptionsProperty"')}function convertCfnAnalysisListControlSearchOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisListControlSearchOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisListControlSearchOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisListControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnAnalysisSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("searchOptions",CfnAnalysisListControlSearchOptionsPropertyValidator)(properties.searchOptions)),errors.collect(cdk().propertyValidator("selectAllOptions",CfnAnalysisListControlSelectAllOptionsPropertyValidator)(properties.selectAllOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnAnalysisLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "ListControlDisplayOptionsProperty"')}function convertCfnAnalysisListControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisListControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnAnalysisSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),SearchOptions:convertCfnAnalysisListControlSearchOptionsPropertyToCloudFormation(properties.searchOptions),SelectAllOptions:convertCfnAnalysisListControlSelectAllOptionsPropertyToCloudFormation(properties.selectAllOptions),TitleOptions:convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnAnalysisListControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnAnalysisSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("searchOptions","SearchOptions",properties.SearchOptions!=null?CfnAnalysisListControlSearchOptionsPropertyFromCloudFormation(properties.SearchOptions):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?CfnAnalysisListControlSelectAllOptionsPropertyFromCloudFormation(properties.SelectAllOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultFilterListControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisListControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("selectableValues",CfnAnalysisFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultFilterListControlOptionsProperty"')}function convertCfnAnalysisDefaultFilterListControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultFilterListControlOptionsPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnAnalysisListControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),SelectableValues:convertCfnAnalysisFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisDefaultFilterListControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisListControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnAnalysisFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultFilterControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultDateTimePickerOptions",CfnAnalysisDefaultDateTimePickerControlOptionsPropertyValidator)(properties.defaultDateTimePickerOptions)),errors.collect(cdk().propertyValidator("defaultDropdownOptions",CfnAnalysisDefaultFilterDropDownControlOptionsPropertyValidator)(properties.defaultDropdownOptions)),errors.collect(cdk().propertyValidator("defaultListOptions",CfnAnalysisDefaultFilterListControlOptionsPropertyValidator)(properties.defaultListOptions)),errors.collect(cdk().propertyValidator("defaultRelativeDateTimeOptions",CfnAnalysisDefaultRelativeDateTimeControlOptionsPropertyValidator)(properties.defaultRelativeDateTimeOptions)),errors.collect(cdk().propertyValidator("defaultSliderOptions",CfnAnalysisDefaultSliderControlOptionsPropertyValidator)(properties.defaultSliderOptions)),errors.collect(cdk().propertyValidator("defaultTextAreaOptions",CfnAnalysisDefaultTextAreaControlOptionsPropertyValidator)(properties.defaultTextAreaOptions)),errors.collect(cdk().propertyValidator("defaultTextFieldOptions",CfnAnalysisDefaultTextFieldControlOptionsPropertyValidator)(properties.defaultTextFieldOptions)),errors.wrap('supplied properties not correct for "DefaultFilterControlOptionsProperty"')}function convertCfnAnalysisDefaultFilterControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultFilterControlOptionsPropertyValidator(properties).assertSuccess(),{DefaultDateTimePickerOptions:convertCfnAnalysisDefaultDateTimePickerControlOptionsPropertyToCloudFormation(properties.defaultDateTimePickerOptions),DefaultDropdownOptions:convertCfnAnalysisDefaultFilterDropDownControlOptionsPropertyToCloudFormation(properties.defaultDropdownOptions),DefaultListOptions:convertCfnAnalysisDefaultFilterListControlOptionsPropertyToCloudFormation(properties.defaultListOptions),DefaultRelativeDateTimeOptions:convertCfnAnalysisDefaultRelativeDateTimeControlOptionsPropertyToCloudFormation(properties.defaultRelativeDateTimeOptions),DefaultSliderOptions:convertCfnAnalysisDefaultSliderControlOptionsPropertyToCloudFormation(properties.defaultSliderOptions),DefaultTextAreaOptions:convertCfnAnalysisDefaultTextAreaControlOptionsPropertyToCloudFormation(properties.defaultTextAreaOptions),DefaultTextFieldOptions:convertCfnAnalysisDefaultTextFieldControlOptionsPropertyToCloudFormation(properties.defaultTextFieldOptions)}):properties}function CfnAnalysisDefaultFilterControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultDateTimePickerOptions","DefaultDateTimePickerOptions",properties.DefaultDateTimePickerOptions!=null?CfnAnalysisDefaultDateTimePickerControlOptionsPropertyFromCloudFormation(properties.DefaultDateTimePickerOptions):void 0),ret.addPropertyResult("defaultDropdownOptions","DefaultDropdownOptions",properties.DefaultDropdownOptions!=null?CfnAnalysisDefaultFilterDropDownControlOptionsPropertyFromCloudFormation(properties.DefaultDropdownOptions):void 0),ret.addPropertyResult("defaultListOptions","DefaultListOptions",properties.DefaultListOptions!=null?CfnAnalysisDefaultFilterListControlOptionsPropertyFromCloudFormation(properties.DefaultListOptions):void 0),ret.addPropertyResult("defaultRelativeDateTimeOptions","DefaultRelativeDateTimeOptions",properties.DefaultRelativeDateTimeOptions!=null?CfnAnalysisDefaultRelativeDateTimeControlOptionsPropertyFromCloudFormation(properties.DefaultRelativeDateTimeOptions):void 0),ret.addPropertyResult("defaultSliderOptions","DefaultSliderOptions",properties.DefaultSliderOptions!=null?CfnAnalysisDefaultSliderControlOptionsPropertyFromCloudFormation(properties.DefaultSliderOptions):void 0),ret.addPropertyResult("defaultTextAreaOptions","DefaultTextAreaOptions",properties.DefaultTextAreaOptions!=null?CfnAnalysisDefaultTextAreaControlOptionsPropertyFromCloudFormation(properties.DefaultTextAreaOptions):void 0),ret.addPropertyResult("defaultTextFieldOptions","DefaultTextFieldOptions",properties.DefaultTextFieldOptions!=null?CfnAnalysisDefaultTextFieldControlOptionsPropertyFromCloudFormation(properties.DefaultTextFieldOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultFilterControlConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("controlOptions",cdk().requiredValidator)(properties.controlOptions)),errors.collect(cdk().propertyValidator("controlOptions",CfnAnalysisDefaultFilterControlOptionsPropertyValidator)(properties.controlOptions)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "DefaultFilterControlConfigurationProperty"')}function convertCfnAnalysisDefaultFilterControlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultFilterControlConfigurationPropertyValidator(properties).assertSuccess(),{ControlOptions:convertCfnAnalysisDefaultFilterControlOptionsPropertyToCloudFormation(properties.controlOptions),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnAnalysisDefaultFilterControlConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("controlOptions","ControlOptions",properties.ControlOptions!=null?CfnAnalysisDefaultFilterControlOptionsPropertyFromCloudFormation(properties.ControlOptions):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericEqualityFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnAnalysisAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnAnalysisDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "NumericEqualityFilterProperty"')}function convertCfnAnalysisNumericEqualityFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericEqualityFilterPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnAnalysisAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnAnalysisDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnAnalysisNumericEqualityFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnAnalysisAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnAnalysisDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericRangeFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameter",cdk().validateString)(properties.parameter)),errors.collect(cdk().propertyValidator("staticValue",cdk().validateNumber)(properties.staticValue)),errors.wrap('supplied properties not correct for "NumericRangeFilterValueProperty"')}function convertCfnAnalysisNumericRangeFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericRangeFilterValuePropertyValidator(properties).assertSuccess(),{Parameter:cdk().stringToCloudFormation(properties.parameter),StaticValue:cdk().numberToCloudFormation(properties.staticValue)}):properties}function CfnAnalysisNumericRangeFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameter","Parameter",properties.Parameter!=null?cfn_parse().FromCloudFormation.getString(properties.Parameter):void 0),ret.addPropertyResult("staticValue","StaticValue",properties.StaticValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.StaticValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericRangeFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnAnalysisAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnAnalysisDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("includeMaximum",cdk().validateBoolean)(properties.includeMaximum)),errors.collect(cdk().propertyValidator("includeMinimum",cdk().validateBoolean)(properties.includeMinimum)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("rangeMaximum",CfnAnalysisNumericRangeFilterValuePropertyValidator)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMinimum",CfnAnalysisNumericRangeFilterValuePropertyValidator)(properties.rangeMinimum)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "NumericRangeFilterProperty"')}function convertCfnAnalysisNumericRangeFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericRangeFilterPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnAnalysisAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnAnalysisDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),IncludeMaximum:cdk().booleanToCloudFormation(properties.includeMaximum),IncludeMinimum:cdk().booleanToCloudFormation(properties.includeMinimum),NullOption:cdk().stringToCloudFormation(properties.nullOption),RangeMaximum:convertCfnAnalysisNumericRangeFilterValuePropertyToCloudFormation(properties.rangeMaximum),RangeMinimum:convertCfnAnalysisNumericRangeFilterValuePropertyToCloudFormation(properties.rangeMinimum),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnAnalysisNumericRangeFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnAnalysisAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnAnalysisDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("includeMaximum","IncludeMaximum",properties.IncludeMaximum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMaximum):void 0),ret.addPropertyResult("includeMinimum","IncludeMinimum",properties.IncludeMinimum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMinimum):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("rangeMaximum","RangeMaximum",properties.RangeMaximum!=null?CfnAnalysisNumericRangeFilterValuePropertyFromCloudFormation(properties.RangeMaximum):void 0),ret.addPropertyResult("rangeMinimum","RangeMinimum",properties.RangeMinimum!=null?CfnAnalysisNumericRangeFilterValuePropertyFromCloudFormation(properties.RangeMinimum):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRollingDateConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "RollingDateConfigurationProperty"')}function convertCfnAnalysisRollingDateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRollingDateConfigurationPropertyValidator(properties).assertSuccess(),{DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnAnalysisRollingDateConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTimeRangeFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameter",cdk().validateString)(properties.parameter)),errors.collect(cdk().propertyValidator("rollingDate",CfnAnalysisRollingDateConfigurationPropertyValidator)(properties.rollingDate)),errors.collect(cdk().propertyValidator("staticValue",cdk().validateString)(properties.staticValue)),errors.wrap('supplied properties not correct for "TimeRangeFilterValueProperty"')}function convertCfnAnalysisTimeRangeFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTimeRangeFilterValuePropertyValidator(properties).assertSuccess(),{Parameter:cdk().stringToCloudFormation(properties.parameter),RollingDate:convertCfnAnalysisRollingDateConfigurationPropertyToCloudFormation(properties.rollingDate),StaticValue:cdk().stringToCloudFormation(properties.staticValue)}):properties}function CfnAnalysisTimeRangeFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameter","Parameter",properties.Parameter!=null?cfn_parse().FromCloudFormation.getString(properties.Parameter):void 0),ret.addPropertyResult("rollingDate","RollingDate",properties.RollingDate!=null?CfnAnalysisRollingDateConfigurationPropertyFromCloudFormation(properties.RollingDate):void 0),ret.addPropertyResult("staticValue","StaticValue",properties.StaticValue!=null?cfn_parse().FromCloudFormation.getString(properties.StaticValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisExcludePeriodConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("amount",cdk().requiredValidator)(properties.amount)),errors.collect(cdk().propertyValidator("amount",cdk().validateNumber)(properties.amount)),errors.collect(cdk().propertyValidator("granularity",cdk().requiredValidator)(properties.granularity)),errors.collect(cdk().propertyValidator("granularity",cdk().validateString)(properties.granularity)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "ExcludePeriodConfigurationProperty"')}function convertCfnAnalysisExcludePeriodConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisExcludePeriodConfigurationPropertyValidator(properties).assertSuccess(),{Amount:cdk().numberToCloudFormation(properties.amount),Granularity:cdk().stringToCloudFormation(properties.granularity),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnAnalysisExcludePeriodConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("amount","Amount",properties.Amount!=null?cfn_parse().FromCloudFormation.getNumber(properties.Amount):void 0),ret.addPropertyResult("granularity","Granularity",properties.Granularity!=null?cfn_parse().FromCloudFormation.getString(properties.Granularity):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTimeRangeFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnAnalysisDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("excludePeriodConfiguration",CfnAnalysisExcludePeriodConfigurationPropertyValidator)(properties.excludePeriodConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("includeMaximum",cdk().validateBoolean)(properties.includeMaximum)),errors.collect(cdk().propertyValidator("includeMinimum",cdk().validateBoolean)(properties.includeMinimum)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("rangeMaximumValue",CfnAnalysisTimeRangeFilterValuePropertyValidator)(properties.rangeMaximumValue)),errors.collect(cdk().propertyValidator("rangeMinimumValue",CfnAnalysisTimeRangeFilterValuePropertyValidator)(properties.rangeMinimumValue)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TimeRangeFilterProperty"')}function convertCfnAnalysisTimeRangeFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTimeRangeFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnAnalysisDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),ExcludePeriodConfiguration:convertCfnAnalysisExcludePeriodConfigurationPropertyToCloudFormation(properties.excludePeriodConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),IncludeMaximum:cdk().booleanToCloudFormation(properties.includeMaximum),IncludeMinimum:cdk().booleanToCloudFormation(properties.includeMinimum),NullOption:cdk().stringToCloudFormation(properties.nullOption),RangeMaximumValue:convertCfnAnalysisTimeRangeFilterValuePropertyToCloudFormation(properties.rangeMaximumValue),RangeMinimumValue:convertCfnAnalysisTimeRangeFilterValuePropertyToCloudFormation(properties.rangeMinimumValue),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnAnalysisTimeRangeFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnAnalysisDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("excludePeriodConfiguration","ExcludePeriodConfiguration",properties.ExcludePeriodConfiguration!=null?CfnAnalysisExcludePeriodConfigurationPropertyFromCloudFormation(properties.ExcludePeriodConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("includeMaximum","IncludeMaximum",properties.IncludeMaximum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMaximum):void 0),ret.addPropertyResult("includeMinimum","IncludeMinimum",properties.IncludeMinimum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMinimum):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("rangeMaximumValue","RangeMaximumValue",properties.RangeMaximumValue!=null?CfnAnalysisTimeRangeFilterValuePropertyFromCloudFormation(properties.RangeMaximumValue):void 0),ret.addPropertyResult("rangeMinimumValue","RangeMinimumValue",properties.RangeMinimumValue!=null?CfnAnalysisTimeRangeFilterValuePropertyFromCloudFormation(properties.RangeMinimumValue):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAnchorDateConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("anchorOption",cdk().validateString)(properties.anchorOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.wrap('supplied properties not correct for "AnchorDateConfigurationProperty"')}function convertCfnAnalysisAnchorDateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAnchorDateConfigurationPropertyValidator(properties).assertSuccess(),{AnchorOption:cdk().stringToCloudFormation(properties.anchorOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName)}):properties}function CfnAnalysisAnchorDateConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("anchorOption","AnchorOption",properties.AnchorOption!=null?cfn_parse().FromCloudFormation.getString(properties.AnchorOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRelativeDatesFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("anchorDateConfiguration",cdk().requiredValidator)(properties.anchorDateConfiguration)),errors.collect(cdk().propertyValidator("anchorDateConfiguration",CfnAnalysisAnchorDateConfigurationPropertyValidator)(properties.anchorDateConfiguration)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnAnalysisDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("excludePeriodConfiguration",CfnAnalysisExcludePeriodConfigurationPropertyValidator)(properties.excludePeriodConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("minimumGranularity",cdk().validateString)(properties.minimumGranularity)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("relativeDateType",cdk().requiredValidator)(properties.relativeDateType)),errors.collect(cdk().propertyValidator("relativeDateType",cdk().validateString)(properties.relativeDateType)),errors.collect(cdk().propertyValidator("relativeDateValue",cdk().validateNumber)(properties.relativeDateValue)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().requiredValidator)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "RelativeDatesFilterProperty"')}function convertCfnAnalysisRelativeDatesFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRelativeDatesFilterPropertyValidator(properties).assertSuccess(),{AnchorDateConfiguration:convertCfnAnalysisAnchorDateConfigurationPropertyToCloudFormation(properties.anchorDateConfiguration),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnAnalysisDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),ExcludePeriodConfiguration:convertCfnAnalysisExcludePeriodConfigurationPropertyToCloudFormation(properties.excludePeriodConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),MinimumGranularity:cdk().stringToCloudFormation(properties.minimumGranularity),NullOption:cdk().stringToCloudFormation(properties.nullOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName),RelativeDateType:cdk().stringToCloudFormation(properties.relativeDateType),RelativeDateValue:cdk().numberToCloudFormation(properties.relativeDateValue),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnAnalysisRelativeDatesFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("anchorDateConfiguration","AnchorDateConfiguration",properties.AnchorDateConfiguration!=null?CfnAnalysisAnchorDateConfigurationPropertyFromCloudFormation(properties.AnchorDateConfiguration):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnAnalysisDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("excludePeriodConfiguration","ExcludePeriodConfiguration",properties.ExcludePeriodConfiguration!=null?CfnAnalysisExcludePeriodConfigurationPropertyFromCloudFormation(properties.ExcludePeriodConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("minimumGranularity","MinimumGranularity",properties.MinimumGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.MinimumGranularity):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("relativeDateType","RelativeDateType",properties.RelativeDateType!=null?cfn_parse().FromCloudFormation.getString(properties.RelativeDateType):void 0),ret.addPropertyResult("relativeDateValue","RelativeDateValue",properties.RelativeDateValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.RelativeDateValue):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAggregationSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnAnalysisAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("sortDirection",cdk().requiredValidator)(properties.sortDirection)),errors.collect(cdk().propertyValidator("sortDirection",cdk().validateString)(properties.sortDirection)),errors.wrap('supplied properties not correct for "AggregationSortConfigurationProperty"')}function convertCfnAnalysisAggregationSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAggregationSortConfigurationPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnAnalysisAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),SortDirection:cdk().stringToCloudFormation(properties.sortDirection)}):properties}function CfnAnalysisAggregationSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnAnalysisAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("sortDirection","SortDirection",properties.SortDirection!=null?cfn_parse().FromCloudFormation.getString(properties.SortDirection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTopBottomFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationSortConfigurations",cdk().requiredValidator)(properties.aggregationSortConfigurations)),errors.collect(cdk().propertyValidator("aggregationSortConfigurations",cdk().listValidator(CfnAnalysisAggregationSortConfigurationPropertyValidator))(properties.aggregationSortConfigurations)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnAnalysisDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("limit",cdk().validateNumber)(properties.limit)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TopBottomFilterProperty"')}function convertCfnAnalysisTopBottomFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTopBottomFilterPropertyValidator(properties).assertSuccess(),{AggregationSortConfigurations:cdk().listMapper(convertCfnAnalysisAggregationSortConfigurationPropertyToCloudFormation)(properties.aggregationSortConfigurations),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnAnalysisDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),Limit:cdk().numberToCloudFormation(properties.limit),ParameterName:cdk().stringToCloudFormation(properties.parameterName),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnAnalysisTopBottomFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationSortConfigurations","AggregationSortConfigurations",properties.AggregationSortConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisAggregationSortConfigurationPropertyFromCloudFormation)(properties.AggregationSortConfigurations):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnAnalysisDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("limit","Limit",properties.Limit!=null?cfn_parse().FromCloudFormation.getNumber(properties.Limit):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTimeEqualityFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnAnalysisDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("rollingDate",CfnAnalysisRollingDateConfigurationPropertyValidator)(properties.rollingDate)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TimeEqualityFilterProperty"')}function convertCfnAnalysisTimeEqualityFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTimeEqualityFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnAnalysisDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),ParameterName:cdk().stringToCloudFormation(properties.parameterName),RollingDate:convertCfnAnalysisRollingDateConfigurationPropertyToCloudFormation(properties.rollingDate),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnAnalysisTimeEqualityFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnAnalysisDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("rollingDate","RollingDate",properties.RollingDate!=null?CfnAnalysisRollingDateConfigurationPropertyFromCloudFormation(properties.RollingDate):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomFilterListConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValues",cdk().listValidator(cdk().validateString))(properties.categoryValues)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "CustomFilterListConfigurationProperty"')}function convertCfnAnalysisCustomFilterListConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomFilterListConfigurationPropertyValidator(properties).assertSuccess(),{CategoryValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.categoryValues),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnAnalysisCustomFilterListConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValues","CategoryValues",properties.CategoryValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CategoryValues):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomFilterConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValue",cdk().validateString)(properties.categoryValue)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "CustomFilterConfigurationProperty"')}function convertCfnAnalysisCustomFilterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomFilterConfigurationPropertyValidator(properties).assertSuccess(),{CategoryValue:cdk().stringToCloudFormation(properties.categoryValue),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnAnalysisCustomFilterConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValue","CategoryValue",properties.CategoryValue!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryValue):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterListConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValues",cdk().listValidator(cdk().validateString))(properties.categoryValues)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "FilterListConfigurationProperty"')}function convertCfnAnalysisFilterListConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterListConfigurationPropertyValidator(properties).assertSuccess(),{CategoryValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.categoryValues),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnAnalysisFilterListConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValues","CategoryValues",properties.CategoryValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CategoryValues):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCategoryFilterConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customFilterConfiguration",CfnAnalysisCustomFilterConfigurationPropertyValidator)(properties.customFilterConfiguration)),errors.collect(cdk().propertyValidator("customFilterListConfiguration",CfnAnalysisCustomFilterListConfigurationPropertyValidator)(properties.customFilterListConfiguration)),errors.collect(cdk().propertyValidator("filterListConfiguration",CfnAnalysisFilterListConfigurationPropertyValidator)(properties.filterListConfiguration)),errors.wrap('supplied properties not correct for "CategoryFilterConfigurationProperty"')}function convertCfnAnalysisCategoryFilterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCategoryFilterConfigurationPropertyValidator(properties).assertSuccess(),{CustomFilterConfiguration:convertCfnAnalysisCustomFilterConfigurationPropertyToCloudFormation(properties.customFilterConfiguration),CustomFilterListConfiguration:convertCfnAnalysisCustomFilterListConfigurationPropertyToCloudFormation(properties.customFilterListConfiguration),FilterListConfiguration:convertCfnAnalysisFilterListConfigurationPropertyToCloudFormation(properties.filterListConfiguration)}):properties}function CfnAnalysisCategoryFilterConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customFilterConfiguration","CustomFilterConfiguration",properties.CustomFilterConfiguration!=null?CfnAnalysisCustomFilterConfigurationPropertyFromCloudFormation(properties.CustomFilterConfiguration):void 0),ret.addPropertyResult("customFilterListConfiguration","CustomFilterListConfiguration",properties.CustomFilterListConfiguration!=null?CfnAnalysisCustomFilterListConfigurationPropertyFromCloudFormation(properties.CustomFilterListConfiguration):void 0),ret.addPropertyResult("filterListConfiguration","FilterListConfiguration",properties.FilterListConfiguration!=null?CfnAnalysisFilterListConfigurationPropertyFromCloudFormation(properties.FilterListConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCategoryFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnAnalysisCategoryFilterConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnAnalysisDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.wrap('supplied properties not correct for "CategoryFilterProperty"')}function convertCfnAnalysisCategoryFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCategoryFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),Configuration:convertCfnAnalysisCategoryFilterConfigurationPropertyToCloudFormation(properties.configuration),DefaultFilterControlConfiguration:convertCfnAnalysisDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId)}):properties}function CfnAnalysisCategoryFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnAnalysisCategoryFilterConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnAnalysisDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCategoryInnerFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnAnalysisCategoryFilterConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnAnalysisDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.wrap('supplied properties not correct for "CategoryInnerFilterProperty"')}function convertCfnAnalysisCategoryInnerFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCategoryInnerFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),Configuration:convertCfnAnalysisCategoryFilterConfigurationPropertyToCloudFormation(properties.configuration),DefaultFilterControlConfiguration:convertCfnAnalysisDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration)}):properties}function CfnAnalysisCategoryInnerFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnAnalysisCategoryFilterConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnAnalysisDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisInnerFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryInnerFilter",CfnAnalysisCategoryInnerFilterPropertyValidator)(properties.categoryInnerFilter)),errors.wrap('supplied properties not correct for "InnerFilterProperty"')}function convertCfnAnalysisInnerFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisInnerFilterPropertyValidator(properties).assertSuccess(),{CategoryInnerFilter:convertCfnAnalysisCategoryInnerFilterPropertyToCloudFormation(properties.categoryInnerFilter)}):properties}function CfnAnalysisInnerFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryInnerFilter","CategoryInnerFilter",properties.CategoryInnerFilter!=null?CfnAnalysisCategoryInnerFilterPropertyFromCloudFormation(properties.CategoryInnerFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNestedFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("includeInnerSet",cdk().requiredValidator)(properties.includeInnerSet)),errors.collect(cdk().propertyValidator("includeInnerSet",cdk().validateBoolean)(properties.includeInnerSet)),errors.collect(cdk().propertyValidator("innerFilter",cdk().requiredValidator)(properties.innerFilter)),errors.collect(cdk().propertyValidator("innerFilter",CfnAnalysisInnerFilterPropertyValidator)(properties.innerFilter)),errors.wrap('supplied properties not correct for "NestedFilterProperty"')}function convertCfnAnalysisNestedFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNestedFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),FilterId:cdk().stringToCloudFormation(properties.filterId),IncludeInnerSet:cdk().booleanToCloudFormation(properties.includeInnerSet),InnerFilter:convertCfnAnalysisInnerFilterPropertyToCloudFormation(properties.innerFilter)}):properties}function CfnAnalysisNestedFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("includeInnerSet","IncludeInnerSet",properties.IncludeInnerSet!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeInnerSet):void 0),ret.addPropertyResult("innerFilter","InnerFilter",properties.InnerFilter!=null?CfnAnalysisInnerFilterPropertyFromCloudFormation(properties.InnerFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryFilter",CfnAnalysisCategoryFilterPropertyValidator)(properties.categoryFilter)),errors.collect(cdk().propertyValidator("nestedFilter",CfnAnalysisNestedFilterPropertyValidator)(properties.nestedFilter)),errors.collect(cdk().propertyValidator("numericEqualityFilter",CfnAnalysisNumericEqualityFilterPropertyValidator)(properties.numericEqualityFilter)),errors.collect(cdk().propertyValidator("numericRangeFilter",CfnAnalysisNumericRangeFilterPropertyValidator)(properties.numericRangeFilter)),errors.collect(cdk().propertyValidator("relativeDatesFilter",CfnAnalysisRelativeDatesFilterPropertyValidator)(properties.relativeDatesFilter)),errors.collect(cdk().propertyValidator("timeEqualityFilter",CfnAnalysisTimeEqualityFilterPropertyValidator)(properties.timeEqualityFilter)),errors.collect(cdk().propertyValidator("timeRangeFilter",CfnAnalysisTimeRangeFilterPropertyValidator)(properties.timeRangeFilter)),errors.collect(cdk().propertyValidator("topBottomFilter",CfnAnalysisTopBottomFilterPropertyValidator)(properties.topBottomFilter)),errors.wrap('supplied properties not correct for "FilterProperty"')}function convertCfnAnalysisFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterPropertyValidator(properties).assertSuccess(),{CategoryFilter:convertCfnAnalysisCategoryFilterPropertyToCloudFormation(properties.categoryFilter),NestedFilter:convertCfnAnalysisNestedFilterPropertyToCloudFormation(properties.nestedFilter),NumericEqualityFilter:convertCfnAnalysisNumericEqualityFilterPropertyToCloudFormation(properties.numericEqualityFilter),NumericRangeFilter:convertCfnAnalysisNumericRangeFilterPropertyToCloudFormation(properties.numericRangeFilter),RelativeDatesFilter:convertCfnAnalysisRelativeDatesFilterPropertyToCloudFormation(properties.relativeDatesFilter),TimeEqualityFilter:convertCfnAnalysisTimeEqualityFilterPropertyToCloudFormation(properties.timeEqualityFilter),TimeRangeFilter:convertCfnAnalysisTimeRangeFilterPropertyToCloudFormation(properties.timeRangeFilter),TopBottomFilter:convertCfnAnalysisTopBottomFilterPropertyToCloudFormation(properties.topBottomFilter)}):properties}function CfnAnalysisFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryFilter","CategoryFilter",properties.CategoryFilter!=null?CfnAnalysisCategoryFilterPropertyFromCloudFormation(properties.CategoryFilter):void 0),ret.addPropertyResult("nestedFilter","NestedFilter",properties.NestedFilter!=null?CfnAnalysisNestedFilterPropertyFromCloudFormation(properties.NestedFilter):void 0),ret.addPropertyResult("numericEqualityFilter","NumericEqualityFilter",properties.NumericEqualityFilter!=null?CfnAnalysisNumericEqualityFilterPropertyFromCloudFormation(properties.NumericEqualityFilter):void 0),ret.addPropertyResult("numericRangeFilter","NumericRangeFilter",properties.NumericRangeFilter!=null?CfnAnalysisNumericRangeFilterPropertyFromCloudFormation(properties.NumericRangeFilter):void 0),ret.addPropertyResult("relativeDatesFilter","RelativeDatesFilter",properties.RelativeDatesFilter!=null?CfnAnalysisRelativeDatesFilterPropertyFromCloudFormation(properties.RelativeDatesFilter):void 0),ret.addPropertyResult("timeEqualityFilter","TimeEqualityFilter",properties.TimeEqualityFilter!=null?CfnAnalysisTimeEqualityFilterPropertyFromCloudFormation(properties.TimeEqualityFilter):void 0),ret.addPropertyResult("timeRangeFilter","TimeRangeFilter",properties.TimeRangeFilter!=null?CfnAnalysisTimeRangeFilterPropertyFromCloudFormation(properties.TimeRangeFilter):void 0),ret.addPropertyResult("topBottomFilter","TopBottomFilter",properties.TopBottomFilter!=null?CfnAnalysisTopBottomFilterPropertyFromCloudFormation(properties.TopBottomFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetVisualScopingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scope",cdk().requiredValidator)(properties.scope)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("sheetId",cdk().requiredValidator)(properties.sheetId)),errors.collect(cdk().propertyValidator("sheetId",cdk().validateString)(properties.sheetId)),errors.collect(cdk().propertyValidator("visualIds",cdk().listValidator(cdk().validateString))(properties.visualIds)),errors.wrap('supplied properties not correct for "SheetVisualScopingConfigurationProperty"')}function convertCfnAnalysisSheetVisualScopingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetVisualScopingConfigurationPropertyValidator(properties).assertSuccess(),{Scope:cdk().stringToCloudFormation(properties.scope),SheetId:cdk().stringToCloudFormation(properties.sheetId),VisualIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.visualIds)}):properties}function CfnAnalysisSheetVisualScopingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("sheetId","SheetId",properties.SheetId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetId):void 0),ret.addPropertyResult("visualIds","VisualIds",properties.VisualIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VisualIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSelectedSheetsFilterScopeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sheetVisualScopingConfigurations",cdk().listValidator(CfnAnalysisSheetVisualScopingConfigurationPropertyValidator))(properties.sheetVisualScopingConfigurations)),errors.wrap('supplied properties not correct for "SelectedSheetsFilterScopeConfigurationProperty"')}function convertCfnAnalysisSelectedSheetsFilterScopeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSelectedSheetsFilterScopeConfigurationPropertyValidator(properties).assertSuccess(),{SheetVisualScopingConfigurations:cdk().listMapper(convertCfnAnalysisSheetVisualScopingConfigurationPropertyToCloudFormation)(properties.sheetVisualScopingConfigurations)}):properties}function CfnAnalysisSelectedSheetsFilterScopeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sheetVisualScopingConfigurations","SheetVisualScopingConfigurations",properties.SheetVisualScopingConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisSheetVisualScopingConfigurationPropertyFromCloudFormation)(properties.SheetVisualScopingConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterScopeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allSheets",cdk().validateObject)(properties.allSheets)),errors.collect(cdk().propertyValidator("selectedSheets",CfnAnalysisSelectedSheetsFilterScopeConfigurationPropertyValidator)(properties.selectedSheets)),errors.wrap('supplied properties not correct for "FilterScopeConfigurationProperty"')}function convertCfnAnalysisFilterScopeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterScopeConfigurationPropertyValidator(properties).assertSuccess(),{AllSheets:cdk().objectToCloudFormation(properties.allSheets),SelectedSheets:convertCfnAnalysisSelectedSheetsFilterScopeConfigurationPropertyToCloudFormation(properties.selectedSheets)}):properties}function CfnAnalysisFilterScopeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allSheets","AllSheets",properties.AllSheets!=null?cfn_parse().FromCloudFormation.getAny(properties.AllSheets):void 0),ret.addPropertyResult("selectedSheets","SelectedSheets",properties.SelectedSheets!=null?CfnAnalysisSelectedSheetsFilterScopeConfigurationPropertyFromCloudFormation(properties.SelectedSheets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterGroupPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossDataset",cdk().requiredValidator)(properties.crossDataset)),errors.collect(cdk().propertyValidator("crossDataset",cdk().validateString)(properties.crossDataset)),errors.collect(cdk().propertyValidator("filterGroupId",cdk().requiredValidator)(properties.filterGroupId)),errors.collect(cdk().propertyValidator("filterGroupId",cdk().validateString)(properties.filterGroupId)),errors.collect(cdk().propertyValidator("filters",cdk().requiredValidator)(properties.filters)),errors.collect(cdk().propertyValidator("filters",cdk().listValidator(CfnAnalysisFilterPropertyValidator))(properties.filters)),errors.collect(cdk().propertyValidator("scopeConfiguration",cdk().requiredValidator)(properties.scopeConfiguration)),errors.collect(cdk().propertyValidator("scopeConfiguration",CfnAnalysisFilterScopeConfigurationPropertyValidator)(properties.scopeConfiguration)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "FilterGroupProperty"')}function convertCfnAnalysisFilterGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterGroupPropertyValidator(properties).assertSuccess(),{CrossDataset:cdk().stringToCloudFormation(properties.crossDataset),FilterGroupId:cdk().stringToCloudFormation(properties.filterGroupId),Filters:cdk().listMapper(convertCfnAnalysisFilterPropertyToCloudFormation)(properties.filters),ScopeConfiguration:convertCfnAnalysisFilterScopeConfigurationPropertyToCloudFormation(properties.scopeConfiguration),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnAnalysisFilterGroupPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossDataset","CrossDataset",properties.CrossDataset!=null?cfn_parse().FromCloudFormation.getString(properties.CrossDataset):void 0),ret.addPropertyResult("filterGroupId","FilterGroupId",properties.FilterGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterGroupId):void 0),ret.addPropertyResult("filters","Filters",properties.Filters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFilterPropertyFromCloudFormation)(properties.Filters):void 0),ret.addPropertyResult("scopeConfiguration","ScopeConfiguration",properties.ScopeConfiguration!=null?CfnAnalysisFilterScopeConfigurationPropertyFromCloudFormation(properties.ScopeConfiguration):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCalculatedFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "CalculatedFieldProperty"')}function convertCfnAnalysisCalculatedFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCalculatedFieldPropertyValidator(properties).assertSuccess(),{DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Expression:cdk().stringToCloudFormation(properties.expression),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnAnalysisCalculatedFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataSetIdentifierDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetArn",cdk().requiredValidator)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("dataSetArn",cdk().validateString)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("identifier",cdk().requiredValidator)(properties.identifier)),errors.collect(cdk().propertyValidator("identifier",cdk().validateString)(properties.identifier)),errors.wrap('supplied properties not correct for "DataSetIdentifierDeclarationProperty"')}function convertCfnAnalysisDataSetIdentifierDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataSetIdentifierDeclarationPropertyValidator(properties).assertSuccess(),{DataSetArn:cdk().stringToCloudFormation(properties.dataSetArn),Identifier:cdk().stringToCloudFormation(properties.identifier)}):properties}function CfnAnalysisDataSetIdentifierDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetArn","DataSetArn",properties.DataSetArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetArn):void 0),ret.addPropertyResult("identifier","Identifier",properties.Identifier!=null?cfn_parse().FromCloudFormation.getString(properties.Identifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNegativeValueConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayMode",cdk().requiredValidator)(properties.displayMode)),errors.collect(cdk().propertyValidator("displayMode",cdk().validateString)(properties.displayMode)),errors.wrap('supplied properties not correct for "NegativeValueConfigurationProperty"')}function convertCfnAnalysisNegativeValueConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNegativeValueConfigurationPropertyValidator(properties).assertSuccess(),{DisplayMode:cdk().stringToCloudFormation(properties.displayMode)}):properties}function CfnAnalysisNegativeValueConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayMode","DisplayMode",properties.DisplayMode!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDecimalPlacesConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlaces",cdk().requiredValidator)(properties.decimalPlaces)),errors.collect(cdk().propertyValidator("decimalPlaces",cdk().validateNumber)(properties.decimalPlaces)),errors.wrap('supplied properties not correct for "DecimalPlacesConfigurationProperty"')}function convertCfnAnalysisDecimalPlacesConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDecimalPlacesConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlaces:cdk().numberToCloudFormation(properties.decimalPlaces)}):properties}function CfnAnalysisDecimalPlacesConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlaces","DecimalPlaces",properties.DecimalPlaces!=null?cfn_parse().FromCloudFormation.getNumber(properties.DecimalPlaces):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNullValueFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("nullString",cdk().requiredValidator)(properties.nullString)),errors.collect(cdk().propertyValidator("nullString",cdk().validateString)(properties.nullString)),errors.wrap('supplied properties not correct for "NullValueFormatConfigurationProperty"')}function convertCfnAnalysisNullValueFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNullValueFormatConfigurationPropertyValidator(properties).assertSuccess(),{NullString:cdk().stringToCloudFormation(properties.nullString)}):properties}function CfnAnalysisNullValueFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("nullString","NullString",properties.NullString!=null?cfn_parse().FromCloudFormation.getString(properties.NullString):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisThousandSeparatorOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupingStyle",cdk().validateString)(properties.groupingStyle)),errors.collect(cdk().propertyValidator("symbol",cdk().validateString)(properties.symbol)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ThousandSeparatorOptionsProperty"')}function convertCfnAnalysisThousandSeparatorOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisThousandSeparatorOptionsPropertyValidator(properties).assertSuccess(),{GroupingStyle:cdk().stringToCloudFormation(properties.groupingStyle),Symbol:cdk().stringToCloudFormation(properties.symbol),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisThousandSeparatorOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupingStyle","GroupingStyle",properties.GroupingStyle!=null?cfn_parse().FromCloudFormation.getString(properties.GroupingStyle):void 0),ret.addPropertyResult("symbol","Symbol",properties.Symbol!=null?cfn_parse().FromCloudFormation.getString(properties.Symbol):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericSeparatorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalSeparator",cdk().validateString)(properties.decimalSeparator)),errors.collect(cdk().propertyValidator("thousandsSeparator",CfnAnalysisThousandSeparatorOptionsPropertyValidator)(properties.thousandsSeparator)),errors.wrap('supplied properties not correct for "NumericSeparatorConfigurationProperty"')}function convertCfnAnalysisNumericSeparatorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericSeparatorConfigurationPropertyValidator(properties).assertSuccess(),{DecimalSeparator:cdk().stringToCloudFormation(properties.decimalSeparator),ThousandsSeparator:convertCfnAnalysisThousandSeparatorOptionsPropertyToCloudFormation(properties.thousandsSeparator)}):properties}function CfnAnalysisNumericSeparatorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalSeparator","DecimalSeparator",properties.DecimalSeparator!=null?cfn_parse().FromCloudFormation.getString(properties.DecimalSeparator):void 0),ret.addPropertyResult("thousandsSeparator","ThousandsSeparator",properties.ThousandsSeparator!=null?CfnAnalysisThousandSeparatorOptionsPropertyFromCloudFormation(properties.ThousandsSeparator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumberDisplayFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlacesConfiguration",CfnAnalysisDecimalPlacesConfigurationPropertyValidator)(properties.decimalPlacesConfiguration)),errors.collect(cdk().propertyValidator("negativeValueConfiguration",CfnAnalysisNegativeValueConfigurationPropertyValidator)(properties.negativeValueConfiguration)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnAnalysisNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numberScale",cdk().validateString)(properties.numberScale)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("separatorConfiguration",CfnAnalysisNumericSeparatorConfigurationPropertyValidator)(properties.separatorConfiguration)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "NumberDisplayFormatConfigurationProperty"')}function convertCfnAnalysisNumberDisplayFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumberDisplayFormatConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlacesConfiguration:convertCfnAnalysisDecimalPlacesConfigurationPropertyToCloudFormation(properties.decimalPlacesConfiguration),NegativeValueConfiguration:convertCfnAnalysisNegativeValueConfigurationPropertyToCloudFormation(properties.negativeValueConfiguration),NullValueFormatConfiguration:convertCfnAnalysisNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumberScale:cdk().stringToCloudFormation(properties.numberScale),Prefix:cdk().stringToCloudFormation(properties.prefix),SeparatorConfiguration:convertCfnAnalysisNumericSeparatorConfigurationPropertyToCloudFormation(properties.separatorConfiguration),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnAnalysisNumberDisplayFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlacesConfiguration","DecimalPlacesConfiguration",properties.DecimalPlacesConfiguration!=null?CfnAnalysisDecimalPlacesConfigurationPropertyFromCloudFormation(properties.DecimalPlacesConfiguration):void 0),ret.addPropertyResult("negativeValueConfiguration","NegativeValueConfiguration",properties.NegativeValueConfiguration!=null?CfnAnalysisNegativeValueConfigurationPropertyFromCloudFormation(properties.NegativeValueConfiguration):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnAnalysisNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numberScale","NumberScale",properties.NumberScale!=null?cfn_parse().FromCloudFormation.getString(properties.NumberScale):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("separatorConfiguration","SeparatorConfiguration",properties.SeparatorConfiguration!=null?CfnAnalysisNumericSeparatorConfigurationPropertyFromCloudFormation(properties.SeparatorConfiguration):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCurrencyDisplayFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlacesConfiguration",CfnAnalysisDecimalPlacesConfigurationPropertyValidator)(properties.decimalPlacesConfiguration)),errors.collect(cdk().propertyValidator("negativeValueConfiguration",CfnAnalysisNegativeValueConfigurationPropertyValidator)(properties.negativeValueConfiguration)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnAnalysisNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numberScale",cdk().validateString)(properties.numberScale)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("separatorConfiguration",CfnAnalysisNumericSeparatorConfigurationPropertyValidator)(properties.separatorConfiguration)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.collect(cdk().propertyValidator("symbol",cdk().validateString)(properties.symbol)),errors.wrap('supplied properties not correct for "CurrencyDisplayFormatConfigurationProperty"')}function convertCfnAnalysisCurrencyDisplayFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCurrencyDisplayFormatConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlacesConfiguration:convertCfnAnalysisDecimalPlacesConfigurationPropertyToCloudFormation(properties.decimalPlacesConfiguration),NegativeValueConfiguration:convertCfnAnalysisNegativeValueConfigurationPropertyToCloudFormation(properties.negativeValueConfiguration),NullValueFormatConfiguration:convertCfnAnalysisNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumberScale:cdk().stringToCloudFormation(properties.numberScale),Prefix:cdk().stringToCloudFormation(properties.prefix),SeparatorConfiguration:convertCfnAnalysisNumericSeparatorConfigurationPropertyToCloudFormation(properties.separatorConfiguration),Suffix:cdk().stringToCloudFormation(properties.suffix),Symbol:cdk().stringToCloudFormation(properties.symbol)}):properties}function CfnAnalysisCurrencyDisplayFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlacesConfiguration","DecimalPlacesConfiguration",properties.DecimalPlacesConfiguration!=null?CfnAnalysisDecimalPlacesConfigurationPropertyFromCloudFormation(properties.DecimalPlacesConfiguration):void 0),ret.addPropertyResult("negativeValueConfiguration","NegativeValueConfiguration",properties.NegativeValueConfiguration!=null?CfnAnalysisNegativeValueConfigurationPropertyFromCloudFormation(properties.NegativeValueConfiguration):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnAnalysisNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numberScale","NumberScale",properties.NumberScale!=null?cfn_parse().FromCloudFormation.getString(properties.NumberScale):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("separatorConfiguration","SeparatorConfiguration",properties.SeparatorConfiguration!=null?CfnAnalysisNumericSeparatorConfigurationPropertyFromCloudFormation(properties.SeparatorConfiguration):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addPropertyResult("symbol","Symbol",properties.Symbol!=null?cfn_parse().FromCloudFormation.getString(properties.Symbol):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPercentageDisplayFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlacesConfiguration",CfnAnalysisDecimalPlacesConfigurationPropertyValidator)(properties.decimalPlacesConfiguration)),errors.collect(cdk().propertyValidator("negativeValueConfiguration",CfnAnalysisNegativeValueConfigurationPropertyValidator)(properties.negativeValueConfiguration)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnAnalysisNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("separatorConfiguration",CfnAnalysisNumericSeparatorConfigurationPropertyValidator)(properties.separatorConfiguration)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "PercentageDisplayFormatConfigurationProperty"')}function convertCfnAnalysisPercentageDisplayFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPercentageDisplayFormatConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlacesConfiguration:convertCfnAnalysisDecimalPlacesConfigurationPropertyToCloudFormation(properties.decimalPlacesConfiguration),NegativeValueConfiguration:convertCfnAnalysisNegativeValueConfigurationPropertyToCloudFormation(properties.negativeValueConfiguration),NullValueFormatConfiguration:convertCfnAnalysisNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),Prefix:cdk().stringToCloudFormation(properties.prefix),SeparatorConfiguration:convertCfnAnalysisNumericSeparatorConfigurationPropertyToCloudFormation(properties.separatorConfiguration),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnAnalysisPercentageDisplayFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlacesConfiguration","DecimalPlacesConfiguration",properties.DecimalPlacesConfiguration!=null?CfnAnalysisDecimalPlacesConfigurationPropertyFromCloudFormation(properties.DecimalPlacesConfiguration):void 0),ret.addPropertyResult("negativeValueConfiguration","NegativeValueConfiguration",properties.NegativeValueConfiguration!=null?CfnAnalysisNegativeValueConfigurationPropertyFromCloudFormation(properties.NegativeValueConfiguration):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnAnalysisNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("separatorConfiguration","SeparatorConfiguration",properties.SeparatorConfiguration!=null?CfnAnalysisNumericSeparatorConfigurationPropertyFromCloudFormation(properties.SeparatorConfiguration):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("currencyDisplayFormatConfiguration",CfnAnalysisCurrencyDisplayFormatConfigurationPropertyValidator)(properties.currencyDisplayFormatConfiguration)),errors.collect(cdk().propertyValidator("numberDisplayFormatConfiguration",CfnAnalysisNumberDisplayFormatConfigurationPropertyValidator)(properties.numberDisplayFormatConfiguration)),errors.collect(cdk().propertyValidator("percentageDisplayFormatConfiguration",CfnAnalysisPercentageDisplayFormatConfigurationPropertyValidator)(properties.percentageDisplayFormatConfiguration)),errors.wrap('supplied properties not correct for "NumericFormatConfigurationProperty"')}function convertCfnAnalysisNumericFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericFormatConfigurationPropertyValidator(properties).assertSuccess(),{CurrencyDisplayFormatConfiguration:convertCfnAnalysisCurrencyDisplayFormatConfigurationPropertyToCloudFormation(properties.currencyDisplayFormatConfiguration),NumberDisplayFormatConfiguration:convertCfnAnalysisNumberDisplayFormatConfigurationPropertyToCloudFormation(properties.numberDisplayFormatConfiguration),PercentageDisplayFormatConfiguration:convertCfnAnalysisPercentageDisplayFormatConfigurationPropertyToCloudFormation(properties.percentageDisplayFormatConfiguration)}):properties}function CfnAnalysisNumericFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("currencyDisplayFormatConfiguration","CurrencyDisplayFormatConfiguration",properties.CurrencyDisplayFormatConfiguration!=null?CfnAnalysisCurrencyDisplayFormatConfigurationPropertyFromCloudFormation(properties.CurrencyDisplayFormatConfiguration):void 0),ret.addPropertyResult("numberDisplayFormatConfiguration","NumberDisplayFormatConfiguration",properties.NumberDisplayFormatConfiguration!=null?CfnAnalysisNumberDisplayFormatConfigurationPropertyFromCloudFormation(properties.NumberDisplayFormatConfiguration):void 0),ret.addPropertyResult("percentageDisplayFormatConfiguration","PercentageDisplayFormatConfiguration",properties.PercentageDisplayFormatConfiguration!=null?CfnAnalysisPercentageDisplayFormatConfigurationPropertyFromCloudFormation(properties.PercentageDisplayFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumberFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisNumericFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "NumberFormatConfigurationProperty"')}function convertCfnAnalysisNumberFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumberFormatConfigurationPropertyValidator(properties).assertSuccess(),{FormatConfiguration:convertCfnAnalysisNumericFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnAnalysisNumberFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisNumericFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateTimeFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeFormat",cdk().validateString)(properties.dateTimeFormat)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnAnalysisNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numericFormatConfiguration",CfnAnalysisNumericFormatConfigurationPropertyValidator)(properties.numericFormatConfiguration)),errors.wrap('supplied properties not correct for "DateTimeFormatConfigurationProperty"')}function convertCfnAnalysisDateTimeFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateTimeFormatConfigurationPropertyValidator(properties).assertSuccess(),{DateTimeFormat:cdk().stringToCloudFormation(properties.dateTimeFormat),NullValueFormatConfiguration:convertCfnAnalysisNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumericFormatConfiguration:convertCfnAnalysisNumericFormatConfigurationPropertyToCloudFormation(properties.numericFormatConfiguration)}):properties}function CfnAnalysisDateTimeFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeFormat","DateTimeFormat",properties.DateTimeFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateTimeFormat):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnAnalysisNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numericFormatConfiguration","NumericFormatConfiguration",properties.NumericFormatConfiguration!=null?CfnAnalysisNumericFormatConfigurationPropertyFromCloudFormation(properties.NumericFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisStringFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnAnalysisNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numericFormatConfiguration",CfnAnalysisNumericFormatConfigurationPropertyValidator)(properties.numericFormatConfiguration)),errors.wrap('supplied properties not correct for "StringFormatConfigurationProperty"')}function convertCfnAnalysisStringFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisStringFormatConfigurationPropertyValidator(properties).assertSuccess(),{NullValueFormatConfiguration:convertCfnAnalysisNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumericFormatConfiguration:convertCfnAnalysisNumericFormatConfigurationPropertyToCloudFormation(properties.numericFormatConfiguration)}):properties}function CfnAnalysisStringFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnAnalysisNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numericFormatConfiguration","NumericFormatConfiguration",properties.NumericFormatConfiguration!=null?CfnAnalysisNumericFormatConfigurationPropertyFromCloudFormation(properties.NumericFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeFormatConfiguration",CfnAnalysisDateTimeFormatConfigurationPropertyValidator)(properties.dateTimeFormatConfiguration)),errors.collect(cdk().propertyValidator("numberFormatConfiguration",CfnAnalysisNumberFormatConfigurationPropertyValidator)(properties.numberFormatConfiguration)),errors.collect(cdk().propertyValidator("stringFormatConfiguration",CfnAnalysisStringFormatConfigurationPropertyValidator)(properties.stringFormatConfiguration)),errors.wrap('supplied properties not correct for "FormatConfigurationProperty"')}function convertCfnAnalysisFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFormatConfigurationPropertyValidator(properties).assertSuccess(),{DateTimeFormatConfiguration:convertCfnAnalysisDateTimeFormatConfigurationPropertyToCloudFormation(properties.dateTimeFormatConfiguration),NumberFormatConfiguration:convertCfnAnalysisNumberFormatConfigurationPropertyToCloudFormation(properties.numberFormatConfiguration),StringFormatConfiguration:convertCfnAnalysisStringFormatConfigurationPropertyToCloudFormation(properties.stringFormatConfiguration)}):properties}function CfnAnalysisFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeFormatConfiguration","DateTimeFormatConfiguration",properties.DateTimeFormatConfiguration!=null?CfnAnalysisDateTimeFormatConfigurationPropertyFromCloudFormation(properties.DateTimeFormatConfiguration):void 0),ret.addPropertyResult("numberFormatConfiguration","NumberFormatConfiguration",properties.NumberFormatConfiguration!=null?CfnAnalysisNumberFormatConfigurationPropertyFromCloudFormation(properties.NumberFormatConfiguration):void 0),ret.addPropertyResult("stringFormatConfiguration","StringFormatConfiguration",properties.StringFormatConfiguration!=null?CfnAnalysisStringFormatConfigurationPropertyFromCloudFormation(properties.StringFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.collect(cdk().propertyValidator("specialValue",cdk().validateString)(properties.specialValue)),errors.wrap('supplied properties not correct for "CustomColorProperty"')}function convertCfnAnalysisCustomColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),FieldValue:cdk().stringToCloudFormation(properties.fieldValue),SpecialValue:cdk().stringToCloudFormation(properties.specialValue)}):properties}function CfnAnalysisCustomColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addPropertyResult("specialValue","SpecialValue",properties.SpecialValue!=null?cfn_parse().FromCloudFormation.getString(properties.SpecialValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisColorsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customColors",cdk().listValidator(CfnAnalysisCustomColorPropertyValidator))(properties.customColors)),errors.wrap('supplied properties not correct for "ColorsConfigurationProperty"')}function convertCfnAnalysisColorsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisColorsConfigurationPropertyValidator(properties).assertSuccess(),{CustomColors:cdk().listMapper(convertCfnAnalysisCustomColorPropertyToCloudFormation)(properties.customColors)}):properties}function CfnAnalysisColorsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customColors","CustomColors",properties.CustomColors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisCustomColorPropertyFromCloudFormation)(properties.CustomColors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisColumnConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorsConfiguration",CfnAnalysisColorsConfigurationPropertyValidator)(properties.colorsConfiguration)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "ColumnConfigurationProperty"')}function convertCfnAnalysisColumnConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisColumnConfigurationPropertyValidator(properties).assertSuccess(),{ColorsConfiguration:convertCfnAnalysisColorsConfigurationPropertyToCloudFormation(properties.colorsConfiguration),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),FormatConfiguration:convertCfnAnalysisFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnAnalysisColumnConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorsConfiguration","ColorsConfiguration",properties.ColorsConfiguration!=null?CfnAnalysisColorsConfigurationPropertyFromCloudFormation(properties.ColorsConfiguration):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFreeFormLayoutScreenCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("optimizedViewPortWidth",cdk().requiredValidator)(properties.optimizedViewPortWidth)),errors.collect(cdk().propertyValidator("optimizedViewPortWidth",cdk().validateString)(properties.optimizedViewPortWidth)),errors.wrap('supplied properties not correct for "FreeFormLayoutScreenCanvasSizeOptionsProperty"')}function convertCfnAnalysisFreeFormLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFreeFormLayoutScreenCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{OptimizedViewPortWidth:cdk().stringToCloudFormation(properties.optimizedViewPortWidth)}):properties}function CfnAnalysisFreeFormLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("optimizedViewPortWidth","OptimizedViewPortWidth",properties.OptimizedViewPortWidth!=null?cfn_parse().FromCloudFormation.getString(properties.OptimizedViewPortWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("screenCanvasSizeOptions",CfnAnalysisFreeFormLayoutScreenCanvasSizeOptionsPropertyValidator)(properties.screenCanvasSizeOptions)),errors.wrap('supplied properties not correct for "FreeFormLayoutCanvasSizeOptionsProperty"')}function convertCfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{ScreenCanvasSizeOptions:convertCfnAnalysisFreeFormLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties.screenCanvasSizeOptions)}):properties}function CfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("screenCanvasSizeOptions","ScreenCanvasSizeOptions",properties.ScreenCanvasSizeOptions!=null?CfnAnalysisFreeFormLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties.ScreenCanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultFreeFormLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.wrap('supplied properties not correct for "DefaultFreeFormLayoutConfigurationProperty"')}function convertCfnAnalysisDefaultFreeFormLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultFreeFormLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions)}):properties}function CfnAnalysisDefaultFreeFormLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGridLayoutScreenCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("optimizedViewPortWidth",cdk().validateString)(properties.optimizedViewPortWidth)),errors.collect(cdk().propertyValidator("resizeOption",cdk().requiredValidator)(properties.resizeOption)),errors.collect(cdk().propertyValidator("resizeOption",cdk().validateString)(properties.resizeOption)),errors.wrap('supplied properties not correct for "GridLayoutScreenCanvasSizeOptionsProperty"')}function convertCfnAnalysisGridLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGridLayoutScreenCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{OptimizedViewPortWidth:cdk().stringToCloudFormation(properties.optimizedViewPortWidth),ResizeOption:cdk().stringToCloudFormation(properties.resizeOption)}):properties}function CfnAnalysisGridLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("optimizedViewPortWidth","OptimizedViewPortWidth",properties.OptimizedViewPortWidth!=null?cfn_parse().FromCloudFormation.getString(properties.OptimizedViewPortWidth):void 0),ret.addPropertyResult("resizeOption","ResizeOption",properties.ResizeOption!=null?cfn_parse().FromCloudFormation.getString(properties.ResizeOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGridLayoutCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("screenCanvasSizeOptions",CfnAnalysisGridLayoutScreenCanvasSizeOptionsPropertyValidator)(properties.screenCanvasSizeOptions)),errors.wrap('supplied properties not correct for "GridLayoutCanvasSizeOptionsProperty"')}function convertCfnAnalysisGridLayoutCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGridLayoutCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{ScreenCanvasSizeOptions:convertCfnAnalysisGridLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties.screenCanvasSizeOptions)}):properties}function CfnAnalysisGridLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("screenCanvasSizeOptions","ScreenCanvasSizeOptions",properties.ScreenCanvasSizeOptions!=null?CfnAnalysisGridLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties.ScreenCanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultGridLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnAnalysisGridLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.wrap('supplied properties not correct for "DefaultGridLayoutConfigurationProperty"')}function convertCfnAnalysisDefaultGridLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultGridLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnAnalysisGridLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions)}):properties}function CfnAnalysisDefaultGridLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnAnalysisGridLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultInteractiveLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("freeForm",CfnAnalysisDefaultFreeFormLayoutConfigurationPropertyValidator)(properties.freeForm)),errors.collect(cdk().propertyValidator("grid",CfnAnalysisDefaultGridLayoutConfigurationPropertyValidator)(properties.grid)),errors.wrap('supplied properties not correct for "DefaultInteractiveLayoutConfigurationProperty"')}function convertCfnAnalysisDefaultInteractiveLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultInteractiveLayoutConfigurationPropertyValidator(properties).assertSuccess(),{FreeForm:convertCfnAnalysisDefaultFreeFormLayoutConfigurationPropertyToCloudFormation(properties.freeForm),Grid:convertCfnAnalysisDefaultGridLayoutConfigurationPropertyToCloudFormation(properties.grid)}):properties}function CfnAnalysisDefaultInteractiveLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("freeForm","FreeForm",properties.FreeForm!=null?CfnAnalysisDefaultFreeFormLayoutConfigurationPropertyFromCloudFormation(properties.FreeForm):void 0),ret.addPropertyResult("grid","Grid",properties.Grid!=null?CfnAnalysisDefaultGridLayoutConfigurationPropertyFromCloudFormation(properties.Grid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSpacingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bottom",cdk().validateString)(properties.bottom)),errors.collect(cdk().propertyValidator("left",cdk().validateString)(properties.left)),errors.collect(cdk().propertyValidator("right",cdk().validateString)(properties.right)),errors.collect(cdk().propertyValidator("top",cdk().validateString)(properties.top)),errors.wrap('supplied properties not correct for "SpacingProperty"')}function convertCfnAnalysisSpacingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSpacingPropertyValidator(properties).assertSuccess(),{Bottom:cdk().stringToCloudFormation(properties.bottom),Left:cdk().stringToCloudFormation(properties.left),Right:cdk().stringToCloudFormation(properties.right),Top:cdk().stringToCloudFormation(properties.top)}):properties}function CfnAnalysisSpacingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bottom","Bottom",properties.Bottom!=null?cfn_parse().FromCloudFormation.getString(properties.Bottom):void 0),ret.addPropertyResult("left","Left",properties.Left!=null?cfn_parse().FromCloudFormation.getString(properties.Left):void 0),ret.addPropertyResult("right","Right",properties.Right!=null?cfn_parse().FromCloudFormation.getString(properties.Right):void 0),ret.addPropertyResult("top","Top",properties.Top!=null?cfn_parse().FromCloudFormation.getString(properties.Top):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSectionBasedLayoutPaperCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("paperMargin",CfnAnalysisSpacingPropertyValidator)(properties.paperMargin)),errors.collect(cdk().propertyValidator("paperOrientation",cdk().validateString)(properties.paperOrientation)),errors.collect(cdk().propertyValidator("paperSize",cdk().validateString)(properties.paperSize)),errors.wrap('supplied properties not correct for "SectionBasedLayoutPaperCanvasSizeOptionsProperty"')}function convertCfnAnalysisSectionBasedLayoutPaperCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSectionBasedLayoutPaperCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{PaperMargin:convertCfnAnalysisSpacingPropertyToCloudFormation(properties.paperMargin),PaperOrientation:cdk().stringToCloudFormation(properties.paperOrientation),PaperSize:cdk().stringToCloudFormation(properties.paperSize)}):properties}function CfnAnalysisSectionBasedLayoutPaperCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("paperMargin","PaperMargin",properties.PaperMargin!=null?CfnAnalysisSpacingPropertyFromCloudFormation(properties.PaperMargin):void 0),ret.addPropertyResult("paperOrientation","PaperOrientation",properties.PaperOrientation!=null?cfn_parse().FromCloudFormation.getString(properties.PaperOrientation):void 0),ret.addPropertyResult("paperSize","PaperSize",properties.PaperSize!=null?cfn_parse().FromCloudFormation.getString(properties.PaperSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("paperCanvasSizeOptions",CfnAnalysisSectionBasedLayoutPaperCanvasSizeOptionsPropertyValidator)(properties.paperCanvasSizeOptions)),errors.wrap('supplied properties not correct for "SectionBasedLayoutCanvasSizeOptionsProperty"')}function convertCfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{PaperCanvasSizeOptions:convertCfnAnalysisSectionBasedLayoutPaperCanvasSizeOptionsPropertyToCloudFormation(properties.paperCanvasSizeOptions)}):properties}function CfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("paperCanvasSizeOptions","PaperCanvasSizeOptions",properties.PaperCanvasSizeOptions!=null?CfnAnalysisSectionBasedLayoutPaperCanvasSizeOptionsPropertyFromCloudFormation(properties.PaperCanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultSectionBasedLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.wrap('supplied properties not correct for "DefaultSectionBasedLayoutConfigurationProperty"')}function convertCfnAnalysisDefaultSectionBasedLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultSectionBasedLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions)}):properties}function CfnAnalysisDefaultSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultPaginatedLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sectionBased",CfnAnalysisDefaultSectionBasedLayoutConfigurationPropertyValidator)(properties.sectionBased)),errors.wrap('supplied properties not correct for "DefaultPaginatedLayoutConfigurationProperty"')}function convertCfnAnalysisDefaultPaginatedLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultPaginatedLayoutConfigurationPropertyValidator(properties).assertSuccess(),{SectionBased:convertCfnAnalysisDefaultSectionBasedLayoutConfigurationPropertyToCloudFormation(properties.sectionBased)}):properties}function CfnAnalysisDefaultPaginatedLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sectionBased","SectionBased",properties.SectionBased!=null?CfnAnalysisDefaultSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties.SectionBased):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDefaultNewSheetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("interactiveLayoutConfiguration",CfnAnalysisDefaultInteractiveLayoutConfigurationPropertyValidator)(properties.interactiveLayoutConfiguration)),errors.collect(cdk().propertyValidator("paginatedLayoutConfiguration",CfnAnalysisDefaultPaginatedLayoutConfigurationPropertyValidator)(properties.paginatedLayoutConfiguration)),errors.collect(cdk().propertyValidator("sheetContentType",cdk().validateString)(properties.sheetContentType)),errors.wrap('supplied properties not correct for "DefaultNewSheetConfigurationProperty"')}function convertCfnAnalysisDefaultNewSheetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDefaultNewSheetConfigurationPropertyValidator(properties).assertSuccess(),{InteractiveLayoutConfiguration:convertCfnAnalysisDefaultInteractiveLayoutConfigurationPropertyToCloudFormation(properties.interactiveLayoutConfiguration),PaginatedLayoutConfiguration:convertCfnAnalysisDefaultPaginatedLayoutConfigurationPropertyToCloudFormation(properties.paginatedLayoutConfiguration),SheetContentType:cdk().stringToCloudFormation(properties.sheetContentType)}):properties}function CfnAnalysisDefaultNewSheetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("interactiveLayoutConfiguration","InteractiveLayoutConfiguration",properties.InteractiveLayoutConfiguration!=null?CfnAnalysisDefaultInteractiveLayoutConfigurationPropertyFromCloudFormation(properties.InteractiveLayoutConfiguration):void 0),ret.addPropertyResult("paginatedLayoutConfiguration","PaginatedLayoutConfiguration",properties.PaginatedLayoutConfiguration!=null?CfnAnalysisDefaultPaginatedLayoutConfigurationPropertyFromCloudFormation(properties.PaginatedLayoutConfiguration):void 0),ret.addPropertyResult("sheetContentType","SheetContentType",properties.SheetContentType!=null?cfn_parse().FromCloudFormation.getString(properties.SheetContentType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAnalysisDefaultsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultNewSheetConfiguration",cdk().requiredValidator)(properties.defaultNewSheetConfiguration)),errors.collect(cdk().propertyValidator("defaultNewSheetConfiguration",CfnAnalysisDefaultNewSheetConfigurationPropertyValidator)(properties.defaultNewSheetConfiguration)),errors.wrap('supplied properties not correct for "AnalysisDefaultsProperty"')}function convertCfnAnalysisAnalysisDefaultsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAnalysisDefaultsPropertyValidator(properties).assertSuccess(),{DefaultNewSheetConfiguration:convertCfnAnalysisDefaultNewSheetConfigurationPropertyToCloudFormation(properties.defaultNewSheetConfiguration)}):properties}function CfnAnalysisAnalysisDefaultsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultNewSheetConfiguration","DefaultNewSheetConfiguration",properties.DefaultNewSheetConfiguration!=null?CfnAnalysisDefaultNewSheetConfigurationPropertyFromCloudFormation(properties.DefaultNewSheetConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParameterSliderControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisSliderControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("maximumValue",cdk().requiredValidator)(properties.maximumValue)),errors.collect(cdk().propertyValidator("maximumValue",cdk().validateNumber)(properties.maximumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().requiredValidator)(properties.minimumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().validateNumber)(properties.minimumValue)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("stepSize",cdk().requiredValidator)(properties.stepSize)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterSliderControlProperty"')}function convertCfnAnalysisParameterSliderControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParameterSliderControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnAnalysisSliderControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),MaximumValue:cdk().numberToCloudFormation(properties.maximumValue),MinimumValue:cdk().numberToCloudFormation(properties.minimumValue),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),StepSize:cdk().numberToCloudFormation(properties.stepSize),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnAnalysisParameterSliderControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisSliderControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("maximumValue","MaximumValue",properties.MaximumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumValue):void 0),ret.addPropertyResult("minimumValue","MinimumValue",properties.MinimumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumValue):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParameterTextAreaControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisTextAreaControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterTextAreaControlProperty"')}function convertCfnAnalysisParameterTextAreaControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParameterTextAreaControlPropertyValidator(properties).assertSuccess(),{Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisplayOptions:convertCfnAnalysisTextAreaControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnAnalysisParameterTextAreaControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCascadingControlSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnToMatch",CfnAnalysisColumnIdentifierPropertyValidator)(properties.columnToMatch)),errors.collect(cdk().propertyValidator("sourceSheetControlId",cdk().validateString)(properties.sourceSheetControlId)),errors.wrap('supplied properties not correct for "CascadingControlSourceProperty"')}function convertCfnAnalysisCascadingControlSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCascadingControlSourcePropertyValidator(properties).assertSuccess(),{ColumnToMatch:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.columnToMatch),SourceSheetControlId:cdk().stringToCloudFormation(properties.sourceSheetControlId)}):properties}function CfnAnalysisCascadingControlSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnToMatch","ColumnToMatch",properties.ColumnToMatch!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.ColumnToMatch):void 0),ret.addPropertyResult("sourceSheetControlId","SourceSheetControlId",properties.SourceSheetControlId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceSheetControlId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCascadingControlConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sourceControls",cdk().listValidator(CfnAnalysisCascadingControlSourcePropertyValidator))(properties.sourceControls)),errors.wrap('supplied properties not correct for "CascadingControlConfigurationProperty"')}function convertCfnAnalysisCascadingControlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCascadingControlConfigurationPropertyValidator(properties).assertSuccess(),{SourceControls:cdk().listMapper(convertCfnAnalysisCascadingControlSourcePropertyToCloudFormation)(properties.sourceControls)}):properties}function CfnAnalysisCascadingControlConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sourceControls","SourceControls",properties.SourceControls!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisCascadingControlSourcePropertyFromCloudFormation)(properties.SourceControls):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParameterSelectableValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("linkToDataSetColumn",CfnAnalysisColumnIdentifierPropertyValidator)(properties.linkToDataSetColumn)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "ParameterSelectableValuesProperty"')}function convertCfnAnalysisParameterSelectableValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParameterSelectableValuesPropertyValidator(properties).assertSuccess(),{LinkToDataSetColumn:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.linkToDataSetColumn),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnAnalysisParameterSelectableValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("linkToDataSetColumn","LinkToDataSetColumn",properties.LinkToDataSetColumn!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.LinkToDataSetColumn):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParameterDropDownControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnAnalysisCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisDropDownControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnAnalysisParameterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ParameterDropDownControlProperty"')}function convertCfnAnalysisParameterDropDownControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParameterDropDownControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnAnalysisCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnAnalysisDropDownControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SelectableValues:convertCfnAnalysisParameterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisParameterDropDownControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnAnalysisCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisDropDownControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnAnalysisParameterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParameterTextFieldControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisTextFieldControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterTextFieldControlProperty"')}function convertCfnAnalysisParameterTextFieldControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParameterTextFieldControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnAnalysisTextFieldControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnAnalysisParameterTextFieldControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParameterListControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnAnalysisCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisListControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnAnalysisParameterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ParameterListControlProperty"')}function convertCfnAnalysisParameterListControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParameterListControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnAnalysisCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),DisplayOptions:convertCfnAnalysisListControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SelectableValues:convertCfnAnalysisParameterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisParameterListControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnAnalysisCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisListControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnAnalysisParameterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParameterDateTimePickerControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisDateTimePickerControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterDateTimePickerControlProperty"')}function convertCfnAnalysisParameterDateTimePickerControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParameterDateTimePickerControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnAnalysisDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnAnalysisParameterDateTimePickerControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParameterControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimePicker",CfnAnalysisParameterDateTimePickerControlPropertyValidator)(properties.dateTimePicker)),errors.collect(cdk().propertyValidator("dropdown",CfnAnalysisParameterDropDownControlPropertyValidator)(properties.dropdown)),errors.collect(cdk().propertyValidator("list",CfnAnalysisParameterListControlPropertyValidator)(properties.list)),errors.collect(cdk().propertyValidator("slider",CfnAnalysisParameterSliderControlPropertyValidator)(properties.slider)),errors.collect(cdk().propertyValidator("textArea",CfnAnalysisParameterTextAreaControlPropertyValidator)(properties.textArea)),errors.collect(cdk().propertyValidator("textField",CfnAnalysisParameterTextFieldControlPropertyValidator)(properties.textField)),errors.wrap('supplied properties not correct for "ParameterControlProperty"')}function convertCfnAnalysisParameterControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParameterControlPropertyValidator(properties).assertSuccess(),{DateTimePicker:convertCfnAnalysisParameterDateTimePickerControlPropertyToCloudFormation(properties.dateTimePicker),Dropdown:convertCfnAnalysisParameterDropDownControlPropertyToCloudFormation(properties.dropdown),List:convertCfnAnalysisParameterListControlPropertyToCloudFormation(properties.list),Slider:convertCfnAnalysisParameterSliderControlPropertyToCloudFormation(properties.slider),TextArea:convertCfnAnalysisParameterTextAreaControlPropertyToCloudFormation(properties.textArea),TextField:convertCfnAnalysisParameterTextFieldControlPropertyToCloudFormation(properties.textField)}):properties}function CfnAnalysisParameterControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimePicker","DateTimePicker",properties.DateTimePicker!=null?CfnAnalysisParameterDateTimePickerControlPropertyFromCloudFormation(properties.DateTimePicker):void 0),ret.addPropertyResult("dropdown","Dropdown",properties.Dropdown!=null?CfnAnalysisParameterDropDownControlPropertyFromCloudFormation(properties.Dropdown):void 0),ret.addPropertyResult("list","List",properties.List!=null?CfnAnalysisParameterListControlPropertyFromCloudFormation(properties.List):void 0),ret.addPropertyResult("slider","Slider",properties.Slider!=null?CfnAnalysisParameterSliderControlPropertyFromCloudFormation(properties.Slider):void 0),ret.addPropertyResult("textArea","TextArea",properties.TextArea!=null?CfnAnalysisParameterTextAreaControlPropertyFromCloudFormation(properties.TextArea):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?CfnAnalysisParameterTextFieldControlPropertyFromCloudFormation(properties.TextField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetTextBoxPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("content",cdk().validateString)(properties.content)),errors.collect(cdk().propertyValidator("sheetTextBoxId",cdk().requiredValidator)(properties.sheetTextBoxId)),errors.collect(cdk().propertyValidator("sheetTextBoxId",cdk().validateString)(properties.sheetTextBoxId)),errors.wrap('supplied properties not correct for "SheetTextBoxProperty"')}function convertCfnAnalysisSheetTextBoxPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetTextBoxPropertyValidator(properties).assertSuccess(),{Content:cdk().stringToCloudFormation(properties.content),SheetTextBoxId:cdk().stringToCloudFormation(properties.sheetTextBoxId)}):properties}function CfnAnalysisSheetTextBoxPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("content","Content",properties.Content!=null?cfn_parse().FromCloudFormation.getString(properties.Content):void 0),ret.addPropertyResult("sheetTextBoxId","SheetTextBoxId",properties.SheetTextBoxId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetTextBoxId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGridLayoutElementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnIndex",cdk().validateNumber)(properties.columnIndex)),errors.collect(cdk().propertyValidator("columnSpan",cdk().requiredValidator)(properties.columnSpan)),errors.collect(cdk().propertyValidator("columnSpan",cdk().validateNumber)(properties.columnSpan)),errors.collect(cdk().propertyValidator("elementId",cdk().requiredValidator)(properties.elementId)),errors.collect(cdk().propertyValidator("elementId",cdk().validateString)(properties.elementId)),errors.collect(cdk().propertyValidator("elementType",cdk().requiredValidator)(properties.elementType)),errors.collect(cdk().propertyValidator("elementType",cdk().validateString)(properties.elementType)),errors.collect(cdk().propertyValidator("rowIndex",cdk().validateNumber)(properties.rowIndex)),errors.collect(cdk().propertyValidator("rowSpan",cdk().requiredValidator)(properties.rowSpan)),errors.collect(cdk().propertyValidator("rowSpan",cdk().validateNumber)(properties.rowSpan)),errors.wrap('supplied properties not correct for "GridLayoutElementProperty"')}function convertCfnAnalysisGridLayoutElementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGridLayoutElementPropertyValidator(properties).assertSuccess(),{ColumnIndex:cdk().numberToCloudFormation(properties.columnIndex),ColumnSpan:cdk().numberToCloudFormation(properties.columnSpan),ElementId:cdk().stringToCloudFormation(properties.elementId),ElementType:cdk().stringToCloudFormation(properties.elementType),RowIndex:cdk().numberToCloudFormation(properties.rowIndex),RowSpan:cdk().numberToCloudFormation(properties.rowSpan)}):properties}function CfnAnalysisGridLayoutElementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnIndex","ColumnIndex",properties.ColumnIndex!=null?cfn_parse().FromCloudFormation.getNumber(properties.ColumnIndex):void 0),ret.addPropertyResult("columnSpan","ColumnSpan",properties.ColumnSpan!=null?cfn_parse().FromCloudFormation.getNumber(properties.ColumnSpan):void 0),ret.addPropertyResult("elementId","ElementId",properties.ElementId!=null?cfn_parse().FromCloudFormation.getString(properties.ElementId):void 0),ret.addPropertyResult("elementType","ElementType",properties.ElementType!=null?cfn_parse().FromCloudFormation.getString(properties.ElementType):void 0),ret.addPropertyResult("rowIndex","RowIndex",properties.RowIndex!=null?cfn_parse().FromCloudFormation.getNumber(properties.RowIndex):void 0),ret.addPropertyResult("rowSpan","RowSpan",properties.RowSpan!=null?cfn_parse().FromCloudFormation.getNumber(properties.RowSpan):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGridLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnAnalysisGridLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("elements",cdk().requiredValidator)(properties.elements)),errors.collect(cdk().propertyValidator("elements",cdk().listValidator(CfnAnalysisGridLayoutElementPropertyValidator))(properties.elements)),errors.wrap('supplied properties not correct for "GridLayoutConfigurationProperty"')}function convertCfnAnalysisGridLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGridLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnAnalysisGridLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions),Elements:cdk().listMapper(convertCfnAnalysisGridLayoutElementPropertyToCloudFormation)(properties.elements)}):properties}function CfnAnalysisGridLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnAnalysisGridLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addPropertyResult("elements","Elements",properties.Elements!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisGridLayoutElementPropertyFromCloudFormation)(properties.Elements):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFreeFormLayoutElementBorderStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FreeFormLayoutElementBorderStyleProperty"')}function convertCfnAnalysisFreeFormLayoutElementBorderStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFreeFormLayoutElementBorderStylePropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisFreeFormLayoutElementBorderStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetElementConfigurationOverridesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SheetElementConfigurationOverridesProperty"')}function convertCfnAnalysisSheetElementConfigurationOverridesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetElementConfigurationOverridesPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisSheetElementConfigurationOverridesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetElementRenderingRulePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("configurationOverrides",cdk().requiredValidator)(properties.configurationOverrides)),errors.collect(cdk().propertyValidator("configurationOverrides",CfnAnalysisSheetElementConfigurationOverridesPropertyValidator)(properties.configurationOverrides)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "SheetElementRenderingRuleProperty"')}function convertCfnAnalysisSheetElementRenderingRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetElementRenderingRulePropertyValidator(properties).assertSuccess(),{ConfigurationOverrides:convertCfnAnalysisSheetElementConfigurationOverridesPropertyToCloudFormation(properties.configurationOverrides),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnAnalysisSheetElementRenderingRulePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("configurationOverrides","ConfigurationOverrides",properties.ConfigurationOverrides!=null?CfnAnalysisSheetElementConfigurationOverridesPropertyFromCloudFormation(properties.ConfigurationOverrides):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLoadingAnimationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "LoadingAnimationProperty"')}function convertCfnAnalysisLoadingAnimationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLoadingAnimationPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisLoadingAnimationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFreeFormLayoutElementBackgroundStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FreeFormLayoutElementBackgroundStyleProperty"')}function convertCfnAnalysisFreeFormLayoutElementBackgroundStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFreeFormLayoutElementBackgroundStylePropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisFreeFormLayoutElementBackgroundStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFreeFormLayoutElementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundStyle",CfnAnalysisFreeFormLayoutElementBackgroundStylePropertyValidator)(properties.backgroundStyle)),errors.collect(cdk().propertyValidator("borderStyle",CfnAnalysisFreeFormLayoutElementBorderStylePropertyValidator)(properties.borderStyle)),errors.collect(cdk().propertyValidator("elementId",cdk().requiredValidator)(properties.elementId)),errors.collect(cdk().propertyValidator("elementId",cdk().validateString)(properties.elementId)),errors.collect(cdk().propertyValidator("elementType",cdk().requiredValidator)(properties.elementType)),errors.collect(cdk().propertyValidator("elementType",cdk().validateString)(properties.elementType)),errors.collect(cdk().propertyValidator("height",cdk().requiredValidator)(properties.height)),errors.collect(cdk().propertyValidator("height",cdk().validateString)(properties.height)),errors.collect(cdk().propertyValidator("loadingAnimation",CfnAnalysisLoadingAnimationPropertyValidator)(properties.loadingAnimation)),errors.collect(cdk().propertyValidator("renderingRules",cdk().listValidator(CfnAnalysisSheetElementRenderingRulePropertyValidator))(properties.renderingRules)),errors.collect(cdk().propertyValidator("selectedBorderStyle",CfnAnalysisFreeFormLayoutElementBorderStylePropertyValidator)(properties.selectedBorderStyle)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().requiredValidator)(properties.width)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.collect(cdk().propertyValidator("xAxisLocation",cdk().requiredValidator)(properties.xAxisLocation)),errors.collect(cdk().propertyValidator("xAxisLocation",cdk().validateString)(properties.xAxisLocation)),errors.collect(cdk().propertyValidator("yAxisLocation",cdk().requiredValidator)(properties.yAxisLocation)),errors.collect(cdk().propertyValidator("yAxisLocation",cdk().validateString)(properties.yAxisLocation)),errors.wrap('supplied properties not correct for "FreeFormLayoutElementProperty"')}function convertCfnAnalysisFreeFormLayoutElementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFreeFormLayoutElementPropertyValidator(properties).assertSuccess(),{BackgroundStyle:convertCfnAnalysisFreeFormLayoutElementBackgroundStylePropertyToCloudFormation(properties.backgroundStyle),BorderStyle:convertCfnAnalysisFreeFormLayoutElementBorderStylePropertyToCloudFormation(properties.borderStyle),ElementId:cdk().stringToCloudFormation(properties.elementId),ElementType:cdk().stringToCloudFormation(properties.elementType),Height:cdk().stringToCloudFormation(properties.height),LoadingAnimation:convertCfnAnalysisLoadingAnimationPropertyToCloudFormation(properties.loadingAnimation),RenderingRules:cdk().listMapper(convertCfnAnalysisSheetElementRenderingRulePropertyToCloudFormation)(properties.renderingRules),SelectedBorderStyle:convertCfnAnalysisFreeFormLayoutElementBorderStylePropertyToCloudFormation(properties.selectedBorderStyle),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width),XAxisLocation:cdk().stringToCloudFormation(properties.xAxisLocation),YAxisLocation:cdk().stringToCloudFormation(properties.yAxisLocation)}):properties}function CfnAnalysisFreeFormLayoutElementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundStyle","BackgroundStyle",properties.BackgroundStyle!=null?CfnAnalysisFreeFormLayoutElementBackgroundStylePropertyFromCloudFormation(properties.BackgroundStyle):void 0),ret.addPropertyResult("borderStyle","BorderStyle",properties.BorderStyle!=null?CfnAnalysisFreeFormLayoutElementBorderStylePropertyFromCloudFormation(properties.BorderStyle):void 0),ret.addPropertyResult("elementId","ElementId",properties.ElementId!=null?cfn_parse().FromCloudFormation.getString(properties.ElementId):void 0),ret.addPropertyResult("elementType","ElementType",properties.ElementType!=null?cfn_parse().FromCloudFormation.getString(properties.ElementType):void 0),ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getString(properties.Height):void 0),ret.addPropertyResult("loadingAnimation","LoadingAnimation",properties.LoadingAnimation!=null?CfnAnalysisLoadingAnimationPropertyFromCloudFormation(properties.LoadingAnimation):void 0),ret.addPropertyResult("renderingRules","RenderingRules",properties.RenderingRules!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisSheetElementRenderingRulePropertyFromCloudFormation)(properties.RenderingRules):void 0),ret.addPropertyResult("selectedBorderStyle","SelectedBorderStyle",properties.SelectedBorderStyle!=null?CfnAnalysisFreeFormLayoutElementBorderStylePropertyFromCloudFormation(properties.SelectedBorderStyle):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addPropertyResult("xAxisLocation","XAxisLocation",properties.XAxisLocation!=null?cfn_parse().FromCloudFormation.getString(properties.XAxisLocation):void 0),ret.addPropertyResult("yAxisLocation","YAxisLocation",properties.YAxisLocation!=null?cfn_parse().FromCloudFormation.getString(properties.YAxisLocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFreeFormLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("elements",cdk().requiredValidator)(properties.elements)),errors.collect(cdk().propertyValidator("elements",cdk().listValidator(CfnAnalysisFreeFormLayoutElementPropertyValidator))(properties.elements)),errors.wrap('supplied properties not correct for "FreeFormLayoutConfigurationProperty"')}function convertCfnAnalysisFreeFormLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFreeFormLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions),Elements:cdk().listMapper(convertCfnAnalysisFreeFormLayoutElementPropertyToCloudFormation)(properties.elements)}):properties}function CfnAnalysisFreeFormLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnAnalysisFreeFormLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addPropertyResult("elements","Elements",properties.Elements!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFreeFormLayoutElementPropertyFromCloudFormation)(properties.Elements):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFreeFormSectionLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("elements",cdk().requiredValidator)(properties.elements)),errors.collect(cdk().propertyValidator("elements",cdk().listValidator(CfnAnalysisFreeFormLayoutElementPropertyValidator))(properties.elements)),errors.wrap('supplied properties not correct for "FreeFormSectionLayoutConfigurationProperty"')}function convertCfnAnalysisFreeFormSectionLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFreeFormSectionLayoutConfigurationPropertyValidator(properties).assertSuccess(),{Elements:cdk().listMapper(convertCfnAnalysisFreeFormLayoutElementPropertyToCloudFormation)(properties.elements)}):properties}function CfnAnalysisFreeFormSectionLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("elements","Elements",properties.Elements!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFreeFormLayoutElementPropertyFromCloudFormation)(properties.Elements):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSectionLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("freeFormLayout",cdk().requiredValidator)(properties.freeFormLayout)),errors.collect(cdk().propertyValidator("freeFormLayout",CfnAnalysisFreeFormSectionLayoutConfigurationPropertyValidator)(properties.freeFormLayout)),errors.wrap('supplied properties not correct for "SectionLayoutConfigurationProperty"')}function convertCfnAnalysisSectionLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSectionLayoutConfigurationPropertyValidator(properties).assertSuccess(),{FreeFormLayout:convertCfnAnalysisFreeFormSectionLayoutConfigurationPropertyToCloudFormation(properties.freeFormLayout)}):properties}function CfnAnalysisSectionLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("freeFormLayout","FreeFormLayout",properties.FreeFormLayout!=null?CfnAnalysisFreeFormSectionLayoutConfigurationPropertyFromCloudFormation(properties.FreeFormLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSectionStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("height",cdk().validateString)(properties.height)),errors.collect(cdk().propertyValidator("padding",CfnAnalysisSpacingPropertyValidator)(properties.padding)),errors.wrap('supplied properties not correct for "SectionStyleProperty"')}function convertCfnAnalysisSectionStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSectionStylePropertyValidator(properties).assertSuccess(),{Height:cdk().stringToCloudFormation(properties.height),Padding:convertCfnAnalysisSpacingPropertyToCloudFormation(properties.padding)}):properties}function CfnAnalysisSectionStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getString(properties.Height):void 0),ret.addPropertyResult("padding","Padding",properties.Padding!=null?CfnAnalysisSpacingPropertyFromCloudFormation(properties.Padding):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHeaderFooterSectionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("layout",cdk().requiredValidator)(properties.layout)),errors.collect(cdk().propertyValidator("layout",CfnAnalysisSectionLayoutConfigurationPropertyValidator)(properties.layout)),errors.collect(cdk().propertyValidator("sectionId",cdk().requiredValidator)(properties.sectionId)),errors.collect(cdk().propertyValidator("sectionId",cdk().validateString)(properties.sectionId)),errors.collect(cdk().propertyValidator("style",CfnAnalysisSectionStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "HeaderFooterSectionConfigurationProperty"')}function convertCfnAnalysisHeaderFooterSectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHeaderFooterSectionConfigurationPropertyValidator(properties).assertSuccess(),{Layout:convertCfnAnalysisSectionLayoutConfigurationPropertyToCloudFormation(properties.layout),SectionId:cdk().stringToCloudFormation(properties.sectionId),Style:convertCfnAnalysisSectionStylePropertyToCloudFormation(properties.style)}):properties}function CfnAnalysisHeaderFooterSectionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("layout","Layout",properties.Layout!=null?CfnAnalysisSectionLayoutConfigurationPropertyFromCloudFormation(properties.Layout):void 0),ret.addPropertyResult("sectionId","SectionId",properties.SectionId!=null?cfn_parse().FromCloudFormation.getString(properties.SectionId):void 0),ret.addPropertyResult("style","Style",properties.Style!=null?CfnAnalysisSectionStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBodySectionContentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("layout",CfnAnalysisSectionLayoutConfigurationPropertyValidator)(properties.layout)),errors.wrap('supplied properties not correct for "BodySectionContentProperty"')}function convertCfnAnalysisBodySectionContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBodySectionContentPropertyValidator(properties).assertSuccess(),{Layout:convertCfnAnalysisSectionLayoutConfigurationPropertyToCloudFormation(properties.layout)}):properties}function CfnAnalysisBodySectionContentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("layout","Layout",properties.Layout!=null?CfnAnalysisSectionLayoutConfigurationPropertyFromCloudFormation(properties.Layout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSectionAfterPageBreakPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "SectionAfterPageBreakProperty"')}function convertCfnAnalysisSectionAfterPageBreakPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSectionAfterPageBreakPropertyValidator(properties).assertSuccess(),{Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnAnalysisSectionAfterPageBreakPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSectionPageBreakConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("after",CfnAnalysisSectionAfterPageBreakPropertyValidator)(properties.after)),errors.wrap('supplied properties not correct for "SectionPageBreakConfigurationProperty"')}function convertCfnAnalysisSectionPageBreakConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSectionPageBreakConfigurationPropertyValidator(properties).assertSuccess(),{After:convertCfnAnalysisSectionAfterPageBreakPropertyToCloudFormation(properties.after)}):properties}function CfnAnalysisSectionPageBreakConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("after","After",properties.After!=null?CfnAnalysisSectionAfterPageBreakPropertyFromCloudFormation(properties.After):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisColumnSortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnAnalysisAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("sortBy",cdk().requiredValidator)(properties.sortBy)),errors.collect(cdk().propertyValidator("sortBy",CfnAnalysisColumnIdentifierPropertyValidator)(properties.sortBy)),errors.wrap('supplied properties not correct for "ColumnSortProperty"')}function convertCfnAnalysisColumnSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisColumnSortPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnAnalysisAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Direction:cdk().stringToCloudFormation(properties.direction),SortBy:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.sortBy)}):properties}function CfnAnalysisColumnSortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnAnalysisAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("sortBy","SortBy",properties.SortBy!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.SortBy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBodySectionDynamicNumericDimensionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("limit",cdk().validateNumber)(properties.limit)),errors.collect(cdk().propertyValidator("sortByMetrics",cdk().listValidator(CfnAnalysisColumnSortPropertyValidator))(properties.sortByMetrics)),errors.wrap('supplied properties not correct for "BodySectionDynamicNumericDimensionConfigurationProperty"')}function convertCfnAnalysisBodySectionDynamicNumericDimensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBodySectionDynamicNumericDimensionConfigurationPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),Limit:cdk().numberToCloudFormation(properties.limit),SortByMetrics:cdk().listMapper(convertCfnAnalysisColumnSortPropertyToCloudFormation)(properties.sortByMetrics)}):properties}function CfnAnalysisBodySectionDynamicNumericDimensionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("limit","Limit",properties.Limit!=null?cfn_parse().FromCloudFormation.getNumber(properties.Limit):void 0),ret.addPropertyResult("sortByMetrics","SortByMetrics",properties.SortByMetrics!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnSortPropertyFromCloudFormation)(properties.SortByMetrics):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBodySectionDynamicCategoryDimensionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("limit",cdk().validateNumber)(properties.limit)),errors.collect(cdk().propertyValidator("sortByMetrics",cdk().listValidator(CfnAnalysisColumnSortPropertyValidator))(properties.sortByMetrics)),errors.wrap('supplied properties not correct for "BodySectionDynamicCategoryDimensionConfigurationProperty"')}function convertCfnAnalysisBodySectionDynamicCategoryDimensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBodySectionDynamicCategoryDimensionConfigurationPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),Limit:cdk().numberToCloudFormation(properties.limit),SortByMetrics:cdk().listMapper(convertCfnAnalysisColumnSortPropertyToCloudFormation)(properties.sortByMetrics)}):properties}function CfnAnalysisBodySectionDynamicCategoryDimensionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("limit","Limit",properties.Limit!=null?cfn_parse().FromCloudFormation.getNumber(properties.Limit):void 0),ret.addPropertyResult("sortByMetrics","SortByMetrics",properties.SortByMetrics!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnSortPropertyFromCloudFormation)(properties.SortByMetrics):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBodySectionRepeatDimensionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicCategoryDimensionConfiguration",CfnAnalysisBodySectionDynamicCategoryDimensionConfigurationPropertyValidator)(properties.dynamicCategoryDimensionConfiguration)),errors.collect(cdk().propertyValidator("dynamicNumericDimensionConfiguration",CfnAnalysisBodySectionDynamicNumericDimensionConfigurationPropertyValidator)(properties.dynamicNumericDimensionConfiguration)),errors.wrap('supplied properties not correct for "BodySectionRepeatDimensionConfigurationProperty"')}function convertCfnAnalysisBodySectionRepeatDimensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBodySectionRepeatDimensionConfigurationPropertyValidator(properties).assertSuccess(),{DynamicCategoryDimensionConfiguration:convertCfnAnalysisBodySectionDynamicCategoryDimensionConfigurationPropertyToCloudFormation(properties.dynamicCategoryDimensionConfiguration),DynamicNumericDimensionConfiguration:convertCfnAnalysisBodySectionDynamicNumericDimensionConfigurationPropertyToCloudFormation(properties.dynamicNumericDimensionConfiguration)}):properties}function CfnAnalysisBodySectionRepeatDimensionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicCategoryDimensionConfiguration","DynamicCategoryDimensionConfiguration",properties.DynamicCategoryDimensionConfiguration!=null?CfnAnalysisBodySectionDynamicCategoryDimensionConfigurationPropertyFromCloudFormation(properties.DynamicCategoryDimensionConfiguration):void 0),ret.addPropertyResult("dynamicNumericDimensionConfiguration","DynamicNumericDimensionConfiguration",properties.DynamicNumericDimensionConfiguration!=null?CfnAnalysisBodySectionDynamicNumericDimensionConfigurationPropertyFromCloudFormation(properties.DynamicNumericDimensionConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBodySectionRepeatPageBreakConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("after",CfnAnalysisSectionAfterPageBreakPropertyValidator)(properties.after)),errors.wrap('supplied properties not correct for "BodySectionRepeatPageBreakConfigurationProperty"')}function convertCfnAnalysisBodySectionRepeatPageBreakConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBodySectionRepeatPageBreakConfigurationPropertyValidator(properties).assertSuccess(),{After:convertCfnAnalysisSectionAfterPageBreakPropertyToCloudFormation(properties.after)}):properties}function CfnAnalysisBodySectionRepeatPageBreakConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("after","After",properties.After!=null?CfnAnalysisSectionAfterPageBreakPropertyFromCloudFormation(properties.After):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBodySectionRepeatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dimensionConfigurations",cdk().listValidator(CfnAnalysisBodySectionRepeatDimensionConfigurationPropertyValidator))(properties.dimensionConfigurations)),errors.collect(cdk().propertyValidator("nonRepeatingVisuals",cdk().listValidator(cdk().validateString))(properties.nonRepeatingVisuals)),errors.collect(cdk().propertyValidator("pageBreakConfiguration",CfnAnalysisBodySectionRepeatPageBreakConfigurationPropertyValidator)(properties.pageBreakConfiguration)),errors.wrap('supplied properties not correct for "BodySectionRepeatConfigurationProperty"')}function convertCfnAnalysisBodySectionRepeatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBodySectionRepeatConfigurationPropertyValidator(properties).assertSuccess(),{DimensionConfigurations:cdk().listMapper(convertCfnAnalysisBodySectionRepeatDimensionConfigurationPropertyToCloudFormation)(properties.dimensionConfigurations),NonRepeatingVisuals:cdk().listMapper(cdk().stringToCloudFormation)(properties.nonRepeatingVisuals),PageBreakConfiguration:convertCfnAnalysisBodySectionRepeatPageBreakConfigurationPropertyToCloudFormation(properties.pageBreakConfiguration)}):properties}function CfnAnalysisBodySectionRepeatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dimensionConfigurations","DimensionConfigurations",properties.DimensionConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisBodySectionRepeatDimensionConfigurationPropertyFromCloudFormation)(properties.DimensionConfigurations):void 0),ret.addPropertyResult("nonRepeatingVisuals","NonRepeatingVisuals",properties.NonRepeatingVisuals!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NonRepeatingVisuals):void 0),ret.addPropertyResult("pageBreakConfiguration","PageBreakConfiguration",properties.PageBreakConfiguration!=null?CfnAnalysisBodySectionRepeatPageBreakConfigurationPropertyFromCloudFormation(properties.PageBreakConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBodySectionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",CfnAnalysisBodySectionContentPropertyValidator)(properties.content)),errors.collect(cdk().propertyValidator("pageBreakConfiguration",CfnAnalysisSectionPageBreakConfigurationPropertyValidator)(properties.pageBreakConfiguration)),errors.collect(cdk().propertyValidator("repeatConfiguration",CfnAnalysisBodySectionRepeatConfigurationPropertyValidator)(properties.repeatConfiguration)),errors.collect(cdk().propertyValidator("sectionId",cdk().requiredValidator)(properties.sectionId)),errors.collect(cdk().propertyValidator("sectionId",cdk().validateString)(properties.sectionId)),errors.collect(cdk().propertyValidator("style",CfnAnalysisSectionStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "BodySectionConfigurationProperty"')}function convertCfnAnalysisBodySectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBodySectionConfigurationPropertyValidator(properties).assertSuccess(),{Content:convertCfnAnalysisBodySectionContentPropertyToCloudFormation(properties.content),PageBreakConfiguration:convertCfnAnalysisSectionPageBreakConfigurationPropertyToCloudFormation(properties.pageBreakConfiguration),RepeatConfiguration:convertCfnAnalysisBodySectionRepeatConfigurationPropertyToCloudFormation(properties.repeatConfiguration),SectionId:cdk().stringToCloudFormation(properties.sectionId),Style:convertCfnAnalysisSectionStylePropertyToCloudFormation(properties.style)}):properties}function CfnAnalysisBodySectionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("content","Content",properties.Content!=null?CfnAnalysisBodySectionContentPropertyFromCloudFormation(properties.Content):void 0),ret.addPropertyResult("pageBreakConfiguration","PageBreakConfiguration",properties.PageBreakConfiguration!=null?CfnAnalysisSectionPageBreakConfigurationPropertyFromCloudFormation(properties.PageBreakConfiguration):void 0),ret.addPropertyResult("repeatConfiguration","RepeatConfiguration",properties.RepeatConfiguration!=null?CfnAnalysisBodySectionRepeatConfigurationPropertyFromCloudFormation(properties.RepeatConfiguration):void 0),ret.addPropertyResult("sectionId","SectionId",properties.SectionId!=null?cfn_parse().FromCloudFormation.getString(properties.SectionId):void 0),ret.addPropertyResult("style","Style",properties.Style!=null?CfnAnalysisSectionStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSectionBasedLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bodySections",cdk().requiredValidator)(properties.bodySections)),errors.collect(cdk().propertyValidator("bodySections",cdk().listValidator(CfnAnalysisBodySectionConfigurationPropertyValidator))(properties.bodySections)),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("footerSections",cdk().requiredValidator)(properties.footerSections)),errors.collect(cdk().propertyValidator("footerSections",cdk().listValidator(CfnAnalysisHeaderFooterSectionConfigurationPropertyValidator))(properties.footerSections)),errors.collect(cdk().propertyValidator("headerSections",cdk().requiredValidator)(properties.headerSections)),errors.collect(cdk().propertyValidator("headerSections",cdk().listValidator(CfnAnalysisHeaderFooterSectionConfigurationPropertyValidator))(properties.headerSections)),errors.wrap('supplied properties not correct for "SectionBasedLayoutConfigurationProperty"')}function convertCfnAnalysisSectionBasedLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSectionBasedLayoutConfigurationPropertyValidator(properties).assertSuccess(),{BodySections:cdk().listMapper(convertCfnAnalysisBodySectionConfigurationPropertyToCloudFormation)(properties.bodySections),CanvasSizeOptions:convertCfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions),FooterSections:cdk().listMapper(convertCfnAnalysisHeaderFooterSectionConfigurationPropertyToCloudFormation)(properties.footerSections),HeaderSections:cdk().listMapper(convertCfnAnalysisHeaderFooterSectionConfigurationPropertyToCloudFormation)(properties.headerSections)}):properties}function CfnAnalysisSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bodySections","BodySections",properties.BodySections!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisBodySectionConfigurationPropertyFromCloudFormation)(properties.BodySections):void 0),ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnAnalysisSectionBasedLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addPropertyResult("footerSections","FooterSections",properties.FooterSections!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisHeaderFooterSectionConfigurationPropertyFromCloudFormation)(properties.FooterSections):void 0),ret.addPropertyResult("headerSections","HeaderSections",properties.HeaderSections!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisHeaderFooterSectionConfigurationPropertyFromCloudFormation)(properties.HeaderSections):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("freeFormLayout",CfnAnalysisFreeFormLayoutConfigurationPropertyValidator)(properties.freeFormLayout)),errors.collect(cdk().propertyValidator("gridLayout",CfnAnalysisGridLayoutConfigurationPropertyValidator)(properties.gridLayout)),errors.collect(cdk().propertyValidator("sectionBasedLayout",CfnAnalysisSectionBasedLayoutConfigurationPropertyValidator)(properties.sectionBasedLayout)),errors.wrap('supplied properties not correct for "LayoutConfigurationProperty"')}function convertCfnAnalysisLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLayoutConfigurationPropertyValidator(properties).assertSuccess(),{FreeFormLayout:convertCfnAnalysisFreeFormLayoutConfigurationPropertyToCloudFormation(properties.freeFormLayout),GridLayout:convertCfnAnalysisGridLayoutConfigurationPropertyToCloudFormation(properties.gridLayout),SectionBasedLayout:convertCfnAnalysisSectionBasedLayoutConfigurationPropertyToCloudFormation(properties.sectionBasedLayout)}):properties}function CfnAnalysisLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("freeFormLayout","FreeFormLayout",properties.FreeFormLayout!=null?CfnAnalysisFreeFormLayoutConfigurationPropertyFromCloudFormation(properties.FreeFormLayout):void 0),ret.addPropertyResult("gridLayout","GridLayout",properties.GridLayout!=null?CfnAnalysisGridLayoutConfigurationPropertyFromCloudFormation(properties.GridLayout):void 0),ret.addPropertyResult("sectionBasedLayout","SectionBasedLayout",properties.SectionBasedLayout!=null?CfnAnalysisSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties.SectionBasedLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLayoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnAnalysisLayoutConfigurationPropertyValidator)(properties.configuration)),errors.wrap('supplied properties not correct for "LayoutProperty"')}function convertCfnAnalysisLayoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLayoutPropertyValidator(properties).assertSuccess(),{Configuration:convertCfnAnalysisLayoutConfigurationPropertyToCloudFormation(properties.configuration)}):properties}function CfnAnalysisLayoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnAnalysisLayoutConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterSliderControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisSliderControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("maximumValue",cdk().requiredValidator)(properties.maximumValue)),errors.collect(cdk().propertyValidator("maximumValue",cdk().validateNumber)(properties.maximumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().requiredValidator)(properties.minimumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().validateNumber)(properties.minimumValue)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("stepSize",cdk().requiredValidator)(properties.stepSize)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterSliderControlProperty"')}function convertCfnAnalysisFilterSliderControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterSliderControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnAnalysisSliderControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),MaximumValue:cdk().numberToCloudFormation(properties.maximumValue),MinimumValue:cdk().numberToCloudFormation(properties.minimumValue),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),StepSize:cdk().numberToCloudFormation(properties.stepSize),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisFilterSliderControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisSliderControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("maximumValue","MaximumValue",properties.MaximumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumValue):void 0),ret.addPropertyResult("minimumValue","MinimumValue",properties.MinimumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumValue):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterTextAreaControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisTextAreaControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "FilterTextAreaControlProperty"')}function convertCfnAnalysisFilterTextAreaControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterTextAreaControlPropertyValidator(properties).assertSuccess(),{Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisplayOptions:convertCfnAnalysisTextAreaControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnAnalysisFilterTextAreaControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterDropDownControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnAnalysisCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisDropDownControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnAnalysisFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterDropDownControlProperty"')}function convertCfnAnalysisFilterDropDownControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterDropDownControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnAnalysisCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnAnalysisDropDownControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SelectableValues:convertCfnAnalysisFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisFilterDropDownControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnAnalysisCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisDropDownControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnAnalysisFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterTextFieldControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisTextFieldControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "FilterTextFieldControlProperty"')}function convertCfnAnalysisFilterTextFieldControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterTextFieldControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnAnalysisTextFieldControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnAnalysisFilterTextFieldControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterListControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnAnalysisCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisListControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnAnalysisFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterListControlProperty"')}function convertCfnAnalysisFilterListControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterListControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnAnalysisCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),DisplayOptions:convertCfnAnalysisListControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SelectableValues:convertCfnAnalysisFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisFilterListControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnAnalysisCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisListControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnAnalysisFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterDateTimePickerControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisDateTimePickerControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterDateTimePickerControlProperty"')}function convertCfnAnalysisFilterDateTimePickerControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterDateTimePickerControlPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnAnalysisDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisFilterDateTimePickerControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterRelativeDateTimeControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "FilterRelativeDateTimeControlProperty"')}function convertCfnAnalysisFilterRelativeDateTimeControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterRelativeDateTimeControlPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnAnalysisFilterRelativeDateTimeControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnAnalysisRelativeDateTimeControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterCrossSheetControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnAnalysisCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.wrap('supplied properties not correct for "FilterCrossSheetControlProperty"')}function convertCfnAnalysisFilterCrossSheetControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterCrossSheetControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnAnalysisCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId)}):properties}function CfnAnalysisFilterCrossSheetControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnAnalysisCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossSheet",CfnAnalysisFilterCrossSheetControlPropertyValidator)(properties.crossSheet)),errors.collect(cdk().propertyValidator("dateTimePicker",CfnAnalysisFilterDateTimePickerControlPropertyValidator)(properties.dateTimePicker)),errors.collect(cdk().propertyValidator("dropdown",CfnAnalysisFilterDropDownControlPropertyValidator)(properties.dropdown)),errors.collect(cdk().propertyValidator("list",CfnAnalysisFilterListControlPropertyValidator)(properties.list)),errors.collect(cdk().propertyValidator("relativeDateTime",CfnAnalysisFilterRelativeDateTimeControlPropertyValidator)(properties.relativeDateTime)),errors.collect(cdk().propertyValidator("slider",CfnAnalysisFilterSliderControlPropertyValidator)(properties.slider)),errors.collect(cdk().propertyValidator("textArea",CfnAnalysisFilterTextAreaControlPropertyValidator)(properties.textArea)),errors.collect(cdk().propertyValidator("textField",CfnAnalysisFilterTextFieldControlPropertyValidator)(properties.textField)),errors.wrap('supplied properties not correct for "FilterControlProperty"')}function convertCfnAnalysisFilterControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterControlPropertyValidator(properties).assertSuccess(),{CrossSheet:convertCfnAnalysisFilterCrossSheetControlPropertyToCloudFormation(properties.crossSheet),DateTimePicker:convertCfnAnalysisFilterDateTimePickerControlPropertyToCloudFormation(properties.dateTimePicker),Dropdown:convertCfnAnalysisFilterDropDownControlPropertyToCloudFormation(properties.dropdown),List:convertCfnAnalysisFilterListControlPropertyToCloudFormation(properties.list),RelativeDateTime:convertCfnAnalysisFilterRelativeDateTimeControlPropertyToCloudFormation(properties.relativeDateTime),Slider:convertCfnAnalysisFilterSliderControlPropertyToCloudFormation(properties.slider),TextArea:convertCfnAnalysisFilterTextAreaControlPropertyToCloudFormation(properties.textArea),TextField:convertCfnAnalysisFilterTextFieldControlPropertyToCloudFormation(properties.textField)}):properties}function CfnAnalysisFilterControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossSheet","CrossSheet",properties.CrossSheet!=null?CfnAnalysisFilterCrossSheetControlPropertyFromCloudFormation(properties.CrossSheet):void 0),ret.addPropertyResult("dateTimePicker","DateTimePicker",properties.DateTimePicker!=null?CfnAnalysisFilterDateTimePickerControlPropertyFromCloudFormation(properties.DateTimePicker):void 0),ret.addPropertyResult("dropdown","Dropdown",properties.Dropdown!=null?CfnAnalysisFilterDropDownControlPropertyFromCloudFormation(properties.Dropdown):void 0),ret.addPropertyResult("list","List",properties.List!=null?CfnAnalysisFilterListControlPropertyFromCloudFormation(properties.List):void 0),ret.addPropertyResult("relativeDateTime","RelativeDateTime",properties.RelativeDateTime!=null?CfnAnalysisFilterRelativeDateTimeControlPropertyFromCloudFormation(properties.RelativeDateTime):void 0),ret.addPropertyResult("slider","Slider",properties.Slider!=null?CfnAnalysisFilterSliderControlPropertyFromCloudFormation(properties.Slider):void 0),ret.addPropertyResult("textArea","TextArea",properties.TextArea!=null?CfnAnalysisFilterTextAreaControlPropertyFromCloudFormation(properties.TextArea):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?CfnAnalysisFilterTextFieldControlPropertyFromCloudFormation(properties.TextField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetControlLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gridLayout",CfnAnalysisGridLayoutConfigurationPropertyValidator)(properties.gridLayout)),errors.wrap('supplied properties not correct for "SheetControlLayoutConfigurationProperty"')}function convertCfnAnalysisSheetControlLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetControlLayoutConfigurationPropertyValidator(properties).assertSuccess(),{GridLayout:convertCfnAnalysisGridLayoutConfigurationPropertyToCloudFormation(properties.gridLayout)}):properties}function CfnAnalysisSheetControlLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gridLayout","GridLayout",properties.GridLayout!=null?CfnAnalysisGridLayoutConfigurationPropertyFromCloudFormation(properties.GridLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetControlLayoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnAnalysisSheetControlLayoutConfigurationPropertyValidator)(properties.configuration)),errors.wrap('supplied properties not correct for "SheetControlLayoutProperty"')}function convertCfnAnalysisSheetControlLayoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetControlLayoutPropertyValidator(properties).assertSuccess(),{Configuration:convertCfnAnalysisSheetControlLayoutConfigurationPropertyToCloudFormation(properties.configuration)}):properties}function CfnAnalysisSheetControlLayoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnAnalysisSheetControlLayoutConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLongFormatTextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("plainText",cdk().validateString)(properties.plainText)),errors.collect(cdk().propertyValidator("richText",cdk().validateString)(properties.richText)),errors.wrap('supplied properties not correct for "LongFormatTextProperty"')}function convertCfnAnalysisLongFormatTextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLongFormatTextPropertyValidator(properties).assertSuccess(),{PlainText:cdk().stringToCloudFormation(properties.plainText),RichText:cdk().stringToCloudFormation(properties.richText)}):properties}function CfnAnalysisLongFormatTextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("plainText","PlainText",properties.PlainText!=null?cfn_parse().FromCloudFormation.getString(properties.PlainText):void 0),ret.addPropertyResult("richText","RichText",properties.RichText!=null?cfn_parse().FromCloudFormation.getString(properties.RichText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatText",CfnAnalysisLongFormatTextPropertyValidator)(properties.formatText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "VisualSubtitleLabelOptionsProperty"')}function convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator(properties).assertSuccess(),{FormatText:convertCfnAnalysisLongFormatTextPropertyToCloudFormation(properties.formatText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatText","FormatText",properties.FormatText!=null?CfnAnalysisLongFormatTextPropertyFromCloudFormation(properties.FormatText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisItemsLimitConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("itemsLimit",cdk().validateNumber)(properties.itemsLimit)),errors.collect(cdk().propertyValidator("otherCategories",cdk().validateString)(properties.otherCategories)),errors.wrap('supplied properties not correct for "ItemsLimitConfigurationProperty"')}function convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisItemsLimitConfigurationPropertyValidator(properties).assertSuccess(),{ItemsLimit:cdk().numberToCloudFormation(properties.itemsLimit),OtherCategories:cdk().stringToCloudFormation(properties.otherCategories)}):properties}function CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("itemsLimit","ItemsLimit",properties.ItemsLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ItemsLimit):void 0),ret.addPropertyResult("otherCategories","OtherCategories",properties.OtherCategories!=null?cfn_parse().FromCloudFormation.getString(properties.OtherCategories):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFieldSortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "FieldSortProperty"')}function convertCfnAnalysisFieldSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFieldSortPropertyValidator(properties).assertSuccess(),{Direction:cdk().stringToCloudFormation(properties.direction),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnAnalysisFieldSortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFieldSortOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnSort",CfnAnalysisColumnSortPropertyValidator)(properties.columnSort)),errors.collect(cdk().propertyValidator("fieldSort",CfnAnalysisFieldSortPropertyValidator)(properties.fieldSort)),errors.wrap('supplied properties not correct for "FieldSortOptionsProperty"')}function convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFieldSortOptionsPropertyValidator(properties).assertSuccess(),{ColumnSort:convertCfnAnalysisColumnSortPropertyToCloudFormation(properties.columnSort),FieldSort:convertCfnAnalysisFieldSortPropertyToCloudFormation(properties.fieldSort)}):properties}function CfnAnalysisFieldSortOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnSort","ColumnSort",properties.ColumnSort!=null?CfnAnalysisColumnSortPropertyFromCloudFormation(properties.ColumnSort):void 0),ret.addPropertyResult("fieldSort","FieldSort",properties.FieldSort!=null?CfnAnalysisFieldSortPropertyFromCloudFormation(properties.FieldSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFunnelChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "FunnelChartSortConfigurationProperty"')}function convertCfnAnalysisFunnelChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFunnelChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnAnalysisFunnelChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFunnelChartDataLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelVisibility",cdk().validateString)(properties.categoryLabelVisibility)),errors.collect(cdk().propertyValidator("labelColor",cdk().validateString)(properties.labelColor)),errors.collect(cdk().propertyValidator("labelFontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.labelFontConfiguration)),errors.collect(cdk().propertyValidator("measureDataLabelStyle",cdk().validateString)(properties.measureDataLabelStyle)),errors.collect(cdk().propertyValidator("measureLabelVisibility",cdk().validateString)(properties.measureLabelVisibility)),errors.collect(cdk().propertyValidator("position",cdk().validateString)(properties.position)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FunnelChartDataLabelOptionsProperty"')}function convertCfnAnalysisFunnelChartDataLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFunnelChartDataLabelOptionsPropertyValidator(properties).assertSuccess(),{CategoryLabelVisibility:cdk().stringToCloudFormation(properties.categoryLabelVisibility),LabelColor:cdk().stringToCloudFormation(properties.labelColor),LabelFontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.labelFontConfiguration),MeasureDataLabelStyle:cdk().stringToCloudFormation(properties.measureDataLabelStyle),MeasureLabelVisibility:cdk().stringToCloudFormation(properties.measureLabelVisibility),Position:cdk().stringToCloudFormation(properties.position),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisFunnelChartDataLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelVisibility","CategoryLabelVisibility",properties.CategoryLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryLabelVisibility):void 0),ret.addPropertyResult("labelColor","LabelColor",properties.LabelColor!=null?cfn_parse().FromCloudFormation.getString(properties.LabelColor):void 0),ret.addPropertyResult("labelFontConfiguration","LabelFontConfiguration",properties.LabelFontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.LabelFontConfiguration):void 0),ret.addPropertyResult("measureDataLabelStyle","MeasureDataLabelStyle",properties.MeasureDataLabelStyle!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureDataLabelStyle):void 0),ret.addPropertyResult("measureLabelVisibility","MeasureLabelVisibility",properties.MeasureLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureLabelVisibility):void 0),ret.addPropertyResult("position","Position",properties.Position!=null?cfn_parse().FromCloudFormation.getString(properties.Position):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisLabelReferenceOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "AxisLabelReferenceOptionsProperty"')}function convertCfnAnalysisAxisLabelReferenceOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisLabelReferenceOptionsPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnAnalysisAxisLabelReferenceOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("applyTo",CfnAnalysisAxisLabelReferenceOptionsPropertyValidator)(properties.applyTo)),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.wrap('supplied properties not correct for "AxisLabelOptionsProperty"')}function convertCfnAnalysisAxisLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisLabelOptionsPropertyValidator(properties).assertSuccess(),{ApplyTo:convertCfnAnalysisAxisLabelReferenceOptionsPropertyToCloudFormation(properties.applyTo),CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.fontConfiguration)}):properties}function CfnAnalysisAxisLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("applyTo","ApplyTo",properties.ApplyTo!=null?CfnAnalysisAxisLabelReferenceOptionsPropertyFromCloudFormation(properties.ApplyTo):void 0),ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisChartAxisLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisLabelOptions",cdk().listValidator(CfnAnalysisAxisLabelOptionsPropertyValidator))(properties.axisLabelOptions)),errors.collect(cdk().propertyValidator("sortIconVisibility",cdk().validateString)(properties.sortIconVisibility)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ChartAxisLabelOptionsProperty"')}function convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisChartAxisLabelOptionsPropertyValidator(properties).assertSuccess(),{AxisLabelOptions:cdk().listMapper(convertCfnAnalysisAxisLabelOptionsPropertyToCloudFormation)(properties.axisLabelOptions),SortIconVisibility:cdk().stringToCloudFormation(properties.sortIconVisibility),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisLabelOptions","AxisLabelOptions",properties.AxisLabelOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisAxisLabelOptionsPropertyFromCloudFormation)(properties.AxisLabelOptions):void 0),ret.addPropertyResult("sortIconVisibility","SortIconVisibility",properties.SortIconVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.SortIconVisibility):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("dateGranularity",cdk().validateString)(properties.dateGranularity)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisDateTimeFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "DateDimensionFieldProperty"')}function convertCfnAnalysisDateDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateDimensionFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),DateGranularity:cdk().stringToCloudFormation(properties.dateGranularity),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnAnalysisDateTimeFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnAnalysisDateDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("dateGranularity","DateGranularity",properties.DateGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.DateGranularity):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisDateTimeFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericalDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisNumberFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "NumericalDimensionFieldProperty"')}function convertCfnAnalysisNumericalDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericalDimensionFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnAnalysisNumberFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnAnalysisNumericalDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisNumberFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCategoricalDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisStringFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "CategoricalDimensionFieldProperty"')}function convertCfnAnalysisCategoricalDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCategoricalDimensionFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnAnalysisStringFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnAnalysisCategoricalDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisStringFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoricalDimensionField",CfnAnalysisCategoricalDimensionFieldPropertyValidator)(properties.categoricalDimensionField)),errors.collect(cdk().propertyValidator("dateDimensionField",CfnAnalysisDateDimensionFieldPropertyValidator)(properties.dateDimensionField)),errors.collect(cdk().propertyValidator("numericalDimensionField",CfnAnalysisNumericalDimensionFieldPropertyValidator)(properties.numericalDimensionField)),errors.wrap('supplied properties not correct for "DimensionFieldProperty"')}function convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDimensionFieldPropertyValidator(properties).assertSuccess(),{CategoricalDimensionField:convertCfnAnalysisCategoricalDimensionFieldPropertyToCloudFormation(properties.categoricalDimensionField),DateDimensionField:convertCfnAnalysisDateDimensionFieldPropertyToCloudFormation(properties.dateDimensionField),NumericalDimensionField:convertCfnAnalysisNumericalDimensionFieldPropertyToCloudFormation(properties.numericalDimensionField)}):properties}function CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoricalDimensionField","CategoricalDimensionField",properties.CategoricalDimensionField!=null?CfnAnalysisCategoricalDimensionFieldPropertyFromCloudFormation(properties.CategoricalDimensionField):void 0),ret.addPropertyResult("dateDimensionField","DateDimensionField",properties.DateDimensionField!=null?CfnAnalysisDateDimensionFieldPropertyFromCloudFormation(properties.DateDimensionField):void 0),ret.addPropertyResult("numericalDimensionField","NumericalDimensionField",properties.NumericalDimensionField!=null?CfnAnalysisNumericalDimensionFieldPropertyFromCloudFormation(properties.NumericalDimensionField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",cdk().validateString)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisDateTimeFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "DateMeasureFieldProperty"')}function convertCfnAnalysisDateMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateMeasureFieldPropertyValidator(properties).assertSuccess(),{AggregationFunction:cdk().stringToCloudFormation(properties.aggregationFunction),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnAnalysisDateTimeFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnAnalysisDateMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisDateTimeFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericalMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnAnalysisNumericalAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisNumberFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "NumericalMeasureFieldProperty"')}function convertCfnAnalysisNumericalMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericalMeasureFieldPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnAnalysisNumericalAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnAnalysisNumberFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnAnalysisNumericalMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnAnalysisNumericalAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisNumberFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCategoricalMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",cdk().validateString)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisStringFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "CategoricalMeasureFieldProperty"')}function convertCfnAnalysisCategoricalMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCategoricalMeasureFieldPropertyValidator(properties).assertSuccess(),{AggregationFunction:cdk().stringToCloudFormation(properties.aggregationFunction),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnAnalysisStringFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnAnalysisCategoricalMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisStringFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCalculatedMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "CalculatedMeasureFieldProperty"')}function convertCfnAnalysisCalculatedMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCalculatedMeasureFieldPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnAnalysisCalculatedMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("calculatedMeasureField",CfnAnalysisCalculatedMeasureFieldPropertyValidator)(properties.calculatedMeasureField)),errors.collect(cdk().propertyValidator("categoricalMeasureField",CfnAnalysisCategoricalMeasureFieldPropertyValidator)(properties.categoricalMeasureField)),errors.collect(cdk().propertyValidator("dateMeasureField",CfnAnalysisDateMeasureFieldPropertyValidator)(properties.dateMeasureField)),errors.collect(cdk().propertyValidator("numericalMeasureField",CfnAnalysisNumericalMeasureFieldPropertyValidator)(properties.numericalMeasureField)),errors.wrap('supplied properties not correct for "MeasureFieldProperty"')}function convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisMeasureFieldPropertyValidator(properties).assertSuccess(),{CalculatedMeasureField:convertCfnAnalysisCalculatedMeasureFieldPropertyToCloudFormation(properties.calculatedMeasureField),CategoricalMeasureField:convertCfnAnalysisCategoricalMeasureFieldPropertyToCloudFormation(properties.categoricalMeasureField),DateMeasureField:convertCfnAnalysisDateMeasureFieldPropertyToCloudFormation(properties.dateMeasureField),NumericalMeasureField:convertCfnAnalysisNumericalMeasureFieldPropertyToCloudFormation(properties.numericalMeasureField)}):properties}function CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("calculatedMeasureField","CalculatedMeasureField",properties.CalculatedMeasureField!=null?CfnAnalysisCalculatedMeasureFieldPropertyFromCloudFormation(properties.CalculatedMeasureField):void 0),ret.addPropertyResult("categoricalMeasureField","CategoricalMeasureField",properties.CategoricalMeasureField!=null?CfnAnalysisCategoricalMeasureFieldPropertyFromCloudFormation(properties.CategoricalMeasureField):void 0),ret.addPropertyResult("dateMeasureField","DateMeasureField",properties.DateMeasureField!=null?CfnAnalysisDateMeasureFieldPropertyFromCloudFormation(properties.DateMeasureField):void 0),ret.addPropertyResult("numericalMeasureField","NumericalMeasureField",properties.NumericalMeasureField!=null?CfnAnalysisNumericalMeasureFieldPropertyFromCloudFormation(properties.NumericalMeasureField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFunnelChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "FunnelChartAggregatedFieldWellsProperty"')}function convertCfnAnalysisFunnelChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFunnelChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.category),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisFunnelChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFunnelChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("funnelChartAggregatedFieldWells",CfnAnalysisFunnelChartAggregatedFieldWellsPropertyValidator)(properties.funnelChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "FunnelChartFieldWellsProperty"')}function convertCfnAnalysisFunnelChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFunnelChartFieldWellsPropertyValidator(properties).assertSuccess(),{FunnelChartAggregatedFieldWells:convertCfnAnalysisFunnelChartAggregatedFieldWellsPropertyToCloudFormation(properties.funnelChartAggregatedFieldWells)}):properties}function CfnAnalysisFunnelChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("funnelChartAggregatedFieldWells","FunnelChartAggregatedFieldWells",properties.FunnelChartAggregatedFieldWells!=null?CfnAnalysisFunnelChartAggregatedFieldWellsPropertyFromCloudFormation(properties.FunnelChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFieldTooltipItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("label",cdk().validateString)(properties.label)),errors.collect(cdk().propertyValidator("tooltipTarget",cdk().validateString)(properties.tooltipTarget)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FieldTooltipItemProperty"')}function convertCfnAnalysisFieldTooltipItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFieldTooltipItemPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Label:cdk().stringToCloudFormation(properties.label),TooltipTarget:cdk().stringToCloudFormation(properties.tooltipTarget),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisFieldTooltipItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("tooltipTarget","TooltipTarget",properties.TooltipTarget!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipTarget):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisColumnTooltipItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregation",CfnAnalysisAggregationFunctionPropertyValidator)(properties.aggregation)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("label",cdk().validateString)(properties.label)),errors.collect(cdk().propertyValidator("tooltipTarget",cdk().validateString)(properties.tooltipTarget)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ColumnTooltipItemProperty"')}function convertCfnAnalysisColumnTooltipItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisColumnTooltipItemPropertyValidator(properties).assertSuccess(),{Aggregation:convertCfnAnalysisAggregationFunctionPropertyToCloudFormation(properties.aggregation),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),Label:cdk().stringToCloudFormation(properties.label),TooltipTarget:cdk().stringToCloudFormation(properties.tooltipTarget),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisColumnTooltipItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregation","Aggregation",properties.Aggregation!=null?CfnAnalysisAggregationFunctionPropertyFromCloudFormation(properties.Aggregation):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("tooltipTarget","TooltipTarget",properties.TooltipTarget!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipTarget):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTooltipItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnTooltipItem",CfnAnalysisColumnTooltipItemPropertyValidator)(properties.columnTooltipItem)),errors.collect(cdk().propertyValidator("fieldTooltipItem",CfnAnalysisFieldTooltipItemPropertyValidator)(properties.fieldTooltipItem)),errors.wrap('supplied properties not correct for "TooltipItemProperty"')}function convertCfnAnalysisTooltipItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTooltipItemPropertyValidator(properties).assertSuccess(),{ColumnTooltipItem:convertCfnAnalysisColumnTooltipItemPropertyToCloudFormation(properties.columnTooltipItem),FieldTooltipItem:convertCfnAnalysisFieldTooltipItemPropertyToCloudFormation(properties.fieldTooltipItem)}):properties}function CfnAnalysisTooltipItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnTooltipItem","ColumnTooltipItem",properties.ColumnTooltipItem!=null?CfnAnalysisColumnTooltipItemPropertyFromCloudFormation(properties.ColumnTooltipItem):void 0),ret.addPropertyResult("fieldTooltipItem","FieldTooltipItem",properties.FieldTooltipItem!=null?CfnAnalysisFieldTooltipItemPropertyFromCloudFormation(properties.FieldTooltipItem):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFieldBasedTooltipPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationVisibility",cdk().validateString)(properties.aggregationVisibility)),errors.collect(cdk().propertyValidator("tooltipFields",cdk().listValidator(CfnAnalysisTooltipItemPropertyValidator))(properties.tooltipFields)),errors.collect(cdk().propertyValidator("tooltipTitleType",cdk().validateString)(properties.tooltipTitleType)),errors.wrap('supplied properties not correct for "FieldBasedTooltipProperty"')}function convertCfnAnalysisFieldBasedTooltipPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFieldBasedTooltipPropertyValidator(properties).assertSuccess(),{AggregationVisibility:cdk().stringToCloudFormation(properties.aggregationVisibility),TooltipFields:cdk().listMapper(convertCfnAnalysisTooltipItemPropertyToCloudFormation)(properties.tooltipFields),TooltipTitleType:cdk().stringToCloudFormation(properties.tooltipTitleType)}):properties}function CfnAnalysisFieldBasedTooltipPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationVisibility","AggregationVisibility",properties.AggregationVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AggregationVisibility):void 0),ret.addPropertyResult("tooltipFields","TooltipFields",properties.TooltipFields!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisTooltipItemPropertyFromCloudFormation)(properties.TooltipFields):void 0),ret.addPropertyResult("tooltipTitleType","TooltipTitleType",properties.TooltipTitleType!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipTitleType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTooltipOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldBasedTooltip",CfnAnalysisFieldBasedTooltipPropertyValidator)(properties.fieldBasedTooltip)),errors.collect(cdk().propertyValidator("selectedTooltipType",cdk().validateString)(properties.selectedTooltipType)),errors.collect(cdk().propertyValidator("tooltipVisibility",cdk().validateString)(properties.tooltipVisibility)),errors.wrap('supplied properties not correct for "TooltipOptionsProperty"')}function convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTooltipOptionsPropertyValidator(properties).assertSuccess(),{FieldBasedTooltip:convertCfnAnalysisFieldBasedTooltipPropertyToCloudFormation(properties.fieldBasedTooltip),SelectedTooltipType:cdk().stringToCloudFormation(properties.selectedTooltipType),TooltipVisibility:cdk().stringToCloudFormation(properties.tooltipVisibility)}):properties}function CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldBasedTooltip","FieldBasedTooltip",properties.FieldBasedTooltip!=null?CfnAnalysisFieldBasedTooltipPropertyFromCloudFormation(properties.FieldBasedTooltip):void 0),ret.addPropertyResult("selectedTooltipType","SelectedTooltipType",properties.SelectedTooltipType!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedTooltipType):void 0),ret.addPropertyResult("tooltipVisibility","TooltipVisibility",properties.TooltipVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataPathTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pivotTableDataPathType",cdk().validateString)(properties.pivotTableDataPathType)),errors.wrap('supplied properties not correct for "DataPathTypeProperty"')}function convertCfnAnalysisDataPathTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataPathTypePropertyValidator(properties).assertSuccess(),{PivotTableDataPathType:cdk().stringToCloudFormation(properties.pivotTableDataPathType)}):properties}function CfnAnalysisDataPathTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pivotTableDataPathType","PivotTableDataPathType",properties.PivotTableDataPathType!=null?cfn_parse().FromCloudFormation.getString(properties.PivotTableDataPathType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataPathValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataPathType",CfnAnalysisDataPathTypePropertyValidator)(properties.dataPathType)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.wrap('supplied properties not correct for "DataPathValueProperty"')}function convertCfnAnalysisDataPathValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataPathValuePropertyValidator(properties).assertSuccess(),{DataPathType:convertCfnAnalysisDataPathTypePropertyToCloudFormation(properties.dataPathType),FieldId:cdk().stringToCloudFormation(properties.fieldId),FieldValue:cdk().stringToCloudFormation(properties.fieldValue)}):properties}function CfnAnalysisDataPathValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataPathType","DataPathType",properties.DataPathType!=null?CfnAnalysisDataPathTypePropertyFromCloudFormation(properties.DataPathType):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataPathColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("element",cdk().requiredValidator)(properties.element)),errors.collect(cdk().propertyValidator("element",CfnAnalysisDataPathValuePropertyValidator)(properties.element)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "DataPathColorProperty"')}function convertCfnAnalysisDataPathColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataPathColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Element:convertCfnAnalysisDataPathValuePropertyToCloudFormation(properties.element),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnAnalysisDataPathColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("element","Element",properties.Element!=null?CfnAnalysisDataPathValuePropertyFromCloudFormation(properties.Element):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisVisualPalettePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("chartColor",cdk().validateString)(properties.chartColor)),errors.collect(cdk().propertyValidator("colorMap",cdk().listValidator(CfnAnalysisDataPathColorPropertyValidator))(properties.colorMap)),errors.wrap('supplied properties not correct for "VisualPaletteProperty"')}function convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisVisualPalettePropertyValidator(properties).assertSuccess(),{ChartColor:cdk().stringToCloudFormation(properties.chartColor),ColorMap:cdk().listMapper(convertCfnAnalysisDataPathColorPropertyToCloudFormation)(properties.colorMap)}):properties}function CfnAnalysisVisualPalettePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("chartColor","ChartColor",properties.ChartColor!=null?cfn_parse().FromCloudFormation.getString(properties.ChartColor):void 0),ret.addPropertyResult("colorMap","ColorMap",properties.ColorMap!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDataPathColorPropertyFromCloudFormation)(properties.ColorMap):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisContextMenuOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ContextMenuOptionProperty"')}function convertCfnAnalysisContextMenuOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisContextMenuOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnAnalysisContextMenuOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisVisualMenuOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "VisualMenuOptionProperty"')}function convertCfnAnalysisVisualMenuOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisVisualMenuOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnAnalysisVisualMenuOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisVisualInteractionOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contextMenuOption",CfnAnalysisContextMenuOptionPropertyValidator)(properties.contextMenuOption)),errors.collect(cdk().propertyValidator("visualMenuOption",CfnAnalysisVisualMenuOptionPropertyValidator)(properties.visualMenuOption)),errors.wrap('supplied properties not correct for "VisualInteractionOptionsProperty"')}function convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisVisualInteractionOptionsPropertyValidator(properties).assertSuccess(),{ContextMenuOption:convertCfnAnalysisContextMenuOptionPropertyToCloudFormation(properties.contextMenuOption),VisualMenuOption:convertCfnAnalysisVisualMenuOptionPropertyToCloudFormation(properties.visualMenuOption)}):properties}function CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contextMenuOption","ContextMenuOption",properties.ContextMenuOption!=null?CfnAnalysisContextMenuOptionPropertyFromCloudFormation(properties.ContextMenuOption):void 0),ret.addPropertyResult("visualMenuOption","VisualMenuOption",properties.VisualMenuOption!=null?CfnAnalysisVisualMenuOptionPropertyFromCloudFormation(properties.VisualMenuOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFunnelChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("dataLabelOptions",CfnAnalysisFunnelChartDataLabelOptionsPropertyValidator)(properties.dataLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisFunnelChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisFunnelChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("valueLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.valueLabelOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "FunnelChartConfigurationProperty"')}function convertCfnAnalysisFunnelChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFunnelChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),DataLabelOptions:convertCfnAnalysisFunnelChartDataLabelOptionsPropertyToCloudFormation(properties.dataLabelOptions),FieldWells:convertCfnAnalysisFunnelChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),SortConfiguration:convertCfnAnalysisFunnelChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),ValueLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.valueLabelOptions),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnAnalysisFunnelChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("dataLabelOptions","DataLabelOptions",properties.DataLabelOptions!=null?CfnAnalysisFunnelChartDataLabelOptionsPropertyFromCloudFormation(properties.DataLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisFunnelChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisFunnelChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("valueLabelOptions","ValueLabelOptions",properties.ValueLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.ValueLabelOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLocalNavigationConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetSheetId",cdk().requiredValidator)(properties.targetSheetId)),errors.collect(cdk().propertyValidator("targetSheetId",cdk().validateString)(properties.targetSheetId)),errors.wrap('supplied properties not correct for "LocalNavigationConfigurationProperty"')}function convertCfnAnalysisLocalNavigationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLocalNavigationConfigurationPropertyValidator(properties).assertSuccess(),{TargetSheetId:cdk().stringToCloudFormation(properties.targetSheetId)}):properties}function CfnAnalysisLocalNavigationConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetSheetId","TargetSheetId",properties.TargetSheetId!=null?cfn_parse().FromCloudFormation.getString(properties.TargetSheetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomActionNavigationOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("localNavigationConfiguration",CfnAnalysisLocalNavigationConfigurationPropertyValidator)(properties.localNavigationConfiguration)),errors.wrap('supplied properties not correct for "CustomActionNavigationOperationProperty"')}function convertCfnAnalysisCustomActionNavigationOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomActionNavigationOperationPropertyValidator(properties).assertSuccess(),{LocalNavigationConfiguration:convertCfnAnalysisLocalNavigationConfigurationPropertyToCloudFormation(properties.localNavigationConfiguration)}):properties}function CfnAnalysisCustomActionNavigationOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("localNavigationConfiguration","LocalNavigationConfiguration",properties.LocalNavigationConfiguration!=null?CfnAnalysisLocalNavigationConfigurationPropertyFromCloudFormation(properties.LocalNavigationConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomParameterValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeValues",cdk().listValidator(cdk().validateString))(properties.dateTimeValues)),errors.collect(cdk().propertyValidator("decimalValues",cdk().listValidator(cdk().validateNumber))(properties.decimalValues)),errors.collect(cdk().propertyValidator("integerValues",cdk().listValidator(cdk().validateNumber))(properties.integerValues)),errors.collect(cdk().propertyValidator("stringValues",cdk().listValidator(cdk().validateString))(properties.stringValues)),errors.wrap('supplied properties not correct for "CustomParameterValuesProperty"')}function convertCfnAnalysisCustomParameterValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomParameterValuesPropertyValidator(properties).assertSuccess(),{DateTimeValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.dateTimeValues),DecimalValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.decimalValues),IntegerValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.integerValues),StringValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.stringValues)}):properties}function CfnAnalysisCustomParameterValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeValues","DateTimeValues",properties.DateTimeValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DateTimeValues):void 0),ret.addPropertyResult("decimalValues","DecimalValues",properties.DecimalValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.DecimalValues):void 0),ret.addPropertyResult("integerValues","IntegerValues",properties.IntegerValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.IntegerValues):void 0),ret.addPropertyResult("stringValues","StringValues",properties.StringValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StringValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomValuesConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValues",cdk().requiredValidator)(properties.customValues)),errors.collect(cdk().propertyValidator("customValues",CfnAnalysisCustomParameterValuesPropertyValidator)(properties.customValues)),errors.collect(cdk().propertyValidator("includeNullValue",cdk().validateBoolean)(properties.includeNullValue)),errors.wrap('supplied properties not correct for "CustomValuesConfigurationProperty"')}function convertCfnAnalysisCustomValuesConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomValuesConfigurationPropertyValidator(properties).assertSuccess(),{CustomValues:convertCfnAnalysisCustomParameterValuesPropertyToCloudFormation(properties.customValues),IncludeNullValue:cdk().booleanToCloudFormation(properties.includeNullValue)}):properties}function CfnAnalysisCustomValuesConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValues","CustomValues",properties.CustomValues!=null?CfnAnalysisCustomParameterValuesPropertyFromCloudFormation(properties.CustomValues):void 0),ret.addPropertyResult("includeNullValue","IncludeNullValue",properties.IncludeNullValue!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeNullValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDestinationParameterValueConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValuesConfiguration",CfnAnalysisCustomValuesConfigurationPropertyValidator)(properties.customValuesConfiguration)),errors.collect(cdk().propertyValidator("selectAllValueOptions",cdk().validateString)(properties.selectAllValueOptions)),errors.collect(cdk().propertyValidator("sourceColumn",CfnAnalysisColumnIdentifierPropertyValidator)(properties.sourceColumn)),errors.collect(cdk().propertyValidator("sourceField",cdk().validateString)(properties.sourceField)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.wrap('supplied properties not correct for "DestinationParameterValueConfigurationProperty"')}function convertCfnAnalysisDestinationParameterValueConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDestinationParameterValueConfigurationPropertyValidator(properties).assertSuccess(),{CustomValuesConfiguration:convertCfnAnalysisCustomValuesConfigurationPropertyToCloudFormation(properties.customValuesConfiguration),SelectAllValueOptions:cdk().stringToCloudFormation(properties.selectAllValueOptions),SourceColumn:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.sourceColumn),SourceField:cdk().stringToCloudFormation(properties.sourceField),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName)}):properties}function CfnAnalysisDestinationParameterValueConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValuesConfiguration","CustomValuesConfiguration",properties.CustomValuesConfiguration!=null?CfnAnalysisCustomValuesConfigurationPropertyFromCloudFormation(properties.CustomValuesConfiguration):void 0),ret.addPropertyResult("selectAllValueOptions","SelectAllValueOptions",properties.SelectAllValueOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllValueOptions):void 0),ret.addPropertyResult("sourceColumn","SourceColumn",properties.SourceColumn!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.SourceColumn):void 0),ret.addPropertyResult("sourceField","SourceField",properties.SourceField!=null?cfn_parse().FromCloudFormation.getString(properties.SourceField):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSetParameterValueConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationParameterName",cdk().requiredValidator)(properties.destinationParameterName)),errors.collect(cdk().propertyValidator("destinationParameterName",cdk().validateString)(properties.destinationParameterName)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",CfnAnalysisDestinationParameterValueConfigurationPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "SetParameterValueConfigurationProperty"')}function convertCfnAnalysisSetParameterValueConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSetParameterValueConfigurationPropertyValidator(properties).assertSuccess(),{DestinationParameterName:cdk().stringToCloudFormation(properties.destinationParameterName),Value:convertCfnAnalysisDestinationParameterValueConfigurationPropertyToCloudFormation(properties.value)}):properties}function CfnAnalysisSetParameterValueConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationParameterName","DestinationParameterName",properties.DestinationParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationParameterName):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAnalysisDestinationParameterValueConfigurationPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomActionSetParametersOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameterValueConfigurations",cdk().requiredValidator)(properties.parameterValueConfigurations)),errors.collect(cdk().propertyValidator("parameterValueConfigurations",cdk().listValidator(CfnAnalysisSetParameterValueConfigurationPropertyValidator))(properties.parameterValueConfigurations)),errors.wrap('supplied properties not correct for "CustomActionSetParametersOperationProperty"')}function convertCfnAnalysisCustomActionSetParametersOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomActionSetParametersOperationPropertyValidator(properties).assertSuccess(),{ParameterValueConfigurations:cdk().listMapper(convertCfnAnalysisSetParameterValueConfigurationPropertyToCloudFormation)(properties.parameterValueConfigurations)}):properties}function CfnAnalysisCustomActionSetParametersOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameterValueConfigurations","ParameterValueConfigurations",properties.ParameterValueConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisSetParameterValueConfigurationPropertyFromCloudFormation)(properties.ParameterValueConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterOperationSelectedFieldsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("selectedColumns",cdk().listValidator(CfnAnalysisColumnIdentifierPropertyValidator))(properties.selectedColumns)),errors.collect(cdk().propertyValidator("selectedFieldOptions",cdk().validateString)(properties.selectedFieldOptions)),errors.collect(cdk().propertyValidator("selectedFields",cdk().listValidator(cdk().validateString))(properties.selectedFields)),errors.wrap('supplied properties not correct for "FilterOperationSelectedFieldsConfigurationProperty"')}function convertCfnAnalysisFilterOperationSelectedFieldsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterOperationSelectedFieldsConfigurationPropertyValidator(properties).assertSuccess(),{SelectedColumns:cdk().listMapper(convertCfnAnalysisColumnIdentifierPropertyToCloudFormation)(properties.selectedColumns),SelectedFieldOptions:cdk().stringToCloudFormation(properties.selectedFieldOptions),SelectedFields:cdk().listMapper(cdk().stringToCloudFormation)(properties.selectedFields)}):properties}function CfnAnalysisFilterOperationSelectedFieldsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("selectedColumns","SelectedColumns",properties.SelectedColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnIdentifierPropertyFromCloudFormation)(properties.SelectedColumns):void 0),ret.addPropertyResult("selectedFieldOptions","SelectedFieldOptions",properties.SelectedFieldOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedFieldOptions):void 0),ret.addPropertyResult("selectedFields","SelectedFields",properties.SelectedFields!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SelectedFields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSameSheetTargetVisualConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetVisualOptions",cdk().validateString)(properties.targetVisualOptions)),errors.collect(cdk().propertyValidator("targetVisuals",cdk().listValidator(cdk().validateString))(properties.targetVisuals)),errors.wrap('supplied properties not correct for "SameSheetTargetVisualConfigurationProperty"')}function convertCfnAnalysisSameSheetTargetVisualConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSameSheetTargetVisualConfigurationPropertyValidator(properties).assertSuccess(),{TargetVisualOptions:cdk().stringToCloudFormation(properties.targetVisualOptions),TargetVisuals:cdk().listMapper(cdk().stringToCloudFormation)(properties.targetVisuals)}):properties}function CfnAnalysisSameSheetTargetVisualConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetVisualOptions","TargetVisualOptions",properties.TargetVisualOptions!=null?cfn_parse().FromCloudFormation.getString(properties.TargetVisualOptions):void 0),ret.addPropertyResult("targetVisuals","TargetVisuals",properties.TargetVisuals!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TargetVisuals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilterOperationTargetVisualsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sameSheetTargetVisualConfiguration",CfnAnalysisSameSheetTargetVisualConfigurationPropertyValidator)(properties.sameSheetTargetVisualConfiguration)),errors.wrap('supplied properties not correct for "FilterOperationTargetVisualsConfigurationProperty"')}function convertCfnAnalysisFilterOperationTargetVisualsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilterOperationTargetVisualsConfigurationPropertyValidator(properties).assertSuccess(),{SameSheetTargetVisualConfiguration:convertCfnAnalysisSameSheetTargetVisualConfigurationPropertyToCloudFormation(properties.sameSheetTargetVisualConfiguration)}):properties}function CfnAnalysisFilterOperationTargetVisualsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sameSheetTargetVisualConfiguration","SameSheetTargetVisualConfiguration",properties.SameSheetTargetVisualConfiguration!=null?CfnAnalysisSameSheetTargetVisualConfigurationPropertyFromCloudFormation(properties.SameSheetTargetVisualConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomActionFilterOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("selectedFieldsConfiguration",cdk().requiredValidator)(properties.selectedFieldsConfiguration)),errors.collect(cdk().propertyValidator("selectedFieldsConfiguration",CfnAnalysisFilterOperationSelectedFieldsConfigurationPropertyValidator)(properties.selectedFieldsConfiguration)),errors.collect(cdk().propertyValidator("targetVisualsConfiguration",cdk().requiredValidator)(properties.targetVisualsConfiguration)),errors.collect(cdk().propertyValidator("targetVisualsConfiguration",CfnAnalysisFilterOperationTargetVisualsConfigurationPropertyValidator)(properties.targetVisualsConfiguration)),errors.wrap('supplied properties not correct for "CustomActionFilterOperationProperty"')}function convertCfnAnalysisCustomActionFilterOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomActionFilterOperationPropertyValidator(properties).assertSuccess(),{SelectedFieldsConfiguration:convertCfnAnalysisFilterOperationSelectedFieldsConfigurationPropertyToCloudFormation(properties.selectedFieldsConfiguration),TargetVisualsConfiguration:convertCfnAnalysisFilterOperationTargetVisualsConfigurationPropertyToCloudFormation(properties.targetVisualsConfiguration)}):properties}function CfnAnalysisCustomActionFilterOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("selectedFieldsConfiguration","SelectedFieldsConfiguration",properties.SelectedFieldsConfiguration!=null?CfnAnalysisFilterOperationSelectedFieldsConfigurationPropertyFromCloudFormation(properties.SelectedFieldsConfiguration):void 0),ret.addPropertyResult("targetVisualsConfiguration","TargetVisualsConfiguration",properties.TargetVisualsConfiguration!=null?CfnAnalysisFilterOperationTargetVisualsConfigurationPropertyFromCloudFormation(properties.TargetVisualsConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomActionURLOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("urlTarget",cdk().requiredValidator)(properties.urlTarget)),errors.collect(cdk().propertyValidator("urlTarget",cdk().validateString)(properties.urlTarget)),errors.collect(cdk().propertyValidator("urlTemplate",cdk().requiredValidator)(properties.urlTemplate)),errors.collect(cdk().propertyValidator("urlTemplate",cdk().validateString)(properties.urlTemplate)),errors.wrap('supplied properties not correct for "CustomActionURLOperationProperty"')}function convertCfnAnalysisCustomActionURLOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomActionURLOperationPropertyValidator(properties).assertSuccess(),{URLTarget:cdk().stringToCloudFormation(properties.urlTarget),URLTemplate:cdk().stringToCloudFormation(properties.urlTemplate)}):properties}function CfnAnalysisCustomActionURLOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("urlTarget","URLTarget",properties.URLTarget!=null?cfn_parse().FromCloudFormation.getString(properties.URLTarget):void 0),ret.addPropertyResult("urlTemplate","URLTemplate",properties.URLTemplate!=null?cfn_parse().FromCloudFormation.getString(properties.URLTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisVisualCustomActionOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("filterOperation",CfnAnalysisCustomActionFilterOperationPropertyValidator)(properties.filterOperation)),errors.collect(cdk().propertyValidator("navigationOperation",CfnAnalysisCustomActionNavigationOperationPropertyValidator)(properties.navigationOperation)),errors.collect(cdk().propertyValidator("setParametersOperation",CfnAnalysisCustomActionSetParametersOperationPropertyValidator)(properties.setParametersOperation)),errors.collect(cdk().propertyValidator("urlOperation",CfnAnalysisCustomActionURLOperationPropertyValidator)(properties.urlOperation)),errors.wrap('supplied properties not correct for "VisualCustomActionOperationProperty"')}function convertCfnAnalysisVisualCustomActionOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisVisualCustomActionOperationPropertyValidator(properties).assertSuccess(),{FilterOperation:convertCfnAnalysisCustomActionFilterOperationPropertyToCloudFormation(properties.filterOperation),NavigationOperation:convertCfnAnalysisCustomActionNavigationOperationPropertyToCloudFormation(properties.navigationOperation),SetParametersOperation:convertCfnAnalysisCustomActionSetParametersOperationPropertyToCloudFormation(properties.setParametersOperation),URLOperation:convertCfnAnalysisCustomActionURLOperationPropertyToCloudFormation(properties.urlOperation)}):properties}function CfnAnalysisVisualCustomActionOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("filterOperation","FilterOperation",properties.FilterOperation!=null?CfnAnalysisCustomActionFilterOperationPropertyFromCloudFormation(properties.FilterOperation):void 0),ret.addPropertyResult("navigationOperation","NavigationOperation",properties.NavigationOperation!=null?CfnAnalysisCustomActionNavigationOperationPropertyFromCloudFormation(properties.NavigationOperation):void 0),ret.addPropertyResult("setParametersOperation","SetParametersOperation",properties.SetParametersOperation!=null?CfnAnalysisCustomActionSetParametersOperationPropertyFromCloudFormation(properties.SetParametersOperation):void 0),ret.addPropertyResult("urlOperation","URLOperation",properties.URLOperation!=null?CfnAnalysisCustomActionURLOperationPropertyFromCloudFormation(properties.URLOperation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisVisualCustomActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actionOperations",cdk().requiredValidator)(properties.actionOperations)),errors.collect(cdk().propertyValidator("actionOperations",cdk().listValidator(CfnAnalysisVisualCustomActionOperationPropertyValidator))(properties.actionOperations)),errors.collect(cdk().propertyValidator("customActionId",cdk().requiredValidator)(properties.customActionId)),errors.collect(cdk().propertyValidator("customActionId",cdk().validateString)(properties.customActionId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("trigger",cdk().requiredValidator)(properties.trigger)),errors.collect(cdk().propertyValidator("trigger",cdk().validateString)(properties.trigger)),errors.wrap('supplied properties not correct for "VisualCustomActionProperty"')}function convertCfnAnalysisVisualCustomActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisVisualCustomActionPropertyValidator(properties).assertSuccess(),{ActionOperations:cdk().listMapper(convertCfnAnalysisVisualCustomActionOperationPropertyToCloudFormation)(properties.actionOperations),CustomActionId:cdk().stringToCloudFormation(properties.customActionId),Name:cdk().stringToCloudFormation(properties.name),Status:cdk().stringToCloudFormation(properties.status),Trigger:cdk().stringToCloudFormation(properties.trigger)}):properties}function CfnAnalysisVisualCustomActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOperations","ActionOperations",properties.ActionOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionOperationPropertyFromCloudFormation)(properties.ActionOperations):void 0),ret.addPropertyResult("customActionId","CustomActionId",properties.CustomActionId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomActionId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("trigger","Trigger",properties.Trigger!=null?cfn_parse().FromCloudFormation.getString(properties.Trigger):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisShortFormatTextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("plainText",cdk().validateString)(properties.plainText)),errors.collect(cdk().propertyValidator("richText",cdk().validateString)(properties.richText)),errors.wrap('supplied properties not correct for "ShortFormatTextProperty"')}function convertCfnAnalysisShortFormatTextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisShortFormatTextPropertyValidator(properties).assertSuccess(),{PlainText:cdk().stringToCloudFormation(properties.plainText),RichText:cdk().stringToCloudFormation(properties.richText)}):properties}function CfnAnalysisShortFormatTextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("plainText","PlainText",properties.PlainText!=null?cfn_parse().FromCloudFormation.getString(properties.PlainText):void 0),ret.addPropertyResult("richText","RichText",properties.RichText!=null?cfn_parse().FromCloudFormation.getString(properties.RichText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisVisualTitleLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatText",CfnAnalysisShortFormatTextPropertyValidator)(properties.formatText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "VisualTitleLabelOptionsProperty"')}function convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisVisualTitleLabelOptionsPropertyValidator(properties).assertSuccess(),{FormatText:convertCfnAnalysisShortFormatTextPropertyToCloudFormation(properties.formatText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatText","FormatText",properties.FormatText!=null?CfnAnalysisShortFormatTextPropertyFromCloudFormation(properties.FormatText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericEqualityDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "NumericEqualityDrillDownFilterProperty"')}function convertCfnAnalysisNumericEqualityDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericEqualityDrillDownFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnAnalysisNumericEqualityDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTimeRangeDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("rangeMaximum",cdk().requiredValidator)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMaximum",cdk().validateString)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMinimum",cdk().requiredValidator)(properties.rangeMinimum)),errors.collect(cdk().propertyValidator("rangeMinimum",cdk().validateString)(properties.rangeMinimum)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().requiredValidator)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TimeRangeDrillDownFilterProperty"')}function convertCfnAnalysisTimeRangeDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTimeRangeDrillDownFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),RangeMaximum:cdk().stringToCloudFormation(properties.rangeMaximum),RangeMinimum:cdk().stringToCloudFormation(properties.rangeMinimum),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnAnalysisTimeRangeDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("rangeMaximum","RangeMaximum",properties.RangeMaximum!=null?cfn_parse().FromCloudFormation.getString(properties.RangeMaximum):void 0),ret.addPropertyResult("rangeMinimum","RangeMinimum",properties.RangeMinimum!=null?cfn_parse().FromCloudFormation.getString(properties.RangeMinimum):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCategoryDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValues",cdk().requiredValidator)(properties.categoryValues)),errors.collect(cdk().propertyValidator("categoryValues",cdk().listValidator(cdk().validateString))(properties.categoryValues)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.wrap('supplied properties not correct for "CategoryDrillDownFilterProperty"')}function convertCfnAnalysisCategoryDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCategoryDrillDownFilterPropertyValidator(properties).assertSuccess(),{CategoryValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.categoryValues),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column)}):properties}function CfnAnalysisCategoryDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValues","CategoryValues",properties.CategoryValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CategoryValues):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryFilter",CfnAnalysisCategoryDrillDownFilterPropertyValidator)(properties.categoryFilter)),errors.collect(cdk().propertyValidator("numericEqualityFilter",CfnAnalysisNumericEqualityDrillDownFilterPropertyValidator)(properties.numericEqualityFilter)),errors.collect(cdk().propertyValidator("timeRangeFilter",CfnAnalysisTimeRangeDrillDownFilterPropertyValidator)(properties.timeRangeFilter)),errors.wrap('supplied properties not correct for "DrillDownFilterProperty"')}function convertCfnAnalysisDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDrillDownFilterPropertyValidator(properties).assertSuccess(),{CategoryFilter:convertCfnAnalysisCategoryDrillDownFilterPropertyToCloudFormation(properties.categoryFilter),NumericEqualityFilter:convertCfnAnalysisNumericEqualityDrillDownFilterPropertyToCloudFormation(properties.numericEqualityFilter),TimeRangeFilter:convertCfnAnalysisTimeRangeDrillDownFilterPropertyToCloudFormation(properties.timeRangeFilter)}):properties}function CfnAnalysisDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryFilter","CategoryFilter",properties.CategoryFilter!=null?CfnAnalysisCategoryDrillDownFilterPropertyFromCloudFormation(properties.CategoryFilter):void 0),ret.addPropertyResult("numericEqualityFilter","NumericEqualityFilter",properties.NumericEqualityFilter!=null?CfnAnalysisNumericEqualityDrillDownFilterPropertyFromCloudFormation(properties.NumericEqualityFilter):void 0),ret.addPropertyResult("timeRangeFilter","TimeRangeFilter",properties.TimeRangeFilter!=null?CfnAnalysisTimeRangeDrillDownFilterPropertyFromCloudFormation(properties.TimeRangeFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateTimeHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("drillDownFilters",cdk().listValidator(CfnAnalysisDrillDownFilterPropertyValidator))(properties.drillDownFilters)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().requiredValidator)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "DateTimeHierarchyProperty"')}function convertCfnAnalysisDateTimeHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateTimeHierarchyPropertyValidator(properties).assertSuccess(),{DrillDownFilters:cdk().listMapper(convertCfnAnalysisDrillDownFilterPropertyToCloudFormation)(properties.drillDownFilters),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnAnalysisDateTimeHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("drillDownFilters","DrillDownFilters",properties.DrillDownFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDrillDownFilterPropertyFromCloudFormation)(properties.DrillDownFilters):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisExplicitHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().requiredValidator)(properties.columns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnAnalysisColumnIdentifierPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("drillDownFilters",cdk().listValidator(CfnAnalysisDrillDownFilterPropertyValidator))(properties.drillDownFilters)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().requiredValidator)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "ExplicitHierarchyProperty"')}function convertCfnAnalysisExplicitHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisExplicitHierarchyPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnAnalysisColumnIdentifierPropertyToCloudFormation)(properties.columns),DrillDownFilters:cdk().listMapper(convertCfnAnalysisDrillDownFilterPropertyToCloudFormation)(properties.drillDownFilters),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnAnalysisExplicitHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnIdentifierPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("drillDownFilters","DrillDownFilters",properties.DrillDownFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDrillDownFilterPropertyFromCloudFormation)(properties.DrillDownFilters):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPredefinedHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().requiredValidator)(properties.columns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnAnalysisColumnIdentifierPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("drillDownFilters",cdk().listValidator(CfnAnalysisDrillDownFilterPropertyValidator))(properties.drillDownFilters)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().requiredValidator)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "PredefinedHierarchyProperty"')}function convertCfnAnalysisPredefinedHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPredefinedHierarchyPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnAnalysisColumnIdentifierPropertyToCloudFormation)(properties.columns),DrillDownFilters:cdk().listMapper(convertCfnAnalysisDrillDownFilterPropertyToCloudFormation)(properties.drillDownFilters),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnAnalysisPredefinedHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnIdentifierPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("drillDownFilters","DrillDownFilters",properties.DrillDownFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDrillDownFilterPropertyFromCloudFormation)(properties.DrillDownFilters):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisColumnHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeHierarchy",CfnAnalysisDateTimeHierarchyPropertyValidator)(properties.dateTimeHierarchy)),errors.collect(cdk().propertyValidator("explicitHierarchy",CfnAnalysisExplicitHierarchyPropertyValidator)(properties.explicitHierarchy)),errors.collect(cdk().propertyValidator("predefinedHierarchy",CfnAnalysisPredefinedHierarchyPropertyValidator)(properties.predefinedHierarchy)),errors.wrap('supplied properties not correct for "ColumnHierarchyProperty"')}function convertCfnAnalysisColumnHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisColumnHierarchyPropertyValidator(properties).assertSuccess(),{DateTimeHierarchy:convertCfnAnalysisDateTimeHierarchyPropertyToCloudFormation(properties.dateTimeHierarchy),ExplicitHierarchy:convertCfnAnalysisExplicitHierarchyPropertyToCloudFormation(properties.explicitHierarchy),PredefinedHierarchy:convertCfnAnalysisPredefinedHierarchyPropertyToCloudFormation(properties.predefinedHierarchy)}):properties}function CfnAnalysisColumnHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeHierarchy","DateTimeHierarchy",properties.DateTimeHierarchy!=null?CfnAnalysisDateTimeHierarchyPropertyFromCloudFormation(properties.DateTimeHierarchy):void 0),ret.addPropertyResult("explicitHierarchy","ExplicitHierarchy",properties.ExplicitHierarchy!=null?CfnAnalysisExplicitHierarchyPropertyFromCloudFormation(properties.ExplicitHierarchy):void 0),ret.addPropertyResult("predefinedHierarchy","PredefinedHierarchy",properties.PredefinedHierarchy!=null?CfnAnalysisPredefinedHierarchyPropertyFromCloudFormation(properties.PredefinedHierarchy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFunnelChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisFunnelChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "FunnelChartVisualProperty"')}function convertCfnAnalysisFunnelChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFunnelChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisFunnelChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisFunnelChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisFunnelChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGradientStopPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateNumber)(properties.dataValue)),errors.collect(cdk().propertyValidator("gradientOffset",cdk().requiredValidator)(properties.gradientOffset)),errors.collect(cdk().propertyValidator("gradientOffset",cdk().validateNumber)(properties.gradientOffset)),errors.wrap('supplied properties not correct for "GradientStopProperty"')}function convertCfnAnalysisGradientStopPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGradientStopPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().numberToCloudFormation(properties.dataValue),GradientOffset:cdk().numberToCloudFormation(properties.gradientOffset)}):properties}function CfnAnalysisGradientStopPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.DataValue):void 0),ret.addPropertyResult("gradientOffset","GradientOffset",properties.GradientOffset!=null?cfn_parse().FromCloudFormation.getNumber(properties.GradientOffset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGradientColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("stops",cdk().listValidator(CfnAnalysisGradientStopPropertyValidator))(properties.stops)),errors.wrap('supplied properties not correct for "GradientColorProperty"')}function convertCfnAnalysisGradientColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGradientColorPropertyValidator(properties).assertSuccess(),{Stops:cdk().listMapper(convertCfnAnalysisGradientStopPropertyToCloudFormation)(properties.stops)}):properties}function CfnAnalysisGradientColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("stops","Stops",properties.Stops!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisGradientStopPropertyFromCloudFormation)(properties.Stops):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisConditionalFormattingGradientColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",CfnAnalysisGradientColorPropertyValidator)(properties.color)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "ConditionalFormattingGradientColorProperty"')}function convertCfnAnalysisConditionalFormattingGradientColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisConditionalFormattingGradientColorPropertyValidator(properties).assertSuccess(),{Color:convertCfnAnalysisGradientColorPropertyToCloudFormation(properties.color),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnAnalysisConditionalFormattingGradientColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?CfnAnalysisGradientColorPropertyFromCloudFormation(properties.Color):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisConditionalFormattingSolidColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "ConditionalFormattingSolidColorProperty"')}function convertCfnAnalysisConditionalFormattingSolidColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisConditionalFormattingSolidColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnAnalysisConditionalFormattingSolidColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisConditionalFormattingColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gradient",CfnAnalysisConditionalFormattingGradientColorPropertyValidator)(properties.gradient)),errors.collect(cdk().propertyValidator("solid",CfnAnalysisConditionalFormattingSolidColorPropertyValidator)(properties.solid)),errors.wrap('supplied properties not correct for "ConditionalFormattingColorProperty"')}function convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisConditionalFormattingColorPropertyValidator(properties).assertSuccess(),{Gradient:convertCfnAnalysisConditionalFormattingGradientColorPropertyToCloudFormation(properties.gradient),Solid:convertCfnAnalysisConditionalFormattingSolidColorPropertyToCloudFormation(properties.solid)}):properties}function CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gradient","Gradient",properties.Gradient!=null?CfnAnalysisConditionalFormattingGradientColorPropertyFromCloudFormation(properties.Gradient):void 0),ret.addPropertyResult("solid","Solid",properties.Solid!=null?CfnAnalysisConditionalFormattingSolidColorPropertyFromCloudFormation(properties.Solid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisShapeConditionalFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().requiredValidator)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("backgroundColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.backgroundColor)),errors.wrap('supplied properties not correct for "ShapeConditionalFormatProperty"')}function convertCfnAnalysisShapeConditionalFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisShapeConditionalFormatPropertyValidator(properties).assertSuccess(),{BackgroundColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.backgroundColor)}):properties}function CfnAnalysisShapeConditionalFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.BackgroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilledMapShapeConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("format",CfnAnalysisShapeConditionalFormatPropertyValidator)(properties.format)),errors.wrap('supplied properties not correct for "FilledMapShapeConditionalFormattingProperty"')}function convertCfnAnalysisFilledMapShapeConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilledMapShapeConditionalFormattingPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Format:convertCfnAnalysisShapeConditionalFormatPropertyToCloudFormation(properties.format)}):properties}function CfnAnalysisFilledMapShapeConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("format","Format",properties.Format!=null?CfnAnalysisShapeConditionalFormatPropertyFromCloudFormation(properties.Format):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilledMapConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("shape",cdk().requiredValidator)(properties.shape)),errors.collect(cdk().propertyValidator("shape",CfnAnalysisFilledMapShapeConditionalFormattingPropertyValidator)(properties.shape)),errors.wrap('supplied properties not correct for "FilledMapConditionalFormattingOptionProperty"')}function convertCfnAnalysisFilledMapConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilledMapConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Shape:convertCfnAnalysisFilledMapShapeConditionalFormattingPropertyToCloudFormation(properties.shape)}):properties}function CfnAnalysisFilledMapConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("shape","Shape",properties.Shape!=null?CfnAnalysisFilledMapShapeConditionalFormattingPropertyFromCloudFormation(properties.Shape):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilledMapConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().requiredValidator)(properties.conditionalFormattingOptions)),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnAnalysisFilledMapConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "FilledMapConditionalFormattingProperty"')}function convertCfnAnalysisFilledMapConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilledMapConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnAnalysisFilledMapConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnAnalysisFilledMapConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFilledMapConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilledMapSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "FilledMapSortConfigurationProperty"')}function convertCfnAnalysisFilledMapSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilledMapSortConfigurationPropertyValidator(properties).assertSuccess(),{CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnAnalysisFilledMapSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLegendOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("height",cdk().validateString)(properties.height)),errors.collect(cdk().propertyValidator("position",cdk().validateString)(properties.position)),errors.collect(cdk().propertyValidator("title",CfnAnalysisLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("valueFontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.valueFontConfiguration)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "LegendOptionsProperty"')}function convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLegendOptionsPropertyValidator(properties).assertSuccess(),{Height:cdk().stringToCloudFormation(properties.height),Position:cdk().stringToCloudFormation(properties.position),Title:convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties.title),ValueFontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.valueFontConfiguration),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getString(properties.Height):void 0),ret.addPropertyResult("position","Position",properties.Position!=null?cfn_parse().FromCloudFormation.getString(properties.Position):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("valueFontConfiguration","ValueFontConfiguration",properties.ValueFontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.ValueFontConfiguration):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialMapStyleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("baseMapStyle",cdk().validateString)(properties.baseMapStyle)),errors.wrap('supplied properties not correct for "GeospatialMapStyleOptionsProperty"')}function convertCfnAnalysisGeospatialMapStyleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialMapStyleOptionsPropertyValidator(properties).assertSuccess(),{BaseMapStyle:cdk().stringToCloudFormation(properties.baseMapStyle)}):properties}function CfnAnalysisGeospatialMapStyleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("baseMapStyle","BaseMapStyle",properties.BaseMapStyle!=null?cfn_parse().FromCloudFormation.getString(properties.BaseMapStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilledMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("geospatial",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.geospatial)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "FilledMapAggregatedFieldWellsProperty"')}function convertCfnAnalysisFilledMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilledMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Geospatial:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.geospatial),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisFilledMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("geospatial","Geospatial",properties.Geospatial!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Geospatial):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilledMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("filledMapAggregatedFieldWells",CfnAnalysisFilledMapAggregatedFieldWellsPropertyValidator)(properties.filledMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "FilledMapFieldWellsProperty"')}function convertCfnAnalysisFilledMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilledMapFieldWellsPropertyValidator(properties).assertSuccess(),{FilledMapAggregatedFieldWells:convertCfnAnalysisFilledMapAggregatedFieldWellsPropertyToCloudFormation(properties.filledMapAggregatedFieldWells)}):properties}function CfnAnalysisFilledMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("filledMapAggregatedFieldWells","FilledMapAggregatedFieldWells",properties.FilledMapAggregatedFieldWells!=null?CfnAnalysisFilledMapAggregatedFieldWellsPropertyFromCloudFormation(properties.FilledMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialCoordinateBoundsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("east",cdk().requiredValidator)(properties.east)),errors.collect(cdk().propertyValidator("east",cdk().validateNumber)(properties.east)),errors.collect(cdk().propertyValidator("north",cdk().requiredValidator)(properties.north)),errors.collect(cdk().propertyValidator("north",cdk().validateNumber)(properties.north)),errors.collect(cdk().propertyValidator("south",cdk().requiredValidator)(properties.south)),errors.collect(cdk().propertyValidator("south",cdk().validateNumber)(properties.south)),errors.collect(cdk().propertyValidator("west",cdk().requiredValidator)(properties.west)),errors.collect(cdk().propertyValidator("west",cdk().validateNumber)(properties.west)),errors.wrap('supplied properties not correct for "GeospatialCoordinateBoundsProperty"')}function convertCfnAnalysisGeospatialCoordinateBoundsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialCoordinateBoundsPropertyValidator(properties).assertSuccess(),{East:cdk().numberToCloudFormation(properties.east),North:cdk().numberToCloudFormation(properties.north),South:cdk().numberToCloudFormation(properties.south),West:cdk().numberToCloudFormation(properties.west)}):properties}function CfnAnalysisGeospatialCoordinateBoundsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("east","East",properties.East!=null?cfn_parse().FromCloudFormation.getNumber(properties.East):void 0),ret.addPropertyResult("north","North",properties.North!=null?cfn_parse().FromCloudFormation.getNumber(properties.North):void 0),ret.addPropertyResult("south","South",properties.South!=null?cfn_parse().FromCloudFormation.getNumber(properties.South):void 0),ret.addPropertyResult("west","West",properties.West!=null?cfn_parse().FromCloudFormation.getNumber(properties.West):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialWindowOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bounds",CfnAnalysisGeospatialCoordinateBoundsPropertyValidator)(properties.bounds)),errors.collect(cdk().propertyValidator("mapZoomMode",cdk().validateString)(properties.mapZoomMode)),errors.wrap('supplied properties not correct for "GeospatialWindowOptionsProperty"')}function convertCfnAnalysisGeospatialWindowOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialWindowOptionsPropertyValidator(properties).assertSuccess(),{Bounds:convertCfnAnalysisGeospatialCoordinateBoundsPropertyToCloudFormation(properties.bounds),MapZoomMode:cdk().stringToCloudFormation(properties.mapZoomMode)}):properties}function CfnAnalysisGeospatialWindowOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bounds","Bounds",properties.Bounds!=null?CfnAnalysisGeospatialCoordinateBoundsPropertyFromCloudFormation(properties.Bounds):void 0),ret.addPropertyResult("mapZoomMode","MapZoomMode",properties.MapZoomMode!=null?cfn_parse().FromCloudFormation.getString(properties.MapZoomMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilledMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisFilledMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("mapStyleOptions",CfnAnalysisGeospatialMapStyleOptionsPropertyValidator)(properties.mapStyleOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisFilledMapSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("windowOptions",CfnAnalysisGeospatialWindowOptionsPropertyValidator)(properties.windowOptions)),errors.wrap('supplied properties not correct for "FilledMapConfigurationProperty"')}function convertCfnAnalysisFilledMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilledMapConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:convertCfnAnalysisFilledMapFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),MapStyleOptions:convertCfnAnalysisGeospatialMapStyleOptionsPropertyToCloudFormation(properties.mapStyleOptions),SortConfiguration:convertCfnAnalysisFilledMapSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),WindowOptions:convertCfnAnalysisGeospatialWindowOptionsPropertyToCloudFormation(properties.windowOptions)}):properties}function CfnAnalysisFilledMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisFilledMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("mapStyleOptions","MapStyleOptions",properties.MapStyleOptions!=null?CfnAnalysisGeospatialMapStyleOptionsPropertyFromCloudFormation(properties.MapStyleOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisFilledMapSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("windowOptions","WindowOptions",properties.WindowOptions!=null?CfnAnalysisGeospatialWindowOptionsPropertyFromCloudFormation(properties.WindowOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFilledMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisFilledMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnAnalysisFilledMapConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "FilledMapVisualProperty"')}function convertCfnAnalysisFilledMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFilledMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisFilledMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),ConditionalFormatting:convertCfnAnalysisFilledMapConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisFilledMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisFilledMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnAnalysisFilledMapConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPaginationConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pageNumber",cdk().requiredValidator)(properties.pageNumber)),errors.collect(cdk().propertyValidator("pageNumber",cdk().validateNumber)(properties.pageNumber)),errors.collect(cdk().propertyValidator("pageSize",cdk().requiredValidator)(properties.pageSize)),errors.collect(cdk().propertyValidator("pageSize",cdk().validateNumber)(properties.pageSize)),errors.wrap('supplied properties not correct for "PaginationConfigurationProperty"')}function convertCfnAnalysisPaginationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPaginationConfigurationPropertyValidator(properties).assertSuccess(),{PageNumber:cdk().numberToCloudFormation(properties.pageNumber),PageSize:cdk().numberToCloudFormation(properties.pageSize)}):properties}function CfnAnalysisPaginationConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pageNumber","PageNumber",properties.PageNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.PageNumber):void 0),ret.addPropertyResult("pageSize","PageSize",properties.PageSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.PageSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBoxPlotSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("paginationConfiguration",CfnAnalysisPaginationConfigurationPropertyValidator)(properties.paginationConfiguration)),errors.wrap('supplied properties not correct for "BoxPlotSortConfigurationProperty"')}function convertCfnAnalysisBoxPlotSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBoxPlotSortConfigurationPropertyValidator(properties).assertSuccess(),{CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),PaginationConfiguration:convertCfnAnalysisPaginationConfigurationPropertyToCloudFormation(properties.paginationConfiguration)}):properties}function CfnAnalysisBoxPlotSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("paginationConfiguration","PaginationConfiguration",properties.PaginationConfiguration!=null?CfnAnalysisPaginationConfigurationPropertyFromCloudFormation(properties.PaginationConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisReferenceLineDynamicDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("calculation",cdk().requiredValidator)(properties.calculation)),errors.collect(cdk().propertyValidator("calculation",CfnAnalysisNumericalAggregationFunctionPropertyValidator)(properties.calculation)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("measureAggregationFunction",CfnAnalysisAggregationFunctionPropertyValidator)(properties.measureAggregationFunction)),errors.wrap('supplied properties not correct for "ReferenceLineDynamicDataConfigurationProperty"')}function convertCfnAnalysisReferenceLineDynamicDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisReferenceLineDynamicDataConfigurationPropertyValidator(properties).assertSuccess(),{Calculation:convertCfnAnalysisNumericalAggregationFunctionPropertyToCloudFormation(properties.calculation),Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),MeasureAggregationFunction:convertCfnAnalysisAggregationFunctionPropertyToCloudFormation(properties.measureAggregationFunction)}):properties}function CfnAnalysisReferenceLineDynamicDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("calculation","Calculation",properties.Calculation!=null?CfnAnalysisNumericalAggregationFunctionPropertyFromCloudFormation(properties.Calculation):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("measureAggregationFunction","MeasureAggregationFunction",properties.MeasureAggregationFunction!=null?CfnAnalysisAggregationFunctionPropertyFromCloudFormation(properties.MeasureAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisReferenceLineStaticDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "ReferenceLineStaticDataConfigurationProperty"')}function convertCfnAnalysisReferenceLineStaticDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisReferenceLineStaticDataConfigurationPropertyValidator(properties).assertSuccess(),{Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnAnalysisReferenceLineStaticDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisReferenceLineDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("dynamicConfiguration",CfnAnalysisReferenceLineDynamicDataConfigurationPropertyValidator)(properties.dynamicConfiguration)),errors.collect(cdk().propertyValidator("seriesType",cdk().validateString)(properties.seriesType)),errors.collect(cdk().propertyValidator("staticConfiguration",CfnAnalysisReferenceLineStaticDataConfigurationPropertyValidator)(properties.staticConfiguration)),errors.wrap('supplied properties not correct for "ReferenceLineDataConfigurationProperty"')}function convertCfnAnalysisReferenceLineDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisReferenceLineDataConfigurationPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),DynamicConfiguration:convertCfnAnalysisReferenceLineDynamicDataConfigurationPropertyToCloudFormation(properties.dynamicConfiguration),SeriesType:cdk().stringToCloudFormation(properties.seriesType),StaticConfiguration:convertCfnAnalysisReferenceLineStaticDataConfigurationPropertyToCloudFormation(properties.staticConfiguration)}):properties}function CfnAnalysisReferenceLineDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("dynamicConfiguration","DynamicConfiguration",properties.DynamicConfiguration!=null?CfnAnalysisReferenceLineDynamicDataConfigurationPropertyFromCloudFormation(properties.DynamicConfiguration):void 0),ret.addPropertyResult("seriesType","SeriesType",properties.SeriesType!=null?cfn_parse().FromCloudFormation.getString(properties.SeriesType):void 0),ret.addPropertyResult("staticConfiguration","StaticConfiguration",properties.StaticConfiguration!=null?CfnAnalysisReferenceLineStaticDataConfigurationPropertyFromCloudFormation(properties.StaticConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisReferenceLineValueLabelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisNumericFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("relativePosition",cdk().validateString)(properties.relativePosition)),errors.wrap('supplied properties not correct for "ReferenceLineValueLabelConfigurationProperty"')}function convertCfnAnalysisReferenceLineValueLabelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisReferenceLineValueLabelConfigurationPropertyValidator(properties).assertSuccess(),{FormatConfiguration:convertCfnAnalysisNumericFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),RelativePosition:cdk().stringToCloudFormation(properties.relativePosition)}):properties}function CfnAnalysisReferenceLineValueLabelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisNumericFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("relativePosition","RelativePosition",properties.RelativePosition!=null?cfn_parse().FromCloudFormation.getString(properties.RelativePosition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisReferenceLineCustomLabelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().requiredValidator)(properties.customLabel)),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.wrap('supplied properties not correct for "ReferenceLineCustomLabelConfigurationProperty"')}function convertCfnAnalysisReferenceLineCustomLabelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisReferenceLineCustomLabelConfigurationPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel)}):properties}function CfnAnalysisReferenceLineCustomLabelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisReferenceLineLabelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabelConfiguration",CfnAnalysisReferenceLineCustomLabelConfigurationPropertyValidator)(properties.customLabelConfiguration)),errors.collect(cdk().propertyValidator("fontColor",cdk().validateString)(properties.fontColor)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("horizontalPosition",cdk().validateString)(properties.horizontalPosition)),errors.collect(cdk().propertyValidator("valueLabelConfiguration",CfnAnalysisReferenceLineValueLabelConfigurationPropertyValidator)(properties.valueLabelConfiguration)),errors.collect(cdk().propertyValidator("verticalPosition",cdk().validateString)(properties.verticalPosition)),errors.wrap('supplied properties not correct for "ReferenceLineLabelConfigurationProperty"')}function convertCfnAnalysisReferenceLineLabelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisReferenceLineLabelConfigurationPropertyValidator(properties).assertSuccess(),{CustomLabelConfiguration:convertCfnAnalysisReferenceLineCustomLabelConfigurationPropertyToCloudFormation(properties.customLabelConfiguration),FontColor:cdk().stringToCloudFormation(properties.fontColor),FontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),HorizontalPosition:cdk().stringToCloudFormation(properties.horizontalPosition),ValueLabelConfiguration:convertCfnAnalysisReferenceLineValueLabelConfigurationPropertyToCloudFormation(properties.valueLabelConfiguration),VerticalPosition:cdk().stringToCloudFormation(properties.verticalPosition)}):properties}function CfnAnalysisReferenceLineLabelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabelConfiguration","CustomLabelConfiguration",properties.CustomLabelConfiguration!=null?CfnAnalysisReferenceLineCustomLabelConfigurationPropertyFromCloudFormation(properties.CustomLabelConfiguration):void 0),ret.addPropertyResult("fontColor","FontColor",properties.FontColor!=null?cfn_parse().FromCloudFormation.getString(properties.FontColor):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("horizontalPosition","HorizontalPosition",properties.HorizontalPosition!=null?cfn_parse().FromCloudFormation.getString(properties.HorizontalPosition):void 0),ret.addPropertyResult("valueLabelConfiguration","ValueLabelConfiguration",properties.ValueLabelConfiguration!=null?CfnAnalysisReferenceLineValueLabelConfigurationPropertyFromCloudFormation(properties.ValueLabelConfiguration):void 0),ret.addPropertyResult("verticalPosition","VerticalPosition",properties.VerticalPosition!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalPosition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisReferenceLineStyleConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("pattern",cdk().validateString)(properties.pattern)),errors.wrap('supplied properties not correct for "ReferenceLineStyleConfigurationProperty"')}function convertCfnAnalysisReferenceLineStyleConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisReferenceLineStyleConfigurationPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Pattern:cdk().stringToCloudFormation(properties.pattern)}):properties}function CfnAnalysisReferenceLineStyleConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("pattern","Pattern",properties.Pattern!=null?cfn_parse().FromCloudFormation.getString(properties.Pattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisReferenceLinePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataConfiguration",cdk().requiredValidator)(properties.dataConfiguration)),errors.collect(cdk().propertyValidator("dataConfiguration",CfnAnalysisReferenceLineDataConfigurationPropertyValidator)(properties.dataConfiguration)),errors.collect(cdk().propertyValidator("labelConfiguration",CfnAnalysisReferenceLineLabelConfigurationPropertyValidator)(properties.labelConfiguration)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("styleConfiguration",CfnAnalysisReferenceLineStyleConfigurationPropertyValidator)(properties.styleConfiguration)),errors.wrap('supplied properties not correct for "ReferenceLineProperty"')}function convertCfnAnalysisReferenceLinePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisReferenceLinePropertyValidator(properties).assertSuccess(),{DataConfiguration:convertCfnAnalysisReferenceLineDataConfigurationPropertyToCloudFormation(properties.dataConfiguration),LabelConfiguration:convertCfnAnalysisReferenceLineLabelConfigurationPropertyToCloudFormation(properties.labelConfiguration),Status:cdk().stringToCloudFormation(properties.status),StyleConfiguration:convertCfnAnalysisReferenceLineStyleConfigurationPropertyToCloudFormation(properties.styleConfiguration)}):properties}function CfnAnalysisReferenceLinePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataConfiguration","DataConfiguration",properties.DataConfiguration!=null?CfnAnalysisReferenceLineDataConfigurationPropertyFromCloudFormation(properties.DataConfiguration):void 0),ret.addPropertyResult("labelConfiguration","LabelConfiguration",properties.LabelConfiguration!=null?CfnAnalysisReferenceLineLabelConfigurationPropertyFromCloudFormation(properties.LabelConfiguration):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("styleConfiguration","StyleConfiguration",properties.StyleConfiguration!=null?CfnAnalysisReferenceLineStyleConfigurationPropertyFromCloudFormation(properties.StyleConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("missingDateVisibility",cdk().validateString)(properties.missingDateVisibility)),errors.wrap('supplied properties not correct for "DateAxisOptionsProperty"')}function convertCfnAnalysisDateAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateAxisOptionsPropertyValidator(properties).assertSuccess(),{MissingDateVisibility:cdk().stringToCloudFormation(properties.missingDateVisibility)}):properties}function CfnAnalysisDateAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("missingDateVisibility","MissingDateVisibility",properties.MissingDateVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MissingDateVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisLogarithmicScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("base",cdk().validateNumber)(properties.base)),errors.wrap('supplied properties not correct for "AxisLogarithmicScaleProperty"')}function convertCfnAnalysisAxisLogarithmicScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisLogarithmicScalePropertyValidator(properties).assertSuccess(),{Base:cdk().numberToCloudFormation(properties.base)}):properties}function CfnAnalysisAxisLogarithmicScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("base","Base",properties.Base!=null?cfn_parse().FromCloudFormation.getNumber(properties.Base):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisLinearScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("stepCount",cdk().validateNumber)(properties.stepCount)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.wrap('supplied properties not correct for "AxisLinearScaleProperty"')}function convertCfnAnalysisAxisLinearScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisLinearScalePropertyValidator(properties).assertSuccess(),{StepCount:cdk().numberToCloudFormation(properties.stepCount),StepSize:cdk().numberToCloudFormation(properties.stepSize)}):properties}function CfnAnalysisAxisLinearScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("stepCount","StepCount",properties.StepCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepCount):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("linear",CfnAnalysisAxisLinearScalePropertyValidator)(properties.linear)),errors.collect(cdk().propertyValidator("logarithmic",CfnAnalysisAxisLogarithmicScalePropertyValidator)(properties.logarithmic)),errors.wrap('supplied properties not correct for "AxisScaleProperty"')}function convertCfnAnalysisAxisScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisScalePropertyValidator(properties).assertSuccess(),{Linear:convertCfnAnalysisAxisLinearScalePropertyToCloudFormation(properties.linear),Logarithmic:convertCfnAnalysisAxisLogarithmicScalePropertyToCloudFormation(properties.logarithmic)}):properties}function CfnAnalysisAxisScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("linear","Linear",properties.Linear!=null?CfnAnalysisAxisLinearScalePropertyFromCloudFormation(properties.Linear):void 0),ret.addPropertyResult("logarithmic","Logarithmic",properties.Logarithmic!=null?CfnAnalysisAxisLogarithmicScalePropertyFromCloudFormation(properties.Logarithmic):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisDisplayMinMaxRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maximum",cdk().validateNumber)(properties.maximum)),errors.collect(cdk().propertyValidator("minimum",cdk().validateNumber)(properties.minimum)),errors.wrap('supplied properties not correct for "AxisDisplayMinMaxRangeProperty"')}function convertCfnAnalysisAxisDisplayMinMaxRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisDisplayMinMaxRangePropertyValidator(properties).assertSuccess(),{Maximum:cdk().numberToCloudFormation(properties.maximum),Minimum:cdk().numberToCloudFormation(properties.minimum)}):properties}function CfnAnalysisAxisDisplayMinMaxRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maximum","Maximum",properties.Maximum!=null?cfn_parse().FromCloudFormation.getNumber(properties.Maximum):void 0),ret.addPropertyResult("minimum","Minimum",properties.Minimum!=null?cfn_parse().FromCloudFormation.getNumber(properties.Minimum):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisDisplayRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataDriven",cdk().validateObject)(properties.dataDriven)),errors.collect(cdk().propertyValidator("minMax",CfnAnalysisAxisDisplayMinMaxRangePropertyValidator)(properties.minMax)),errors.wrap('supplied properties not correct for "AxisDisplayRangeProperty"')}function convertCfnAnalysisAxisDisplayRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisDisplayRangePropertyValidator(properties).assertSuccess(),{DataDriven:cdk().objectToCloudFormation(properties.dataDriven),MinMax:convertCfnAnalysisAxisDisplayMinMaxRangePropertyToCloudFormation(properties.minMax)}):properties}function CfnAnalysisAxisDisplayRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataDriven","DataDriven",properties.DataDriven!=null?cfn_parse().FromCloudFormation.getAny(properties.DataDriven):void 0),ret.addPropertyResult("minMax","MinMax",properties.MinMax!=null?CfnAnalysisAxisDisplayMinMaxRangePropertyFromCloudFormation(properties.MinMax):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisNumericAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("range",CfnAnalysisAxisDisplayRangePropertyValidator)(properties.range)),errors.collect(cdk().propertyValidator("scale",CfnAnalysisAxisScalePropertyValidator)(properties.scale)),errors.wrap('supplied properties not correct for "NumericAxisOptionsProperty"')}function convertCfnAnalysisNumericAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisNumericAxisOptionsPropertyValidator(properties).assertSuccess(),{Range:convertCfnAnalysisAxisDisplayRangePropertyToCloudFormation(properties.range),Scale:convertCfnAnalysisAxisScalePropertyToCloudFormation(properties.scale)}):properties}function CfnAnalysisNumericAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("range","Range",properties.Range!=null?CfnAnalysisAxisDisplayRangePropertyFromCloudFormation(properties.Range):void 0),ret.addPropertyResult("scale","Scale",properties.Scale!=null?CfnAnalysisAxisScalePropertyFromCloudFormation(properties.Scale):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisDataOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateAxisOptions",CfnAnalysisDateAxisOptionsPropertyValidator)(properties.dateAxisOptions)),errors.collect(cdk().propertyValidator("numericAxisOptions",CfnAnalysisNumericAxisOptionsPropertyValidator)(properties.numericAxisOptions)),errors.wrap('supplied properties not correct for "AxisDataOptionsProperty"')}function convertCfnAnalysisAxisDataOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisDataOptionsPropertyValidator(properties).assertSuccess(),{DateAxisOptions:convertCfnAnalysisDateAxisOptionsPropertyToCloudFormation(properties.dateAxisOptions),NumericAxisOptions:convertCfnAnalysisNumericAxisOptionsPropertyToCloudFormation(properties.numericAxisOptions)}):properties}function CfnAnalysisAxisDataOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateAxisOptions","DateAxisOptions",properties.DateAxisOptions!=null?CfnAnalysisDateAxisOptionsPropertyFromCloudFormation(properties.DateAxisOptions):void 0),ret.addPropertyResult("numericAxisOptions","NumericAxisOptions",properties.NumericAxisOptions!=null?CfnAnalysisNumericAxisOptionsPropertyFromCloudFormation(properties.NumericAxisOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisTickLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("labelOptions",CfnAnalysisLabelOptionsPropertyValidator)(properties.labelOptions)),errors.collect(cdk().propertyValidator("rotationAngle",cdk().validateNumber)(properties.rotationAngle)),errors.wrap('supplied properties not correct for "AxisTickLabelOptionsProperty"')}function convertCfnAnalysisAxisTickLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisTickLabelOptionsPropertyValidator(properties).assertSuccess(),{LabelOptions:convertCfnAnalysisLabelOptionsPropertyToCloudFormation(properties.labelOptions),RotationAngle:cdk().numberToCloudFormation(properties.rotationAngle)}):properties}function CfnAnalysisAxisTickLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("labelOptions","LabelOptions",properties.LabelOptions!=null?CfnAnalysisLabelOptionsPropertyFromCloudFormation(properties.LabelOptions):void 0),ret.addPropertyResult("rotationAngle","RotationAngle",properties.RotationAngle!=null?cfn_parse().FromCloudFormation.getNumber(properties.RotationAngle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPercentVisibleRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("from",cdk().validateNumber)(properties.from)),errors.collect(cdk().propertyValidator("to",cdk().validateNumber)(properties.to)),errors.wrap('supplied properties not correct for "PercentVisibleRangeProperty"')}function convertCfnAnalysisPercentVisibleRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPercentVisibleRangePropertyValidator(properties).assertSuccess(),{From:cdk().numberToCloudFormation(properties.from),To:cdk().numberToCloudFormation(properties.to)}):properties}function CfnAnalysisPercentVisibleRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("from","From",properties.From!=null?cfn_parse().FromCloudFormation.getNumber(properties.From):void 0),ret.addPropertyResult("to","To",properties.To!=null?cfn_parse().FromCloudFormation.getNumber(properties.To):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisVisibleRangeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("percentRange",CfnAnalysisPercentVisibleRangePropertyValidator)(properties.percentRange)),errors.wrap('supplied properties not correct for "VisibleRangeOptionsProperty"')}function convertCfnAnalysisVisibleRangeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisVisibleRangeOptionsPropertyValidator(properties).assertSuccess(),{PercentRange:convertCfnAnalysisPercentVisibleRangePropertyToCloudFormation(properties.percentRange)}):properties}function CfnAnalysisVisibleRangeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("percentRange","PercentRange",properties.PercentRange!=null?CfnAnalysisPercentVisibleRangePropertyFromCloudFormation(properties.PercentRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisScrollBarOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("visibleRange",CfnAnalysisVisibleRangeOptionsPropertyValidator)(properties.visibleRange)),errors.wrap('supplied properties not correct for "ScrollBarOptionsProperty"')}function convertCfnAnalysisScrollBarOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisScrollBarOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility),VisibleRange:convertCfnAnalysisVisibleRangeOptionsPropertyToCloudFormation(properties.visibleRange)}):properties}function CfnAnalysisScrollBarOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("visibleRange","VisibleRange",properties.VisibleRange!=null?CfnAnalysisVisibleRangeOptionsPropertyFromCloudFormation(properties.VisibleRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAxisDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisLineVisibility",cdk().validateString)(properties.axisLineVisibility)),errors.collect(cdk().propertyValidator("axisOffset",cdk().validateString)(properties.axisOffset)),errors.collect(cdk().propertyValidator("dataOptions",CfnAnalysisAxisDataOptionsPropertyValidator)(properties.dataOptions)),errors.collect(cdk().propertyValidator("gridLineVisibility",cdk().validateString)(properties.gridLineVisibility)),errors.collect(cdk().propertyValidator("scrollbarOptions",CfnAnalysisScrollBarOptionsPropertyValidator)(properties.scrollbarOptions)),errors.collect(cdk().propertyValidator("tickLabelOptions",CfnAnalysisAxisTickLabelOptionsPropertyValidator)(properties.tickLabelOptions)),errors.wrap('supplied properties not correct for "AxisDisplayOptionsProperty"')}function convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAxisDisplayOptionsPropertyValidator(properties).assertSuccess(),{AxisLineVisibility:cdk().stringToCloudFormation(properties.axisLineVisibility),AxisOffset:cdk().stringToCloudFormation(properties.axisOffset),DataOptions:convertCfnAnalysisAxisDataOptionsPropertyToCloudFormation(properties.dataOptions),GridLineVisibility:cdk().stringToCloudFormation(properties.gridLineVisibility),ScrollbarOptions:convertCfnAnalysisScrollBarOptionsPropertyToCloudFormation(properties.scrollbarOptions),TickLabelOptions:convertCfnAnalysisAxisTickLabelOptionsPropertyToCloudFormation(properties.tickLabelOptions)}):properties}function CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisLineVisibility","AxisLineVisibility",properties.AxisLineVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AxisLineVisibility):void 0),ret.addPropertyResult("axisOffset","AxisOffset",properties.AxisOffset!=null?cfn_parse().FromCloudFormation.getString(properties.AxisOffset):void 0),ret.addPropertyResult("dataOptions","DataOptions",properties.DataOptions!=null?CfnAnalysisAxisDataOptionsPropertyFromCloudFormation(properties.DataOptions):void 0),ret.addPropertyResult("gridLineVisibility","GridLineVisibility",properties.GridLineVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.GridLineVisibility):void 0),ret.addPropertyResult("scrollbarOptions","ScrollbarOptions",properties.ScrollbarOptions!=null?CfnAnalysisScrollBarOptionsPropertyFromCloudFormation(properties.ScrollbarOptions):void 0),ret.addPropertyResult("tickLabelOptions","TickLabelOptions",properties.TickLabelOptions!=null?CfnAnalysisAxisTickLabelOptionsPropertyFromCloudFormation(properties.TickLabelOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBoxPlotAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "BoxPlotAggregatedFieldWellsProperty"')}function convertCfnAnalysisBoxPlotAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBoxPlotAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{GroupBy:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.groupBy),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisBoxPlotAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBoxPlotFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("boxPlotAggregatedFieldWells",CfnAnalysisBoxPlotAggregatedFieldWellsPropertyValidator)(properties.boxPlotAggregatedFieldWells)),errors.wrap('supplied properties not correct for "BoxPlotFieldWellsProperty"')}function convertCfnAnalysisBoxPlotFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBoxPlotFieldWellsPropertyValidator(properties).assertSuccess(),{BoxPlotAggregatedFieldWells:convertCfnAnalysisBoxPlotAggregatedFieldWellsPropertyToCloudFormation(properties.boxPlotAggregatedFieldWells)}):properties}function CfnAnalysisBoxPlotFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("boxPlotAggregatedFieldWells","BoxPlotAggregatedFieldWells",properties.BoxPlotAggregatedFieldWells!=null?CfnAnalysisBoxPlotAggregatedFieldWellsPropertyFromCloudFormation(properties.BoxPlotAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBoxPlotStyleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fillStyle",cdk().validateString)(properties.fillStyle)),errors.wrap('supplied properties not correct for "BoxPlotStyleOptionsProperty"')}function convertCfnAnalysisBoxPlotStyleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBoxPlotStyleOptionsPropertyValidator(properties).assertSuccess(),{FillStyle:cdk().stringToCloudFormation(properties.fillStyle)}):properties}function CfnAnalysisBoxPlotStyleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fillStyle","FillStyle",properties.FillStyle!=null?cfn_parse().FromCloudFormation.getString(properties.FillStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBoxPlotOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allDataPointsVisibility",cdk().validateString)(properties.allDataPointsVisibility)),errors.collect(cdk().propertyValidator("outlierVisibility",cdk().validateString)(properties.outlierVisibility)),errors.collect(cdk().propertyValidator("styleOptions",CfnAnalysisBoxPlotStyleOptionsPropertyValidator)(properties.styleOptions)),errors.wrap('supplied properties not correct for "BoxPlotOptionsProperty"')}function convertCfnAnalysisBoxPlotOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBoxPlotOptionsPropertyValidator(properties).assertSuccess(),{AllDataPointsVisibility:cdk().stringToCloudFormation(properties.allDataPointsVisibility),OutlierVisibility:cdk().stringToCloudFormation(properties.outlierVisibility),StyleOptions:convertCfnAnalysisBoxPlotStyleOptionsPropertyToCloudFormation(properties.styleOptions)}):properties}function CfnAnalysisBoxPlotOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allDataPointsVisibility","AllDataPointsVisibility",properties.AllDataPointsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AllDataPointsVisibility):void 0),ret.addPropertyResult("outlierVisibility","OutlierVisibility",properties.OutlierVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.OutlierVisibility):void 0),ret.addPropertyResult("styleOptions","StyleOptions",properties.StyleOptions!=null?CfnAnalysisBoxPlotStyleOptionsPropertyFromCloudFormation(properties.StyleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBoxPlotChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("boxPlotOptions",CfnAnalysisBoxPlotOptionsPropertyValidator)(properties.boxPlotOptions)),errors.collect(cdk().propertyValidator("categoryAxis",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisBoxPlotFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnAnalysisReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisBoxPlotSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "BoxPlotChartConfigurationProperty"')}function convertCfnAnalysisBoxPlotChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBoxPlotChartConfigurationPropertyValidator(properties).assertSuccess(),{BoxPlotOptions:convertCfnAnalysisBoxPlotOptionsPropertyToCloudFormation(properties.boxPlotOptions),CategoryAxis:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),FieldWells:convertCfnAnalysisBoxPlotFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),PrimaryYAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),ReferenceLines:cdk().listMapper(convertCfnAnalysisReferenceLinePropertyToCloudFormation)(properties.referenceLines),SortConfiguration:convertCfnAnalysisBoxPlotSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnAnalysisBoxPlotChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("boxPlotOptions","BoxPlotOptions",properties.BoxPlotOptions!=null?CfnAnalysisBoxPlotOptionsPropertyFromCloudFormation(properties.BoxPlotOptions):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisBoxPlotFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisBoxPlotSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBoxPlotVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisBoxPlotChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "BoxPlotVisualProperty"')}function convertCfnAnalysisBoxPlotVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBoxPlotVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisBoxPlotChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisBoxPlotVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisBoxPlotChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWaterfallChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("breakdownItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.breakdownItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "WaterfallChartSortConfigurationProperty"')}function convertCfnAnalysisWaterfallChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWaterfallChartSortConfigurationPropertyValidator(properties).assertSuccess(),{BreakdownItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.breakdownItemsLimit),CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnAnalysisWaterfallChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("breakdownItemsLimit","BreakdownItemsLimit",properties.BreakdownItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.BreakdownItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisMaximumLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "MaximumLabelTypeProperty"')}function convertCfnAnalysisMaximumLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisMaximumLabelTypePropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisMaximumLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataPathLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "DataPathLabelTypeProperty"')}function convertCfnAnalysisDataPathLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataPathLabelTypePropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),FieldValue:cdk().stringToCloudFormation(properties.fieldValue),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisDataPathLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRangeEndsLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "RangeEndsLabelTypeProperty"')}function convertCfnAnalysisRangeEndsLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRangeEndsLabelTypePropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisRangeEndsLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFieldLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FieldLabelTypeProperty"')}function convertCfnAnalysisFieldLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFieldLabelTypePropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisFieldLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisMinimumLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "MinimumLabelTypeProperty"')}function convertCfnAnalysisMinimumLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisMinimumLabelTypePropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisMinimumLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataPathLabelType",CfnAnalysisDataPathLabelTypePropertyValidator)(properties.dataPathLabelType)),errors.collect(cdk().propertyValidator("fieldLabelType",CfnAnalysisFieldLabelTypePropertyValidator)(properties.fieldLabelType)),errors.collect(cdk().propertyValidator("maximumLabelType",CfnAnalysisMaximumLabelTypePropertyValidator)(properties.maximumLabelType)),errors.collect(cdk().propertyValidator("minimumLabelType",CfnAnalysisMinimumLabelTypePropertyValidator)(properties.minimumLabelType)),errors.collect(cdk().propertyValidator("rangeEndsLabelType",CfnAnalysisRangeEndsLabelTypePropertyValidator)(properties.rangeEndsLabelType)),errors.wrap('supplied properties not correct for "DataLabelTypeProperty"')}function convertCfnAnalysisDataLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataLabelTypePropertyValidator(properties).assertSuccess(),{DataPathLabelType:convertCfnAnalysisDataPathLabelTypePropertyToCloudFormation(properties.dataPathLabelType),FieldLabelType:convertCfnAnalysisFieldLabelTypePropertyToCloudFormation(properties.fieldLabelType),MaximumLabelType:convertCfnAnalysisMaximumLabelTypePropertyToCloudFormation(properties.maximumLabelType),MinimumLabelType:convertCfnAnalysisMinimumLabelTypePropertyToCloudFormation(properties.minimumLabelType),RangeEndsLabelType:convertCfnAnalysisRangeEndsLabelTypePropertyToCloudFormation(properties.rangeEndsLabelType)}):properties}function CfnAnalysisDataLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataPathLabelType","DataPathLabelType",properties.DataPathLabelType!=null?CfnAnalysisDataPathLabelTypePropertyFromCloudFormation(properties.DataPathLabelType):void 0),ret.addPropertyResult("fieldLabelType","FieldLabelType",properties.FieldLabelType!=null?CfnAnalysisFieldLabelTypePropertyFromCloudFormation(properties.FieldLabelType):void 0),ret.addPropertyResult("maximumLabelType","MaximumLabelType",properties.MaximumLabelType!=null?CfnAnalysisMaximumLabelTypePropertyFromCloudFormation(properties.MaximumLabelType):void 0),ret.addPropertyResult("minimumLabelType","MinimumLabelType",properties.MinimumLabelType!=null?CfnAnalysisMinimumLabelTypePropertyFromCloudFormation(properties.MinimumLabelType):void 0),ret.addPropertyResult("rangeEndsLabelType","RangeEndsLabelType",properties.RangeEndsLabelType!=null?CfnAnalysisRangeEndsLabelTypePropertyFromCloudFormation(properties.RangeEndsLabelType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelVisibility",cdk().validateString)(properties.categoryLabelVisibility)),errors.collect(cdk().propertyValidator("dataLabelTypes",cdk().listValidator(CfnAnalysisDataLabelTypePropertyValidator))(properties.dataLabelTypes)),errors.collect(cdk().propertyValidator("labelColor",cdk().validateString)(properties.labelColor)),errors.collect(cdk().propertyValidator("labelContent",cdk().validateString)(properties.labelContent)),errors.collect(cdk().propertyValidator("labelFontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.labelFontConfiguration)),errors.collect(cdk().propertyValidator("measureLabelVisibility",cdk().validateString)(properties.measureLabelVisibility)),errors.collect(cdk().propertyValidator("overlap",cdk().validateString)(properties.overlap)),errors.collect(cdk().propertyValidator("position",cdk().validateString)(properties.position)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "DataLabelOptionsProperty"')}function convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataLabelOptionsPropertyValidator(properties).assertSuccess(),{CategoryLabelVisibility:cdk().stringToCloudFormation(properties.categoryLabelVisibility),DataLabelTypes:cdk().listMapper(convertCfnAnalysisDataLabelTypePropertyToCloudFormation)(properties.dataLabelTypes),LabelColor:cdk().stringToCloudFormation(properties.labelColor),LabelContent:cdk().stringToCloudFormation(properties.labelContent),LabelFontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.labelFontConfiguration),MeasureLabelVisibility:cdk().stringToCloudFormation(properties.measureLabelVisibility),Overlap:cdk().stringToCloudFormation(properties.overlap),Position:cdk().stringToCloudFormation(properties.position),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelVisibility","CategoryLabelVisibility",properties.CategoryLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryLabelVisibility):void 0),ret.addPropertyResult("dataLabelTypes","DataLabelTypes",properties.DataLabelTypes!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDataLabelTypePropertyFromCloudFormation)(properties.DataLabelTypes):void 0),ret.addPropertyResult("labelColor","LabelColor",properties.LabelColor!=null?cfn_parse().FromCloudFormation.getString(properties.LabelColor):void 0),ret.addPropertyResult("labelContent","LabelContent",properties.LabelContent!=null?cfn_parse().FromCloudFormation.getString(properties.LabelContent):void 0),ret.addPropertyResult("labelFontConfiguration","LabelFontConfiguration",properties.LabelFontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.LabelFontConfiguration):void 0),ret.addPropertyResult("measureLabelVisibility","MeasureLabelVisibility",properties.MeasureLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureLabelVisibility):void 0),ret.addPropertyResult("overlap","Overlap",properties.Overlap!=null?cfn_parse().FromCloudFormation.getString(properties.Overlap):void 0),ret.addPropertyResult("position","Position",properties.Position!=null?cfn_parse().FromCloudFormation.getString(properties.Position):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWaterfallChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("breakdowns",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.breakdowns)),errors.collect(cdk().propertyValidator("categories",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.categories)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "WaterfallChartAggregatedFieldWellsProperty"')}function convertCfnAnalysisWaterfallChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWaterfallChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Breakdowns:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.breakdowns),Categories:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.categories),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisWaterfallChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("breakdowns","Breakdowns",properties.Breakdowns!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Breakdowns):void 0),ret.addPropertyResult("categories","Categories",properties.Categories!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Categories):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWaterfallChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("waterfallChartAggregatedFieldWells",CfnAnalysisWaterfallChartAggregatedFieldWellsPropertyValidator)(properties.waterfallChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "WaterfallChartFieldWellsProperty"')}function convertCfnAnalysisWaterfallChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWaterfallChartFieldWellsPropertyValidator(properties).assertSuccess(),{WaterfallChartAggregatedFieldWells:convertCfnAnalysisWaterfallChartAggregatedFieldWellsPropertyToCloudFormation(properties.waterfallChartAggregatedFieldWells)}):properties}function CfnAnalysisWaterfallChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("waterfallChartAggregatedFieldWells","WaterfallChartAggregatedFieldWells",properties.WaterfallChartAggregatedFieldWells!=null?CfnAnalysisWaterfallChartAggregatedFieldWellsPropertyFromCloudFormation(properties.WaterfallChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWaterfallChartOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("totalBarLabel",cdk().validateString)(properties.totalBarLabel)),errors.wrap('supplied properties not correct for "WaterfallChartOptionsProperty"')}function convertCfnAnalysisWaterfallChartOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWaterfallChartOptionsPropertyValidator(properties).assertSuccess(),{TotalBarLabel:cdk().stringToCloudFormation(properties.totalBarLabel)}):properties}function CfnAnalysisWaterfallChartOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("totalBarLabel","TotalBarLabel",properties.TotalBarLabel!=null?cfn_parse().FromCloudFormation.getString(properties.TotalBarLabel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWaterfallChartGroupColorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("negativeBarColor",cdk().validateString)(properties.negativeBarColor)),errors.collect(cdk().propertyValidator("positiveBarColor",cdk().validateString)(properties.positiveBarColor)),errors.collect(cdk().propertyValidator("totalBarColor",cdk().validateString)(properties.totalBarColor)),errors.wrap('supplied properties not correct for "WaterfallChartGroupColorConfigurationProperty"')}function convertCfnAnalysisWaterfallChartGroupColorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWaterfallChartGroupColorConfigurationPropertyValidator(properties).assertSuccess(),{NegativeBarColor:cdk().stringToCloudFormation(properties.negativeBarColor),PositiveBarColor:cdk().stringToCloudFormation(properties.positiveBarColor),TotalBarColor:cdk().stringToCloudFormation(properties.totalBarColor)}):properties}function CfnAnalysisWaterfallChartGroupColorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("negativeBarColor","NegativeBarColor",properties.NegativeBarColor!=null?cfn_parse().FromCloudFormation.getString(properties.NegativeBarColor):void 0),ret.addPropertyResult("positiveBarColor","PositiveBarColor",properties.PositiveBarColor!=null?cfn_parse().FromCloudFormation.getString(properties.PositiveBarColor):void 0),ret.addPropertyResult("totalBarColor","TotalBarColor",properties.TotalBarColor!=null?cfn_parse().FromCloudFormation.getString(properties.TotalBarColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWaterfallChartColorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupColorConfiguration",CfnAnalysisWaterfallChartGroupColorConfigurationPropertyValidator)(properties.groupColorConfiguration)),errors.wrap('supplied properties not correct for "WaterfallChartColorConfigurationProperty"')}function convertCfnAnalysisWaterfallChartColorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWaterfallChartColorConfigurationPropertyValidator(properties).assertSuccess(),{GroupColorConfiguration:convertCfnAnalysisWaterfallChartGroupColorConfigurationPropertyToCloudFormation(properties.groupColorConfiguration)}):properties}function CfnAnalysisWaterfallChartColorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupColorConfiguration","GroupColorConfiguration",properties.GroupColorConfiguration!=null?CfnAnalysisWaterfallChartGroupColorConfigurationPropertyFromCloudFormation(properties.GroupColorConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWaterfallChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.categoryAxisDisplayOptions)),errors.collect(cdk().propertyValidator("categoryAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.categoryAxisLabelOptions)),errors.collect(cdk().propertyValidator("colorConfiguration",CfnAnalysisWaterfallChartColorConfigurationPropertyValidator)(properties.colorConfiguration)),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisWaterfallChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisWaterfallChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("waterfallChartOptions",CfnAnalysisWaterfallChartOptionsPropertyValidator)(properties.waterfallChartOptions)),errors.wrap('supplied properties not correct for "WaterfallChartConfigurationProperty"')}function convertCfnAnalysisWaterfallChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWaterfallChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxisDisplayOptions),CategoryAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryAxisLabelOptions),ColorConfiguration:convertCfnAnalysisWaterfallChartColorConfigurationPropertyToCloudFormation(properties.colorConfiguration),DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnAnalysisWaterfallChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),PrimaryYAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),SortConfiguration:convertCfnAnalysisWaterfallChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette),WaterfallChartOptions:convertCfnAnalysisWaterfallChartOptionsPropertyToCloudFormation(properties.waterfallChartOptions)}):properties}function CfnAnalysisWaterfallChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryAxisDisplayOptions","CategoryAxisDisplayOptions",properties.CategoryAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxisDisplayOptions):void 0),ret.addPropertyResult("categoryAxisLabelOptions","CategoryAxisLabelOptions",properties.CategoryAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryAxisLabelOptions):void 0),ret.addPropertyResult("colorConfiguration","ColorConfiguration",properties.ColorConfiguration!=null?CfnAnalysisWaterfallChartColorConfigurationPropertyFromCloudFormation(properties.ColorConfiguration):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisWaterfallChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisWaterfallChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("waterfallChartOptions","WaterfallChartOptions",properties.WaterfallChartOptions!=null?CfnAnalysisWaterfallChartOptionsPropertyFromCloudFormation(properties.WaterfallChartOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWaterfallVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisWaterfallChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "WaterfallVisualProperty"')}function convertCfnAnalysisWaterfallVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWaterfallVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisWaterfallChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisWaterfallVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisWaterfallChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomContentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("contentUrl",cdk().validateString)(properties.contentUrl)),errors.collect(cdk().propertyValidator("imageScaling",cdk().validateString)(properties.imageScaling)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.wrap('supplied properties not correct for "CustomContentConfigurationProperty"')}function convertCfnAnalysisCustomContentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomContentConfigurationPropertyValidator(properties).assertSuccess(),{ContentType:cdk().stringToCloudFormation(properties.contentType),ContentUrl:cdk().stringToCloudFormation(properties.contentUrl),ImageScaling:cdk().stringToCloudFormation(properties.imageScaling),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions)}):properties}function CfnAnalysisCustomContentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("contentUrl","ContentUrl",properties.ContentUrl!=null?cfn_parse().FromCloudFormation.getString(properties.ContentUrl):void 0),ret.addPropertyResult("imageScaling","ImageScaling",properties.ImageScaling!=null?cfn_parse().FromCloudFormation.getString(properties.ImageScaling):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomContentVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisCustomContentConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "CustomContentVisualProperty"')}function convertCfnAnalysisCustomContentVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomContentVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisCustomContentConfigurationPropertyToCloudFormation(properties.chartConfiguration),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisCustomContentVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisCustomContentConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPieChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("smallMultiplesLimitConfiguration",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.smallMultiplesLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.smallMultiplesSort)),errors.wrap('supplied properties not correct for "PieChartSortConfigurationProperty"')}function convertCfnAnalysisPieChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPieChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),SmallMultiplesLimitConfiguration:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.smallMultiplesLimitConfiguration),SmallMultiplesSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.smallMultiplesSort)}):properties}function CfnAnalysisPieChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("smallMultiplesLimitConfiguration","SmallMultiplesLimitConfiguration",properties.SmallMultiplesLimitConfiguration!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.SmallMultiplesLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesSort","SmallMultiplesSort",properties.SmallMultiplesSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.SmallMultiplesSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisContributionAnalysisDefaultPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contributorDimensions",cdk().requiredValidator)(properties.contributorDimensions)),errors.collect(cdk().propertyValidator("contributorDimensions",cdk().listValidator(CfnAnalysisColumnIdentifierPropertyValidator))(properties.contributorDimensions)),errors.collect(cdk().propertyValidator("measureFieldId",cdk().requiredValidator)(properties.measureFieldId)),errors.collect(cdk().propertyValidator("measureFieldId",cdk().validateString)(properties.measureFieldId)),errors.wrap('supplied properties not correct for "ContributionAnalysisDefaultProperty"')}function convertCfnAnalysisContributionAnalysisDefaultPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisContributionAnalysisDefaultPropertyValidator(properties).assertSuccess(),{ContributorDimensions:cdk().listMapper(convertCfnAnalysisColumnIdentifierPropertyToCloudFormation)(properties.contributorDimensions),MeasureFieldId:cdk().stringToCloudFormation(properties.measureFieldId)}):properties}function CfnAnalysisContributionAnalysisDefaultPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contributorDimensions","ContributorDimensions",properties.ContributorDimensions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnIdentifierPropertyFromCloudFormation)(properties.ContributorDimensions):void 0),ret.addPropertyResult("measureFieldId","MeasureFieldId",properties.MeasureFieldId!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureFieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPieChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("smallMultiples",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.smallMultiples)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "PieChartAggregatedFieldWellsProperty"')}function convertCfnAnalysisPieChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPieChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.category),SmallMultiples:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.smallMultiples),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisPieChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("smallMultiples","SmallMultiples",properties.SmallMultiples!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.SmallMultiples):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPieChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pieChartAggregatedFieldWells",CfnAnalysisPieChartAggregatedFieldWellsPropertyValidator)(properties.pieChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "PieChartFieldWellsProperty"')}function convertCfnAnalysisPieChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPieChartFieldWellsPropertyValidator(properties).assertSuccess(),{PieChartAggregatedFieldWells:convertCfnAnalysisPieChartAggregatedFieldWellsPropertyToCloudFormation(properties.pieChartAggregatedFieldWells)}):properties}function CfnAnalysisPieChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pieChartAggregatedFieldWells","PieChartAggregatedFieldWells",properties.PieChartAggregatedFieldWells!=null?CfnAnalysisPieChartAggregatedFieldWellsPropertyFromCloudFormation(properties.PieChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDonutCenterOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("labelVisibility",cdk().validateString)(properties.labelVisibility)),errors.wrap('supplied properties not correct for "DonutCenterOptionsProperty"')}function convertCfnAnalysisDonutCenterOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDonutCenterOptionsPropertyValidator(properties).assertSuccess(),{LabelVisibility:cdk().stringToCloudFormation(properties.labelVisibility)}):properties}function CfnAnalysisDonutCenterOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("labelVisibility","LabelVisibility",properties.LabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.LabelVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisArcOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcThickness",cdk().validateString)(properties.arcThickness)),errors.wrap('supplied properties not correct for "ArcOptionsProperty"')}function convertCfnAnalysisArcOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisArcOptionsPropertyValidator(properties).assertSuccess(),{ArcThickness:cdk().stringToCloudFormation(properties.arcThickness)}):properties}function CfnAnalysisArcOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcThickness","ArcThickness",properties.ArcThickness!=null?cfn_parse().FromCloudFormation.getString(properties.ArcThickness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDonutOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcOptions",CfnAnalysisArcOptionsPropertyValidator)(properties.arcOptions)),errors.collect(cdk().propertyValidator("donutCenterOptions",CfnAnalysisDonutCenterOptionsPropertyValidator)(properties.donutCenterOptions)),errors.wrap('supplied properties not correct for "DonutOptionsProperty"')}function convertCfnAnalysisDonutOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDonutOptionsPropertyValidator(properties).assertSuccess(),{ArcOptions:convertCfnAnalysisArcOptionsPropertyToCloudFormation(properties.arcOptions),DonutCenterOptions:convertCfnAnalysisDonutCenterOptionsPropertyToCloudFormation(properties.donutCenterOptions)}):properties}function CfnAnalysisDonutOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcOptions","ArcOptions",properties.ArcOptions!=null?CfnAnalysisArcOptionsPropertyFromCloudFormation(properties.ArcOptions):void 0),ret.addPropertyResult("donutCenterOptions","DonutCenterOptions",properties.DonutCenterOptions!=null?CfnAnalysisDonutCenterOptionsPropertyFromCloudFormation(properties.DonutCenterOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPanelTitleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("horizontalTextAlignment",cdk().validateString)(properties.horizontalTextAlignment)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "PanelTitleOptionsProperty"')}function convertCfnAnalysisPanelTitleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPanelTitleOptionsPropertyValidator(properties).assertSuccess(),{FontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),HorizontalTextAlignment:cdk().stringToCloudFormation(properties.horizontalTextAlignment),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisPanelTitleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("horizontalTextAlignment","HorizontalTextAlignment",properties.HorizontalTextAlignment!=null?cfn_parse().FromCloudFormation.getString(properties.HorizontalTextAlignment):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPanelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("backgroundVisibility",cdk().validateString)(properties.backgroundVisibility)),errors.collect(cdk().propertyValidator("borderColor",cdk().validateString)(properties.borderColor)),errors.collect(cdk().propertyValidator("borderStyle",cdk().validateString)(properties.borderStyle)),errors.collect(cdk().propertyValidator("borderThickness",cdk().validateString)(properties.borderThickness)),errors.collect(cdk().propertyValidator("borderVisibility",cdk().validateString)(properties.borderVisibility)),errors.collect(cdk().propertyValidator("gutterSpacing",cdk().validateString)(properties.gutterSpacing)),errors.collect(cdk().propertyValidator("gutterVisibility",cdk().validateString)(properties.gutterVisibility)),errors.collect(cdk().propertyValidator("title",CfnAnalysisPanelTitleOptionsPropertyValidator)(properties.title)),errors.wrap('supplied properties not correct for "PanelConfigurationProperty"')}function convertCfnAnalysisPanelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPanelConfigurationPropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),BackgroundVisibility:cdk().stringToCloudFormation(properties.backgroundVisibility),BorderColor:cdk().stringToCloudFormation(properties.borderColor),BorderStyle:cdk().stringToCloudFormation(properties.borderStyle),BorderThickness:cdk().stringToCloudFormation(properties.borderThickness),BorderVisibility:cdk().stringToCloudFormation(properties.borderVisibility),GutterSpacing:cdk().stringToCloudFormation(properties.gutterSpacing),GutterVisibility:cdk().stringToCloudFormation(properties.gutterVisibility),Title:convertCfnAnalysisPanelTitleOptionsPropertyToCloudFormation(properties.title)}):properties}function CfnAnalysisPanelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("backgroundVisibility","BackgroundVisibility",properties.BackgroundVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundVisibility):void 0),ret.addPropertyResult("borderColor","BorderColor",properties.BorderColor!=null?cfn_parse().FromCloudFormation.getString(properties.BorderColor):void 0),ret.addPropertyResult("borderStyle","BorderStyle",properties.BorderStyle!=null?cfn_parse().FromCloudFormation.getString(properties.BorderStyle):void 0),ret.addPropertyResult("borderThickness","BorderThickness",properties.BorderThickness!=null?cfn_parse().FromCloudFormation.getString(properties.BorderThickness):void 0),ret.addPropertyResult("borderVisibility","BorderVisibility",properties.BorderVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.BorderVisibility):void 0),ret.addPropertyResult("gutterSpacing","GutterSpacing",properties.GutterSpacing!=null?cfn_parse().FromCloudFormation.getString(properties.GutterSpacing):void 0),ret.addPropertyResult("gutterVisibility","GutterVisibility",properties.GutterVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.GutterVisibility):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisPanelTitleOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSmallMultiplesAxisPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("placement",cdk().validateString)(properties.placement)),errors.collect(cdk().propertyValidator("scale",cdk().validateString)(properties.scale)),errors.wrap('supplied properties not correct for "SmallMultiplesAxisPropertiesProperty"')}function convertCfnAnalysisSmallMultiplesAxisPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSmallMultiplesAxisPropertiesPropertyValidator(properties).assertSuccess(),{Placement:cdk().stringToCloudFormation(properties.placement),Scale:cdk().stringToCloudFormation(properties.scale)}):properties}function CfnAnalysisSmallMultiplesAxisPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("placement","Placement",properties.Placement!=null?cfn_parse().FromCloudFormation.getString(properties.Placement):void 0),ret.addPropertyResult("scale","Scale",properties.Scale!=null?cfn_parse().FromCloudFormation.getString(properties.Scale):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSmallMultiplesOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maxVisibleColumns",cdk().validateNumber)(properties.maxVisibleColumns)),errors.collect(cdk().propertyValidator("maxVisibleRows",cdk().validateNumber)(properties.maxVisibleRows)),errors.collect(cdk().propertyValidator("panelConfiguration",CfnAnalysisPanelConfigurationPropertyValidator)(properties.panelConfiguration)),errors.collect(cdk().propertyValidator("xAxis",CfnAnalysisSmallMultiplesAxisPropertiesPropertyValidator)(properties.xAxis)),errors.collect(cdk().propertyValidator("yAxis",CfnAnalysisSmallMultiplesAxisPropertiesPropertyValidator)(properties.yAxis)),errors.wrap('supplied properties not correct for "SmallMultiplesOptionsProperty"')}function convertCfnAnalysisSmallMultiplesOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSmallMultiplesOptionsPropertyValidator(properties).assertSuccess(),{MaxVisibleColumns:cdk().numberToCloudFormation(properties.maxVisibleColumns),MaxVisibleRows:cdk().numberToCloudFormation(properties.maxVisibleRows),PanelConfiguration:convertCfnAnalysisPanelConfigurationPropertyToCloudFormation(properties.panelConfiguration),XAxis:convertCfnAnalysisSmallMultiplesAxisPropertiesPropertyToCloudFormation(properties.xAxis),YAxis:convertCfnAnalysisSmallMultiplesAxisPropertiesPropertyToCloudFormation(properties.yAxis)}):properties}function CfnAnalysisSmallMultiplesOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maxVisibleColumns","MaxVisibleColumns",properties.MaxVisibleColumns!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxVisibleColumns):void 0),ret.addPropertyResult("maxVisibleRows","MaxVisibleRows",properties.MaxVisibleRows!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxVisibleRows):void 0),ret.addPropertyResult("panelConfiguration","PanelConfiguration",properties.PanelConfiguration!=null?CfnAnalysisPanelConfigurationPropertyFromCloudFormation(properties.PanelConfiguration):void 0),ret.addPropertyResult("xAxis","XAxis",properties.XAxis!=null?CfnAnalysisSmallMultiplesAxisPropertiesPropertyFromCloudFormation(properties.XAxis):void 0),ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?CfnAnalysisSmallMultiplesAxisPropertiesPropertyFromCloudFormation(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPieChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("contributionAnalysisDefaults",cdk().listValidator(CfnAnalysisContributionAnalysisDefaultPropertyValidator))(properties.contributionAnalysisDefaults)),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("donutOptions",CfnAnalysisDonutOptionsPropertyValidator)(properties.donutOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisPieChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("smallMultiplesOptions",CfnAnalysisSmallMultiplesOptionsPropertyValidator)(properties.smallMultiplesOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisPieChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("valueLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.valueLabelOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "PieChartConfigurationProperty"')}function convertCfnAnalysisPieChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPieChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ContributionAnalysisDefaults:cdk().listMapper(convertCfnAnalysisContributionAnalysisDefaultPropertyToCloudFormation)(properties.contributionAnalysisDefaults),DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),DonutOptions:convertCfnAnalysisDonutOptionsPropertyToCloudFormation(properties.donutOptions),FieldWells:convertCfnAnalysisPieChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),SmallMultiplesOptions:convertCfnAnalysisSmallMultiplesOptionsPropertyToCloudFormation(properties.smallMultiplesOptions),SortConfiguration:convertCfnAnalysisPieChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),ValueLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.valueLabelOptions),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnAnalysisPieChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("contributionAnalysisDefaults","ContributionAnalysisDefaults",properties.ContributionAnalysisDefaults!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisContributionAnalysisDefaultPropertyFromCloudFormation)(properties.ContributionAnalysisDefaults):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("donutOptions","DonutOptions",properties.DonutOptions!=null?CfnAnalysisDonutOptionsPropertyFromCloudFormation(properties.DonutOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisPieChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("smallMultiplesOptions","SmallMultiplesOptions",properties.SmallMultiplesOptions!=null?CfnAnalysisSmallMultiplesOptionsPropertyFromCloudFormation(properties.SmallMultiplesOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisPieChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("valueLabelOptions","ValueLabelOptions",properties.ValueLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.ValueLabelOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPieChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisPieChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "PieChartVisualProperty"')}function convertCfnAnalysisPieChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPieChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisPieChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisPieChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisPieChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisConditionalFormattingIconDisplayConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("iconDisplayOption",cdk().validateString)(properties.iconDisplayOption)),errors.wrap('supplied properties not correct for "ConditionalFormattingIconDisplayConfigurationProperty"')}function convertCfnAnalysisConditionalFormattingIconDisplayConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisConditionalFormattingIconDisplayConfigurationPropertyValidator(properties).assertSuccess(),{IconDisplayOption:cdk().stringToCloudFormation(properties.iconDisplayOption)}):properties}function CfnAnalysisConditionalFormattingIconDisplayConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("iconDisplayOption","IconDisplayOption",properties.IconDisplayOption!=null?cfn_parse().FromCloudFormation.getString(properties.IconDisplayOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisConditionalFormattingCustomIconOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",cdk().validateString)(properties.icon)),errors.collect(cdk().propertyValidator("unicodeIcon",cdk().validateString)(properties.unicodeIcon)),errors.wrap('supplied properties not correct for "ConditionalFormattingCustomIconOptionsProperty"')}function convertCfnAnalysisConditionalFormattingCustomIconOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisConditionalFormattingCustomIconOptionsPropertyValidator(properties).assertSuccess(),{Icon:cdk().stringToCloudFormation(properties.icon),UnicodeIcon:cdk().stringToCloudFormation(properties.unicodeIcon)}):properties}function CfnAnalysisConditionalFormattingCustomIconOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?cfn_parse().FromCloudFormation.getString(properties.Icon):void 0),ret.addPropertyResult("unicodeIcon","UnicodeIcon",properties.UnicodeIcon!=null?cfn_parse().FromCloudFormation.getString(properties.UnicodeIcon):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisConditionalFormattingCustomIconConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("displayConfiguration",CfnAnalysisConditionalFormattingIconDisplayConfigurationPropertyValidator)(properties.displayConfiguration)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("iconOptions",cdk().requiredValidator)(properties.iconOptions)),errors.collect(cdk().propertyValidator("iconOptions",CfnAnalysisConditionalFormattingCustomIconOptionsPropertyValidator)(properties.iconOptions)),errors.wrap('supplied properties not correct for "ConditionalFormattingCustomIconConditionProperty"')}function convertCfnAnalysisConditionalFormattingCustomIconConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisConditionalFormattingCustomIconConditionPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DisplayConfiguration:convertCfnAnalysisConditionalFormattingIconDisplayConfigurationPropertyToCloudFormation(properties.displayConfiguration),Expression:cdk().stringToCloudFormation(properties.expression),IconOptions:convertCfnAnalysisConditionalFormattingCustomIconOptionsPropertyToCloudFormation(properties.iconOptions)}):properties}function CfnAnalysisConditionalFormattingCustomIconConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("displayConfiguration","DisplayConfiguration",properties.DisplayConfiguration!=null?CfnAnalysisConditionalFormattingIconDisplayConfigurationPropertyFromCloudFormation(properties.DisplayConfiguration):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("iconOptions","IconOptions",properties.IconOptions!=null?CfnAnalysisConditionalFormattingCustomIconOptionsPropertyFromCloudFormation(properties.IconOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisConditionalFormattingIconSetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("iconSetType",cdk().validateString)(properties.iconSetType)),errors.wrap('supplied properties not correct for "ConditionalFormattingIconSetProperty"')}function convertCfnAnalysisConditionalFormattingIconSetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisConditionalFormattingIconSetPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),IconSetType:cdk().stringToCloudFormation(properties.iconSetType)}):properties}function CfnAnalysisConditionalFormattingIconSetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("iconSetType","IconSetType",properties.IconSetType!=null?cfn_parse().FromCloudFormation.getString(properties.IconSetType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisConditionalFormattingIconPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customCondition",CfnAnalysisConditionalFormattingCustomIconConditionPropertyValidator)(properties.customCondition)),errors.collect(cdk().propertyValidator("iconSet",CfnAnalysisConditionalFormattingIconSetPropertyValidator)(properties.iconSet)),errors.wrap('supplied properties not correct for "ConditionalFormattingIconProperty"')}function convertCfnAnalysisConditionalFormattingIconPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisConditionalFormattingIconPropertyValidator(properties).assertSuccess(),{CustomCondition:convertCfnAnalysisConditionalFormattingCustomIconConditionPropertyToCloudFormation(properties.customCondition),IconSet:convertCfnAnalysisConditionalFormattingIconSetPropertyToCloudFormation(properties.iconSet)}):properties}function CfnAnalysisConditionalFormattingIconPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customCondition","CustomCondition",properties.CustomCondition!=null?CfnAnalysisConditionalFormattingCustomIconConditionPropertyFromCloudFormation(properties.CustomCondition):void 0),ret.addPropertyResult("iconSet","IconSet",properties.IconSet!=null?CfnAnalysisConditionalFormattingIconSetPropertyFromCloudFormation(properties.IconSet):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIPrimaryValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnAnalysisConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "KPIPrimaryValueConditionalFormattingProperty"')}function convertCfnAnalysisKPIPrimaryValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIPrimaryValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnAnalysisConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnAnalysisKPIPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnAnalysisConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIActualValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnAnalysisConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "KPIActualValueConditionalFormattingProperty"')}function convertCfnAnalysisKPIActualValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIActualValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnAnalysisConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnAnalysisKPIActualValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnAnalysisConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIComparisonValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnAnalysisConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "KPIComparisonValueConditionalFormattingProperty"')}function convertCfnAnalysisKPIComparisonValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIComparisonValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnAnalysisConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnAnalysisKPIComparisonValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnAnalysisConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIProgressBarConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("foregroundColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.foregroundColor)),errors.wrap('supplied properties not correct for "KPIProgressBarConditionalFormattingProperty"')}function convertCfnAnalysisKPIProgressBarConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIProgressBarConditionalFormattingPropertyValidator(properties).assertSuccess(),{ForegroundColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.foregroundColor)}):properties}function CfnAnalysisKPIProgressBarConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("foregroundColor","ForegroundColor",properties.ForegroundColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.ForegroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actualValue",CfnAnalysisKPIActualValueConditionalFormattingPropertyValidator)(properties.actualValue)),errors.collect(cdk().propertyValidator("comparisonValue",CfnAnalysisKPIComparisonValueConditionalFormattingPropertyValidator)(properties.comparisonValue)),errors.collect(cdk().propertyValidator("primaryValue",CfnAnalysisKPIPrimaryValueConditionalFormattingPropertyValidator)(properties.primaryValue)),errors.collect(cdk().propertyValidator("progressBar",CfnAnalysisKPIProgressBarConditionalFormattingPropertyValidator)(properties.progressBar)),errors.wrap('supplied properties not correct for "KPIConditionalFormattingOptionProperty"')}function convertCfnAnalysisKPIConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{ActualValue:convertCfnAnalysisKPIActualValueConditionalFormattingPropertyToCloudFormation(properties.actualValue),ComparisonValue:convertCfnAnalysisKPIComparisonValueConditionalFormattingPropertyToCloudFormation(properties.comparisonValue),PrimaryValue:convertCfnAnalysisKPIPrimaryValueConditionalFormattingPropertyToCloudFormation(properties.primaryValue),ProgressBar:convertCfnAnalysisKPIProgressBarConditionalFormattingPropertyToCloudFormation(properties.progressBar)}):properties}function CfnAnalysisKPIConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actualValue","ActualValue",properties.ActualValue!=null?CfnAnalysisKPIActualValueConditionalFormattingPropertyFromCloudFormation(properties.ActualValue):void 0),ret.addPropertyResult("comparisonValue","ComparisonValue",properties.ComparisonValue!=null?CfnAnalysisKPIComparisonValueConditionalFormattingPropertyFromCloudFormation(properties.ComparisonValue):void 0),ret.addPropertyResult("primaryValue","PrimaryValue",properties.PrimaryValue!=null?CfnAnalysisKPIPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties.PrimaryValue):void 0),ret.addPropertyResult("progressBar","ProgressBar",properties.ProgressBar!=null?CfnAnalysisKPIProgressBarConditionalFormattingPropertyFromCloudFormation(properties.ProgressBar):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnAnalysisKPIConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "KPIConditionalFormattingProperty"')}function convertCfnAnalysisKPIConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnAnalysisKPIConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnAnalysisKPIConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisKPIConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPISortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("trendGroupSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.trendGroupSort)),errors.wrap('supplied properties not correct for "KPISortConfigurationProperty"')}function convertCfnAnalysisKPISortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPISortConfigurationPropertyValidator(properties).assertSuccess(),{TrendGroupSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.trendGroupSort)}):properties}function CfnAnalysisKPISortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("trendGroupSort","TrendGroupSort",properties.TrendGroupSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.TrendGroupSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIVisualStandardLayoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "KPIVisualStandardLayoutProperty"')}function convertCfnAnalysisKPIVisualStandardLayoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIVisualStandardLayoutPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAnalysisKPIVisualStandardLayoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIVisualLayoutOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("standardLayout",CfnAnalysisKPIVisualStandardLayoutPropertyValidator)(properties.standardLayout)),errors.wrap('supplied properties not correct for "KPIVisualLayoutOptionsProperty"')}function convertCfnAnalysisKPIVisualLayoutOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIVisualLayoutOptionsPropertyValidator(properties).assertSuccess(),{StandardLayout:convertCfnAnalysisKPIVisualStandardLayoutPropertyToCloudFormation(properties.standardLayout)}):properties}function CfnAnalysisKPIVisualLayoutOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("standardLayout","StandardLayout",properties.StandardLayout!=null?CfnAnalysisKPIVisualStandardLayoutPropertyFromCloudFormation(properties.StandardLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTrendArrowOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "TrendArrowOptionsProperty"')}function convertCfnAnalysisTrendArrowOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTrendArrowOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisTrendArrowOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSecondaryValueOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SecondaryValueOptionsProperty"')}function convertCfnAnalysisSecondaryValueOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSecondaryValueOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisSecondaryValueOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisComparisonFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("numberDisplayFormatConfiguration",CfnAnalysisNumberDisplayFormatConfigurationPropertyValidator)(properties.numberDisplayFormatConfiguration)),errors.collect(cdk().propertyValidator("percentageDisplayFormatConfiguration",CfnAnalysisPercentageDisplayFormatConfigurationPropertyValidator)(properties.percentageDisplayFormatConfiguration)),errors.wrap('supplied properties not correct for "ComparisonFormatConfigurationProperty"')}function convertCfnAnalysisComparisonFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisComparisonFormatConfigurationPropertyValidator(properties).assertSuccess(),{NumberDisplayFormatConfiguration:convertCfnAnalysisNumberDisplayFormatConfigurationPropertyToCloudFormation(properties.numberDisplayFormatConfiguration),PercentageDisplayFormatConfiguration:convertCfnAnalysisPercentageDisplayFormatConfigurationPropertyToCloudFormation(properties.percentageDisplayFormatConfiguration)}):properties}function CfnAnalysisComparisonFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("numberDisplayFormatConfiguration","NumberDisplayFormatConfiguration",properties.NumberDisplayFormatConfiguration!=null?CfnAnalysisNumberDisplayFormatConfigurationPropertyFromCloudFormation(properties.NumberDisplayFormatConfiguration):void 0),ret.addPropertyResult("percentageDisplayFormatConfiguration","PercentageDisplayFormatConfiguration",properties.PercentageDisplayFormatConfiguration!=null?CfnAnalysisPercentageDisplayFormatConfigurationPropertyFromCloudFormation(properties.PercentageDisplayFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisComparisonConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comparisonFormat",CfnAnalysisComparisonFormatConfigurationPropertyValidator)(properties.comparisonFormat)),errors.collect(cdk().propertyValidator("comparisonMethod",cdk().validateString)(properties.comparisonMethod)),errors.wrap('supplied properties not correct for "ComparisonConfigurationProperty"')}function convertCfnAnalysisComparisonConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisComparisonConfigurationPropertyValidator(properties).assertSuccess(),{ComparisonFormat:convertCfnAnalysisComparisonFormatConfigurationPropertyToCloudFormation(properties.comparisonFormat),ComparisonMethod:cdk().stringToCloudFormation(properties.comparisonMethod)}):properties}function CfnAnalysisComparisonConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comparisonFormat","ComparisonFormat",properties.ComparisonFormat!=null?CfnAnalysisComparisonFormatConfigurationPropertyFromCloudFormation(properties.ComparisonFormat):void 0),ret.addPropertyResult("comparisonMethod","ComparisonMethod",properties.ComparisonMethod!=null?cfn_parse().FromCloudFormation.getString(properties.ComparisonMethod):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisProgressBarOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ProgressBarOptionsProperty"')}function convertCfnAnalysisProgressBarOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisProgressBarOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisProgressBarOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPISparklineOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("tooltipVisibility",cdk().validateString)(properties.tooltipVisibility)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "KPISparklineOptionsProperty"')}function convertCfnAnalysisKPISparklineOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPISparklineOptionsPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),TooltipVisibility:cdk().stringToCloudFormation(properties.tooltipVisibility),Type:cdk().stringToCloudFormation(properties.type),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisKPISparklineOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("tooltipVisibility","TooltipVisibility",properties.TooltipVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipVisibility):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comparison",CfnAnalysisComparisonConfigurationPropertyValidator)(properties.comparison)),errors.collect(cdk().propertyValidator("primaryValueDisplayType",cdk().validateString)(properties.primaryValueDisplayType)),errors.collect(cdk().propertyValidator("primaryValueFontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.primaryValueFontConfiguration)),errors.collect(cdk().propertyValidator("progressBar",CfnAnalysisProgressBarOptionsPropertyValidator)(properties.progressBar)),errors.collect(cdk().propertyValidator("secondaryValue",CfnAnalysisSecondaryValueOptionsPropertyValidator)(properties.secondaryValue)),errors.collect(cdk().propertyValidator("secondaryValueFontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.secondaryValueFontConfiguration)),errors.collect(cdk().propertyValidator("sparkline",CfnAnalysisKPISparklineOptionsPropertyValidator)(properties.sparkline)),errors.collect(cdk().propertyValidator("trendArrows",CfnAnalysisTrendArrowOptionsPropertyValidator)(properties.trendArrows)),errors.collect(cdk().propertyValidator("visualLayoutOptions",CfnAnalysisKPIVisualLayoutOptionsPropertyValidator)(properties.visualLayoutOptions)),errors.wrap('supplied properties not correct for "KPIOptionsProperty"')}function convertCfnAnalysisKPIOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIOptionsPropertyValidator(properties).assertSuccess(),{Comparison:convertCfnAnalysisComparisonConfigurationPropertyToCloudFormation(properties.comparison),PrimaryValueDisplayType:cdk().stringToCloudFormation(properties.primaryValueDisplayType),PrimaryValueFontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.primaryValueFontConfiguration),ProgressBar:convertCfnAnalysisProgressBarOptionsPropertyToCloudFormation(properties.progressBar),SecondaryValue:convertCfnAnalysisSecondaryValueOptionsPropertyToCloudFormation(properties.secondaryValue),SecondaryValueFontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.secondaryValueFontConfiguration),Sparkline:convertCfnAnalysisKPISparklineOptionsPropertyToCloudFormation(properties.sparkline),TrendArrows:convertCfnAnalysisTrendArrowOptionsPropertyToCloudFormation(properties.trendArrows),VisualLayoutOptions:convertCfnAnalysisKPIVisualLayoutOptionsPropertyToCloudFormation(properties.visualLayoutOptions)}):properties}function CfnAnalysisKPIOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comparison","Comparison",properties.Comparison!=null?CfnAnalysisComparisonConfigurationPropertyFromCloudFormation(properties.Comparison):void 0),ret.addPropertyResult("primaryValueDisplayType","PrimaryValueDisplayType",properties.PrimaryValueDisplayType!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryValueDisplayType):void 0),ret.addPropertyResult("primaryValueFontConfiguration","PrimaryValueFontConfiguration",properties.PrimaryValueFontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.PrimaryValueFontConfiguration):void 0),ret.addPropertyResult("progressBar","ProgressBar",properties.ProgressBar!=null?CfnAnalysisProgressBarOptionsPropertyFromCloudFormation(properties.ProgressBar):void 0),ret.addPropertyResult("secondaryValue","SecondaryValue",properties.SecondaryValue!=null?CfnAnalysisSecondaryValueOptionsPropertyFromCloudFormation(properties.SecondaryValue):void 0),ret.addPropertyResult("secondaryValueFontConfiguration","SecondaryValueFontConfiguration",properties.SecondaryValueFontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.SecondaryValueFontConfiguration):void 0),ret.addPropertyResult("sparkline","Sparkline",properties.Sparkline!=null?CfnAnalysisKPISparklineOptionsPropertyFromCloudFormation(properties.Sparkline):void 0),ret.addPropertyResult("trendArrows","TrendArrows",properties.TrendArrows!=null?CfnAnalysisTrendArrowOptionsPropertyFromCloudFormation(properties.TrendArrows):void 0),ret.addPropertyResult("visualLayoutOptions","VisualLayoutOptions",properties.VisualLayoutOptions!=null?CfnAnalysisKPIVisualLayoutOptionsPropertyFromCloudFormation(properties.VisualLayoutOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetValues",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.targetValues)),errors.collect(cdk().propertyValidator("trendGroups",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.trendGroups)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "KPIFieldWellsProperty"')}function convertCfnAnalysisKPIFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIFieldWellsPropertyValidator(properties).assertSuccess(),{TargetValues:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.targetValues),TrendGroups:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.trendGroups),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisKPIFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetValues","TargetValues",properties.TargetValues!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.TargetValues):void 0),ret.addPropertyResult("trendGroups","TrendGroups",properties.TrendGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.TrendGroups):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisKPIFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("kpiOptions",CfnAnalysisKPIOptionsPropertyValidator)(properties.kpiOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisKPISortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.wrap('supplied properties not correct for "KPIConfigurationProperty"')}function convertCfnAnalysisKPIConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:convertCfnAnalysisKPIFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),KPIOptions:convertCfnAnalysisKPIOptionsPropertyToCloudFormation(properties.kpiOptions),SortConfiguration:convertCfnAnalysisKPISortConfigurationPropertyToCloudFormation(properties.sortConfiguration)}):properties}function CfnAnalysisKPIConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisKPIFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("kpiOptions","KPIOptions",properties.KPIOptions!=null?CfnAnalysisKPIOptionsPropertyFromCloudFormation(properties.KPIOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisKPISortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisKPIVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisKPIConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnAnalysisKPIConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "KPIVisualProperty"')}function convertCfnAnalysisKPIVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisKPIVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisKPIConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),ConditionalFormatting:convertCfnAnalysisKPIConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisKPIVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisKPIConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnAnalysisKPIConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBinWidthOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("binCountLimit",cdk().validateNumber)(properties.binCountLimit)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "BinWidthOptionsProperty"')}function convertCfnAnalysisBinWidthOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBinWidthOptionsPropertyValidator(properties).assertSuccess(),{BinCountLimit:cdk().numberToCloudFormation(properties.binCountLimit),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnAnalysisBinWidthOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("binCountLimit","BinCountLimit",properties.BinCountLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.BinCountLimit):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBinCountOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "BinCountOptionsProperty"')}function convertCfnAnalysisBinCountOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBinCountOptionsPropertyValidator(properties).assertSuccess(),{Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnAnalysisBinCountOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHistogramBinOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("binCount",CfnAnalysisBinCountOptionsPropertyValidator)(properties.binCount)),errors.collect(cdk().propertyValidator("binWidth",CfnAnalysisBinWidthOptionsPropertyValidator)(properties.binWidth)),errors.collect(cdk().propertyValidator("selectedBinType",cdk().validateString)(properties.selectedBinType)),errors.collect(cdk().propertyValidator("startValue",cdk().validateNumber)(properties.startValue)),errors.wrap('supplied properties not correct for "HistogramBinOptionsProperty"')}function convertCfnAnalysisHistogramBinOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHistogramBinOptionsPropertyValidator(properties).assertSuccess(),{BinCount:convertCfnAnalysisBinCountOptionsPropertyToCloudFormation(properties.binCount),BinWidth:convertCfnAnalysisBinWidthOptionsPropertyToCloudFormation(properties.binWidth),SelectedBinType:cdk().stringToCloudFormation(properties.selectedBinType),StartValue:cdk().numberToCloudFormation(properties.startValue)}):properties}function CfnAnalysisHistogramBinOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("binCount","BinCount",properties.BinCount!=null?CfnAnalysisBinCountOptionsPropertyFromCloudFormation(properties.BinCount):void 0),ret.addPropertyResult("binWidth","BinWidth",properties.BinWidth!=null?CfnAnalysisBinWidthOptionsPropertyFromCloudFormation(properties.BinWidth):void 0),ret.addPropertyResult("selectedBinType","SelectedBinType",properties.SelectedBinType!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedBinType):void 0),ret.addPropertyResult("startValue","StartValue",properties.StartValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHistogramAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "HistogramAggregatedFieldWellsProperty"')}function convertCfnAnalysisHistogramAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHistogramAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisHistogramAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHistogramFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("histogramAggregatedFieldWells",CfnAnalysisHistogramAggregatedFieldWellsPropertyValidator)(properties.histogramAggregatedFieldWells)),errors.wrap('supplied properties not correct for "HistogramFieldWellsProperty"')}function convertCfnAnalysisHistogramFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHistogramFieldWellsPropertyValidator(properties).assertSuccess(),{HistogramAggregatedFieldWells:convertCfnAnalysisHistogramAggregatedFieldWellsPropertyToCloudFormation(properties.histogramAggregatedFieldWells)}):properties}function CfnAnalysisHistogramFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("histogramAggregatedFieldWells","HistogramAggregatedFieldWells",properties.HistogramAggregatedFieldWells!=null?CfnAnalysisHistogramAggregatedFieldWellsPropertyFromCloudFormation(properties.HistogramAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHistogramConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("binOptions",CfnAnalysisHistogramBinOptionsPropertyValidator)(properties.binOptions)),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisHistogramFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("xAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.xAxisDisplayOptions)),errors.collect(cdk().propertyValidator("xAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.xAxisLabelOptions)),errors.collect(cdk().propertyValidator("yAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.yAxisDisplayOptions)),errors.wrap('supplied properties not correct for "HistogramConfigurationProperty"')}function convertCfnAnalysisHistogramConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHistogramConfigurationPropertyValidator(properties).assertSuccess(),{BinOptions:convertCfnAnalysisHistogramBinOptionsPropertyToCloudFormation(properties.binOptions),DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnAnalysisHistogramFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette),XAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.xAxisDisplayOptions),XAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.xAxisLabelOptions),YAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.yAxisDisplayOptions)}):properties}function CfnAnalysisHistogramConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("binOptions","BinOptions",properties.BinOptions!=null?CfnAnalysisHistogramBinOptionsPropertyFromCloudFormation(properties.BinOptions):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisHistogramFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("xAxisDisplayOptions","XAxisDisplayOptions",properties.XAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.XAxisDisplayOptions):void 0),ret.addPropertyResult("xAxisLabelOptions","XAxisLabelOptions",properties.XAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.XAxisLabelOptions):void 0),ret.addPropertyResult("yAxisDisplayOptions","YAxisDisplayOptions",properties.YAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.YAxisDisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHistogramVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisHistogramConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "HistogramVisualProperty"')}function convertCfnAnalysisHistogramVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHistogramVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisHistogramConfigurationPropertyToCloudFormation(properties.chartConfiguration),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisHistogramVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisHistogramConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableRowConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("textColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "TableRowConditionalFormattingProperty"')}function convertCfnAnalysisTableRowConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableRowConditionalFormattingPropertyValidator(properties).assertSuccess(),{BackgroundColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.backgroundColor),TextColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnAnalysisTableRowConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.BackgroundColor):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTextConditionalFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("icon",CfnAnalysisConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "TextConditionalFormatProperty"')}function convertCfnAnalysisTextConditionalFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTextConditionalFormatPropertyValidator(properties).assertSuccess(),{BackgroundColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.backgroundColor),Icon:convertCfnAnalysisConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnAnalysisTextConditionalFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.BackgroundColor):void 0),ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnAnalysisConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableCellConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("textFormat",CfnAnalysisTextConditionalFormatPropertyValidator)(properties.textFormat)),errors.wrap('supplied properties not correct for "TableCellConditionalFormattingProperty"')}function convertCfnAnalysisTableCellConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableCellConditionalFormattingPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),TextFormat:convertCfnAnalysisTextConditionalFormatPropertyToCloudFormation(properties.textFormat)}):properties}function CfnAnalysisTableCellConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("textFormat","TextFormat",properties.TextFormat!=null?CfnAnalysisTextConditionalFormatPropertyFromCloudFormation(properties.TextFormat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cell",CfnAnalysisTableCellConditionalFormattingPropertyValidator)(properties.cell)),errors.collect(cdk().propertyValidator("row",CfnAnalysisTableRowConditionalFormattingPropertyValidator)(properties.row)),errors.wrap('supplied properties not correct for "TableConditionalFormattingOptionProperty"')}function convertCfnAnalysisTableConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Cell:convertCfnAnalysisTableCellConditionalFormattingPropertyToCloudFormation(properties.cell),Row:convertCfnAnalysisTableRowConditionalFormattingPropertyToCloudFormation(properties.row)}):properties}function CfnAnalysisTableConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cell","Cell",properties.Cell!=null?CfnAnalysisTableCellConditionalFormattingPropertyFromCloudFormation(properties.Cell):void 0),ret.addPropertyResult("row","Row",properties.Row!=null?CfnAnalysisTableRowConditionalFormattingPropertyFromCloudFormation(properties.Row):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnAnalysisTableConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "TableConditionalFormattingProperty"')}function convertCfnAnalysisTableConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnAnalysisTableConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnAnalysisTableConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisTableConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("paginationConfiguration",CfnAnalysisPaginationConfigurationPropertyValidator)(properties.paginationConfiguration)),errors.collect(cdk().propertyValidator("rowSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.rowSort)),errors.wrap('supplied properties not correct for "TableSortConfigurationProperty"')}function convertCfnAnalysisTableSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableSortConfigurationPropertyValidator(properties).assertSuccess(),{PaginationConfiguration:convertCfnAnalysisPaginationConfigurationPropertyToCloudFormation(properties.paginationConfiguration),RowSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.rowSort)}):properties}function CfnAnalysisTableSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("paginationConfiguration","PaginationConfiguration",properties.PaginationConfiguration!=null?CfnAnalysisPaginationConfigurationPropertyFromCloudFormation(properties.PaginationConfiguration):void 0),ret.addPropertyResult("rowSort","RowSort",properties.RowSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.RowSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTablePaginatedReportOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("overflowColumnHeaderVisibility",cdk().validateString)(properties.overflowColumnHeaderVisibility)),errors.collect(cdk().propertyValidator("verticalOverflowVisibility",cdk().validateString)(properties.verticalOverflowVisibility)),errors.wrap('supplied properties not correct for "TablePaginatedReportOptionsProperty"')}function convertCfnAnalysisTablePaginatedReportOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTablePaginatedReportOptionsPropertyValidator(properties).assertSuccess(),{OverflowColumnHeaderVisibility:cdk().stringToCloudFormation(properties.overflowColumnHeaderVisibility),VerticalOverflowVisibility:cdk().stringToCloudFormation(properties.verticalOverflowVisibility)}):properties}function CfnAnalysisTablePaginatedReportOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("overflowColumnHeaderVisibility","OverflowColumnHeaderVisibility",properties.OverflowColumnHeaderVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.OverflowColumnHeaderVisibility):void 0),ret.addPropertyResult("verticalOverflowVisibility","VerticalOverflowVisibility",properties.VerticalOverflowVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalOverflowVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableBorderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("style",cdk().validateString)(properties.style)),errors.collect(cdk().propertyValidator("thickness",cdk().validateNumber)(properties.thickness)),errors.wrap('supplied properties not correct for "TableBorderOptionsProperty"')}function convertCfnAnalysisTableBorderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableBorderOptionsPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Style:cdk().stringToCloudFormation(properties.style),Thickness:cdk().numberToCloudFormation(properties.thickness)}):properties}function CfnAnalysisTableBorderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("style","Style",properties.Style!=null?cfn_parse().FromCloudFormation.getString(properties.Style):void 0),ret.addPropertyResult("thickness","Thickness",properties.Thickness!=null?cfn_parse().FromCloudFormation.getNumber(properties.Thickness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableSideBorderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bottom",CfnAnalysisTableBorderOptionsPropertyValidator)(properties.bottom)),errors.collect(cdk().propertyValidator("innerHorizontal",CfnAnalysisTableBorderOptionsPropertyValidator)(properties.innerHorizontal)),errors.collect(cdk().propertyValidator("innerVertical",CfnAnalysisTableBorderOptionsPropertyValidator)(properties.innerVertical)),errors.collect(cdk().propertyValidator("left",CfnAnalysisTableBorderOptionsPropertyValidator)(properties.left)),errors.collect(cdk().propertyValidator("right",CfnAnalysisTableBorderOptionsPropertyValidator)(properties.right)),errors.collect(cdk().propertyValidator("top",CfnAnalysisTableBorderOptionsPropertyValidator)(properties.top)),errors.wrap('supplied properties not correct for "TableSideBorderOptionsProperty"')}function convertCfnAnalysisTableSideBorderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableSideBorderOptionsPropertyValidator(properties).assertSuccess(),{Bottom:convertCfnAnalysisTableBorderOptionsPropertyToCloudFormation(properties.bottom),InnerHorizontal:convertCfnAnalysisTableBorderOptionsPropertyToCloudFormation(properties.innerHorizontal),InnerVertical:convertCfnAnalysisTableBorderOptionsPropertyToCloudFormation(properties.innerVertical),Left:convertCfnAnalysisTableBorderOptionsPropertyToCloudFormation(properties.left),Right:convertCfnAnalysisTableBorderOptionsPropertyToCloudFormation(properties.right),Top:convertCfnAnalysisTableBorderOptionsPropertyToCloudFormation(properties.top)}):properties}function CfnAnalysisTableSideBorderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bottom","Bottom",properties.Bottom!=null?CfnAnalysisTableBorderOptionsPropertyFromCloudFormation(properties.Bottom):void 0),ret.addPropertyResult("innerHorizontal","InnerHorizontal",properties.InnerHorizontal!=null?CfnAnalysisTableBorderOptionsPropertyFromCloudFormation(properties.InnerHorizontal):void 0),ret.addPropertyResult("innerVertical","InnerVertical",properties.InnerVertical!=null?CfnAnalysisTableBorderOptionsPropertyFromCloudFormation(properties.InnerVertical):void 0),ret.addPropertyResult("left","Left",properties.Left!=null?CfnAnalysisTableBorderOptionsPropertyFromCloudFormation(properties.Left):void 0),ret.addPropertyResult("right","Right",properties.Right!=null?CfnAnalysisTableBorderOptionsPropertyFromCloudFormation(properties.Right):void 0),ret.addPropertyResult("top","Top",properties.Top!=null?CfnAnalysisTableBorderOptionsPropertyFromCloudFormation(properties.Top):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGlobalTableBorderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sideSpecificBorder",CfnAnalysisTableSideBorderOptionsPropertyValidator)(properties.sideSpecificBorder)),errors.collect(cdk().propertyValidator("uniformBorder",CfnAnalysisTableBorderOptionsPropertyValidator)(properties.uniformBorder)),errors.wrap('supplied properties not correct for "GlobalTableBorderOptionsProperty"')}function convertCfnAnalysisGlobalTableBorderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGlobalTableBorderOptionsPropertyValidator(properties).assertSuccess(),{SideSpecificBorder:convertCfnAnalysisTableSideBorderOptionsPropertyToCloudFormation(properties.sideSpecificBorder),UniformBorder:convertCfnAnalysisTableBorderOptionsPropertyToCloudFormation(properties.uniformBorder)}):properties}function CfnAnalysisGlobalTableBorderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sideSpecificBorder","SideSpecificBorder",properties.SideSpecificBorder!=null?CfnAnalysisTableSideBorderOptionsPropertyFromCloudFormation(properties.SideSpecificBorder):void 0),ret.addPropertyResult("uniformBorder","UniformBorder",properties.UniformBorder!=null?CfnAnalysisTableBorderOptionsPropertyFromCloudFormation(properties.UniformBorder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableCellStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("border",CfnAnalysisGlobalTableBorderOptionsPropertyValidator)(properties.border)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("height",cdk().validateNumber)(properties.height)),errors.collect(cdk().propertyValidator("horizontalTextAlignment",cdk().validateString)(properties.horizontalTextAlignment)),errors.collect(cdk().propertyValidator("textWrap",cdk().validateString)(properties.textWrap)),errors.collect(cdk().propertyValidator("verticalTextAlignment",cdk().validateString)(properties.verticalTextAlignment)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "TableCellStyleProperty"')}function convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableCellStylePropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),Border:convertCfnAnalysisGlobalTableBorderOptionsPropertyToCloudFormation(properties.border),FontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),Height:cdk().numberToCloudFormation(properties.height),HorizontalTextAlignment:cdk().stringToCloudFormation(properties.horizontalTextAlignment),TextWrap:cdk().stringToCloudFormation(properties.textWrap),VerticalTextAlignment:cdk().stringToCloudFormation(properties.verticalTextAlignment),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisTableCellStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("border","Border",properties.Border!=null?CfnAnalysisGlobalTableBorderOptionsPropertyFromCloudFormation(properties.Border):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getNumber(properties.Height):void 0),ret.addPropertyResult("horizontalTextAlignment","HorizontalTextAlignment",properties.HorizontalTextAlignment!=null?cfn_parse().FromCloudFormation.getString(properties.HorizontalTextAlignment):void 0),ret.addPropertyResult("textWrap","TextWrap",properties.TextWrap!=null?cfn_parse().FromCloudFormation.getString(properties.TextWrap):void 0),ret.addPropertyResult("verticalTextAlignment","VerticalTextAlignment",properties.VerticalTextAlignment!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalTextAlignment):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRowAlternateColorOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("rowAlternateColors",cdk().listValidator(cdk().validateString))(properties.rowAlternateColors)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("usePrimaryBackgroundColor",cdk().validateString)(properties.usePrimaryBackgroundColor)),errors.wrap('supplied properties not correct for "RowAlternateColorOptionsProperty"')}function convertCfnAnalysisRowAlternateColorOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRowAlternateColorOptionsPropertyValidator(properties).assertSuccess(),{RowAlternateColors:cdk().listMapper(cdk().stringToCloudFormation)(properties.rowAlternateColors),Status:cdk().stringToCloudFormation(properties.status),UsePrimaryBackgroundColor:cdk().stringToCloudFormation(properties.usePrimaryBackgroundColor)}):properties}function CfnAnalysisRowAlternateColorOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("rowAlternateColors","RowAlternateColors",properties.RowAlternateColors!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RowAlternateColors):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("usePrimaryBackgroundColor","UsePrimaryBackgroundColor",properties.UsePrimaryBackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.UsePrimaryBackgroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.cellStyle)),errors.collect(cdk().propertyValidator("headerStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.headerStyle)),errors.collect(cdk().propertyValidator("orientation",cdk().validateString)(properties.orientation)),errors.collect(cdk().propertyValidator("rowAlternateColorOptions",CfnAnalysisRowAlternateColorOptionsPropertyValidator)(properties.rowAlternateColorOptions)),errors.wrap('supplied properties not correct for "TableOptionsProperty"')}function convertCfnAnalysisTableOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableOptionsPropertyValidator(properties).assertSuccess(),{CellStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.cellStyle),HeaderStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.headerStyle),Orientation:cdk().stringToCloudFormation(properties.orientation),RowAlternateColorOptions:convertCfnAnalysisRowAlternateColorOptionsPropertyToCloudFormation(properties.rowAlternateColorOptions)}):properties}function CfnAnalysisTableOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellStyle","CellStyle",properties.CellStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.CellStyle):void 0),ret.addPropertyResult("headerStyle","HeaderStyle",properties.HeaderStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.HeaderStyle):void 0),ret.addPropertyResult("orientation","Orientation",properties.Orientation!=null?cfn_parse().FromCloudFormation.getString(properties.Orientation):void 0),ret.addPropertyResult("rowAlternateColorOptions","RowAlternateColorOptions",properties.RowAlternateColorOptions!=null?CfnAnalysisRowAlternateColorOptionsPropertyFromCloudFormation(properties.RowAlternateColorOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataBarsOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("negativeColor",cdk().validateString)(properties.negativeColor)),errors.collect(cdk().propertyValidator("positiveColor",cdk().validateString)(properties.positiveColor)),errors.wrap('supplied properties not correct for "DataBarsOptionsProperty"')}function convertCfnAnalysisDataBarsOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataBarsOptionsPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),NegativeColor:cdk().stringToCloudFormation(properties.negativeColor),PositiveColor:cdk().stringToCloudFormation(properties.positiveColor)}):properties}function CfnAnalysisDataBarsOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("negativeColor","NegativeColor",properties.NegativeColor!=null?cfn_parse().FromCloudFormation.getString(properties.NegativeColor):void 0),ret.addPropertyResult("positiveColor","PositiveColor",properties.PositiveColor!=null?cfn_parse().FromCloudFormation.getString(properties.PositiveColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableInlineVisualizationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataBars",CfnAnalysisDataBarsOptionsPropertyValidator)(properties.dataBars)),errors.wrap('supplied properties not correct for "TableInlineVisualizationProperty"')}function convertCfnAnalysisTableInlineVisualizationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableInlineVisualizationPropertyValidator(properties).assertSuccess(),{DataBars:convertCfnAnalysisDataBarsOptionsPropertyToCloudFormation(properties.dataBars)}):properties}function CfnAnalysisTableInlineVisualizationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataBars","DataBars",properties.DataBars!=null?CfnAnalysisDataBarsOptionsPropertyFromCloudFormation(properties.DataBars):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisUnaggregatedFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnAnalysisFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "UnaggregatedFieldProperty"')}function convertCfnAnalysisUnaggregatedFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisUnaggregatedFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnAnalysisFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnAnalysisUnaggregatedFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnAnalysisFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableUnaggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisUnaggregatedFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "TableUnaggregatedFieldWellsProperty"')}function convertCfnAnalysisTableUnaggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableUnaggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(convertCfnAnalysisUnaggregatedFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisTableUnaggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisUnaggregatedFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "TableAggregatedFieldWellsProperty"')}function convertCfnAnalysisTableAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{GroupBy:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.groupBy),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisTableAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tableAggregatedFieldWells",CfnAnalysisTableAggregatedFieldWellsPropertyValidator)(properties.tableAggregatedFieldWells)),errors.collect(cdk().propertyValidator("tableUnaggregatedFieldWells",CfnAnalysisTableUnaggregatedFieldWellsPropertyValidator)(properties.tableUnaggregatedFieldWells)),errors.wrap('supplied properties not correct for "TableFieldWellsProperty"')}function convertCfnAnalysisTableFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableFieldWellsPropertyValidator(properties).assertSuccess(),{TableAggregatedFieldWells:convertCfnAnalysisTableAggregatedFieldWellsPropertyToCloudFormation(properties.tableAggregatedFieldWells),TableUnaggregatedFieldWells:convertCfnAnalysisTableUnaggregatedFieldWellsPropertyToCloudFormation(properties.tableUnaggregatedFieldWells)}):properties}function CfnAnalysisTableFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tableAggregatedFieldWells","TableAggregatedFieldWells",properties.TableAggregatedFieldWells!=null?CfnAnalysisTableAggregatedFieldWellsPropertyFromCloudFormation(properties.TableAggregatedFieldWells):void 0),ret.addPropertyResult("tableUnaggregatedFieldWells","TableUnaggregatedFieldWells",properties.TableUnaggregatedFieldWells!=null?CfnAnalysisTableUnaggregatedFieldWellsPropertyFromCloudFormation(properties.TableUnaggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTablePinnedFieldOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pinnedLeftFields",cdk().listValidator(cdk().validateString))(properties.pinnedLeftFields)),errors.wrap('supplied properties not correct for "TablePinnedFieldOptionsProperty"')}function convertCfnAnalysisTablePinnedFieldOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTablePinnedFieldOptionsPropertyValidator(properties).assertSuccess(),{PinnedLeftFields:cdk().listMapper(cdk().stringToCloudFormation)(properties.pinnedLeftFields)}):properties}function CfnAnalysisTablePinnedFieldOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pinnedLeftFields","PinnedLeftFields",properties.PinnedLeftFields!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PinnedLeftFields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableFieldCustomIconContentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",cdk().validateString)(properties.icon)),errors.wrap('supplied properties not correct for "TableFieldCustomIconContentProperty"')}function convertCfnAnalysisTableFieldCustomIconContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableFieldCustomIconContentPropertyValidator(properties).assertSuccess(),{Icon:cdk().stringToCloudFormation(properties.icon)}):properties}function CfnAnalysisTableFieldCustomIconContentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?cfn_parse().FromCloudFormation.getString(properties.Icon):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableFieldCustomTextContentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontConfiguration",cdk().requiredValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TableFieldCustomTextContentProperty"')}function convertCfnAnalysisTableFieldCustomTextContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableFieldCustomTextContentPropertyValidator(properties).assertSuccess(),{FontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnAnalysisTableFieldCustomTextContentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableFieldLinkContentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customIconContent",CfnAnalysisTableFieldCustomIconContentPropertyValidator)(properties.customIconContent)),errors.collect(cdk().propertyValidator("customTextContent",CfnAnalysisTableFieldCustomTextContentPropertyValidator)(properties.customTextContent)),errors.wrap('supplied properties not correct for "TableFieldLinkContentConfigurationProperty"')}function convertCfnAnalysisTableFieldLinkContentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableFieldLinkContentConfigurationPropertyValidator(properties).assertSuccess(),{CustomIconContent:convertCfnAnalysisTableFieldCustomIconContentPropertyToCloudFormation(properties.customIconContent),CustomTextContent:convertCfnAnalysisTableFieldCustomTextContentPropertyToCloudFormation(properties.customTextContent)}):properties}function CfnAnalysisTableFieldLinkContentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customIconContent","CustomIconContent",properties.CustomIconContent!=null?CfnAnalysisTableFieldCustomIconContentPropertyFromCloudFormation(properties.CustomIconContent):void 0),ret.addPropertyResult("customTextContent","CustomTextContent",properties.CustomTextContent!=null?CfnAnalysisTableFieldCustomTextContentPropertyFromCloudFormation(properties.CustomTextContent):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableFieldLinkConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",CfnAnalysisTableFieldLinkContentConfigurationPropertyValidator)(properties.content)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.wrap('supplied properties not correct for "TableFieldLinkConfigurationProperty"')}function convertCfnAnalysisTableFieldLinkConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableFieldLinkConfigurationPropertyValidator(properties).assertSuccess(),{Content:convertCfnAnalysisTableFieldLinkContentConfigurationPropertyToCloudFormation(properties.content),Target:cdk().stringToCloudFormation(properties.target)}):properties}function CfnAnalysisTableFieldLinkConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("content","Content",properties.Content!=null?CfnAnalysisTableFieldLinkContentConfigurationPropertyFromCloudFormation(properties.Content):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableCellImageSizingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tableCellImageScalingConfiguration",cdk().validateString)(properties.tableCellImageScalingConfiguration)),errors.wrap('supplied properties not correct for "TableCellImageSizingConfigurationProperty"')}function convertCfnAnalysisTableCellImageSizingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableCellImageSizingConfigurationPropertyValidator(properties).assertSuccess(),{TableCellImageScalingConfiguration:cdk().stringToCloudFormation(properties.tableCellImageScalingConfiguration)}):properties}function CfnAnalysisTableCellImageSizingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tableCellImageScalingConfiguration","TableCellImageScalingConfiguration",properties.TableCellImageScalingConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.TableCellImageScalingConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableFieldImageConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sizingOptions",CfnAnalysisTableCellImageSizingConfigurationPropertyValidator)(properties.sizingOptions)),errors.wrap('supplied properties not correct for "TableFieldImageConfigurationProperty"')}function convertCfnAnalysisTableFieldImageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableFieldImageConfigurationPropertyValidator(properties).assertSuccess(),{SizingOptions:convertCfnAnalysisTableCellImageSizingConfigurationPropertyToCloudFormation(properties.sizingOptions)}):properties}function CfnAnalysisTableFieldImageConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sizingOptions","SizingOptions",properties.SizingOptions!=null?CfnAnalysisTableCellImageSizingConfigurationPropertyFromCloudFormation(properties.SizingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableFieldURLConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("imageConfiguration",CfnAnalysisTableFieldImageConfigurationPropertyValidator)(properties.imageConfiguration)),errors.collect(cdk().propertyValidator("linkConfiguration",CfnAnalysisTableFieldLinkConfigurationPropertyValidator)(properties.linkConfiguration)),errors.wrap('supplied properties not correct for "TableFieldURLConfigurationProperty"')}function convertCfnAnalysisTableFieldURLConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableFieldURLConfigurationPropertyValidator(properties).assertSuccess(),{ImageConfiguration:convertCfnAnalysisTableFieldImageConfigurationPropertyToCloudFormation(properties.imageConfiguration),LinkConfiguration:convertCfnAnalysisTableFieldLinkConfigurationPropertyToCloudFormation(properties.linkConfiguration)}):properties}function CfnAnalysisTableFieldURLConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("imageConfiguration","ImageConfiguration",properties.ImageConfiguration!=null?CfnAnalysisTableFieldImageConfigurationPropertyFromCloudFormation(properties.ImageConfiguration):void 0),ret.addPropertyResult("linkConfiguration","LinkConfiguration",properties.LinkConfiguration!=null?CfnAnalysisTableFieldLinkConfigurationPropertyFromCloudFormation(properties.LinkConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableFieldOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("urlStyling",CfnAnalysisTableFieldURLConfigurationPropertyValidator)(properties.urlStyling)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "TableFieldOptionProperty"')}function convertCfnAnalysisTableFieldOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableFieldOptionPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FieldId:cdk().stringToCloudFormation(properties.fieldId),URLStyling:convertCfnAnalysisTableFieldURLConfigurationPropertyToCloudFormation(properties.urlStyling),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnAnalysisTableFieldOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("urlStyling","URLStyling",properties.URLStyling!=null?CfnAnalysisTableFieldURLConfigurationPropertyFromCloudFormation(properties.URLStyling):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTransposedTableOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnIndex",cdk().validateNumber)(properties.columnIndex)),errors.collect(cdk().propertyValidator("columnType",cdk().requiredValidator)(properties.columnType)),errors.collect(cdk().propertyValidator("columnType",cdk().validateString)(properties.columnType)),errors.collect(cdk().propertyValidator("columnWidth",cdk().validateString)(properties.columnWidth)),errors.wrap('supplied properties not correct for "TransposedTableOptionProperty"')}function convertCfnAnalysisTransposedTableOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTransposedTableOptionPropertyValidator(properties).assertSuccess(),{ColumnIndex:cdk().numberToCloudFormation(properties.columnIndex),ColumnType:cdk().stringToCloudFormation(properties.columnType),ColumnWidth:cdk().stringToCloudFormation(properties.columnWidth)}):properties}function CfnAnalysisTransposedTableOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnIndex","ColumnIndex",properties.ColumnIndex!=null?cfn_parse().FromCloudFormation.getNumber(properties.ColumnIndex):void 0),ret.addPropertyResult("columnType","ColumnType",properties.ColumnType!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnType):void 0),ret.addPropertyResult("columnWidth","ColumnWidth",properties.ColumnWidth!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableFieldOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("order",cdk().listValidator(cdk().validateString))(properties.order)),errors.collect(cdk().propertyValidator("pinnedFieldOptions",CfnAnalysisTablePinnedFieldOptionsPropertyValidator)(properties.pinnedFieldOptions)),errors.collect(cdk().propertyValidator("selectedFieldOptions",cdk().listValidator(CfnAnalysisTableFieldOptionPropertyValidator))(properties.selectedFieldOptions)),errors.collect(cdk().propertyValidator("transposedTableOptions",cdk().listValidator(CfnAnalysisTransposedTableOptionPropertyValidator))(properties.transposedTableOptions)),errors.wrap('supplied properties not correct for "TableFieldOptionsProperty"')}function convertCfnAnalysisTableFieldOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableFieldOptionsPropertyValidator(properties).assertSuccess(),{Order:cdk().listMapper(cdk().stringToCloudFormation)(properties.order),PinnedFieldOptions:convertCfnAnalysisTablePinnedFieldOptionsPropertyToCloudFormation(properties.pinnedFieldOptions),SelectedFieldOptions:cdk().listMapper(convertCfnAnalysisTableFieldOptionPropertyToCloudFormation)(properties.selectedFieldOptions),TransposedTableOptions:cdk().listMapper(convertCfnAnalysisTransposedTableOptionPropertyToCloudFormation)(properties.transposedTableOptions)}):properties}function CfnAnalysisTableFieldOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("order","Order",properties.Order!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Order):void 0),ret.addPropertyResult("pinnedFieldOptions","PinnedFieldOptions",properties.PinnedFieldOptions!=null?CfnAnalysisTablePinnedFieldOptionsPropertyFromCloudFormation(properties.PinnedFieldOptions):void 0),ret.addPropertyResult("selectedFieldOptions","SelectedFieldOptions",properties.SelectedFieldOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisTableFieldOptionPropertyFromCloudFormation)(properties.SelectedFieldOptions):void 0),ret.addPropertyResult("transposedTableOptions","TransposedTableOptions",properties.TransposedTableOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisTransposedTableOptionPropertyFromCloudFormation)(properties.TransposedTableOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTotalAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("simpleTotalAggregationFunction",cdk().validateString)(properties.simpleTotalAggregationFunction)),errors.wrap('supplied properties not correct for "TotalAggregationFunctionProperty"')}function convertCfnAnalysisTotalAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTotalAggregationFunctionPropertyValidator(properties).assertSuccess(),{SimpleTotalAggregationFunction:cdk().stringToCloudFormation(properties.simpleTotalAggregationFunction)}):properties}function CfnAnalysisTotalAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("simpleTotalAggregationFunction","SimpleTotalAggregationFunction",properties.SimpleTotalAggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleTotalAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTotalAggregationOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("totalAggregationFunction",cdk().requiredValidator)(properties.totalAggregationFunction)),errors.collect(cdk().propertyValidator("totalAggregationFunction",CfnAnalysisTotalAggregationFunctionPropertyValidator)(properties.totalAggregationFunction)),errors.wrap('supplied properties not correct for "TotalAggregationOptionProperty"')}function convertCfnAnalysisTotalAggregationOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTotalAggregationOptionPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),TotalAggregationFunction:convertCfnAnalysisTotalAggregationFunctionPropertyToCloudFormation(properties.totalAggregationFunction)}):properties}function CfnAnalysisTotalAggregationOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("totalAggregationFunction","TotalAggregationFunction",properties.TotalAggregationFunction!=null?CfnAnalysisTotalAggregationFunctionPropertyFromCloudFormation(properties.TotalAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("placement",cdk().validateString)(properties.placement)),errors.collect(cdk().propertyValidator("scrollStatus",cdk().validateString)(properties.scrollStatus)),errors.collect(cdk().propertyValidator("totalAggregationOptions",cdk().listValidator(CfnAnalysisTotalAggregationOptionPropertyValidator))(properties.totalAggregationOptions)),errors.collect(cdk().propertyValidator("totalCellStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.totalCellStyle)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.wrap('supplied properties not correct for "TotalOptionsProperty"')}function convertCfnAnalysisTotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTotalOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),Placement:cdk().stringToCloudFormation(properties.placement),ScrollStatus:cdk().stringToCloudFormation(properties.scrollStatus),TotalAggregationOptions:cdk().listMapper(convertCfnAnalysisTotalAggregationOptionPropertyToCloudFormation)(properties.totalAggregationOptions),TotalCellStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.totalCellStyle),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility)}):properties}function CfnAnalysisTotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("placement","Placement",properties.Placement!=null?cfn_parse().FromCloudFormation.getString(properties.Placement):void 0),ret.addPropertyResult("scrollStatus","ScrollStatus",properties.ScrollStatus!=null?cfn_parse().FromCloudFormation.getString(properties.ScrollStatus):void 0),ret.addPropertyResult("totalAggregationOptions","TotalAggregationOptions",properties.TotalAggregationOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisTotalAggregationOptionPropertyFromCloudFormation)(properties.TotalAggregationOptions):void 0),ret.addPropertyResult("totalCellStyle","TotalCellStyle",properties.TotalCellStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.TotalCellStyle):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldOptions",CfnAnalysisTableFieldOptionsPropertyValidator)(properties.fieldOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisTableFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("paginatedReportOptions",CfnAnalysisTablePaginatedReportOptionsPropertyValidator)(properties.paginatedReportOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisTableSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tableInlineVisualizations",cdk().listValidator(CfnAnalysisTableInlineVisualizationPropertyValidator))(properties.tableInlineVisualizations)),errors.collect(cdk().propertyValidator("tableOptions",CfnAnalysisTableOptionsPropertyValidator)(properties.tableOptions)),errors.collect(cdk().propertyValidator("totalOptions",CfnAnalysisTotalOptionsPropertyValidator)(properties.totalOptions)),errors.wrap('supplied properties not correct for "TableConfigurationProperty"')}function convertCfnAnalysisTableConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableConfigurationPropertyValidator(properties).assertSuccess(),{FieldOptions:convertCfnAnalysisTableFieldOptionsPropertyToCloudFormation(properties.fieldOptions),FieldWells:convertCfnAnalysisTableFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),PaginatedReportOptions:convertCfnAnalysisTablePaginatedReportOptionsPropertyToCloudFormation(properties.paginatedReportOptions),SortConfiguration:convertCfnAnalysisTableSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),TableInlineVisualizations:cdk().listMapper(convertCfnAnalysisTableInlineVisualizationPropertyToCloudFormation)(properties.tableInlineVisualizations),TableOptions:convertCfnAnalysisTableOptionsPropertyToCloudFormation(properties.tableOptions),TotalOptions:convertCfnAnalysisTotalOptionsPropertyToCloudFormation(properties.totalOptions)}):properties}function CfnAnalysisTableConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldOptions","FieldOptions",properties.FieldOptions!=null?CfnAnalysisTableFieldOptionsPropertyFromCloudFormation(properties.FieldOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisTableFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("paginatedReportOptions","PaginatedReportOptions",properties.PaginatedReportOptions!=null?CfnAnalysisTablePaginatedReportOptionsPropertyFromCloudFormation(properties.PaginatedReportOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisTableSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tableInlineVisualizations","TableInlineVisualizations",properties.TableInlineVisualizations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisTableInlineVisualizationPropertyFromCloudFormation)(properties.TableInlineVisualizations):void 0),ret.addPropertyResult("tableOptions","TableOptions",properties.TableOptions!=null?CfnAnalysisTableOptionsPropertyFromCloudFormation(properties.TableOptions):void 0),ret.addPropertyResult("totalOptions","TotalOptions",properties.TotalOptions!=null?CfnAnalysisTotalOptionsPropertyFromCloudFormation(properties.TotalOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisTableConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnAnalysisTableConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "TableVisualProperty"')}function convertCfnAnalysisTableVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisTableConfigurationPropertyToCloudFormation(properties.chartConfiguration),ConditionalFormatting:convertCfnAnalysisTableConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisTableVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisTableConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnAnalysisTableConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableConditionalFormattingScopePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "PivotTableConditionalFormattingScopeProperty"')}function convertCfnAnalysisPivotTableConditionalFormattingScopePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableConditionalFormattingScopePropertyValidator(properties).assertSuccess(),{Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnAnalysisPivotTableConditionalFormattingScopePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableCellConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("scope",CfnAnalysisPivotTableConditionalFormattingScopePropertyValidator)(properties.scope)),errors.collect(cdk().propertyValidator("scopes",cdk().listValidator(CfnAnalysisPivotTableConditionalFormattingScopePropertyValidator))(properties.scopes)),errors.collect(cdk().propertyValidator("textFormat",CfnAnalysisTextConditionalFormatPropertyValidator)(properties.textFormat)),errors.wrap('supplied properties not correct for "PivotTableCellConditionalFormattingProperty"')}function convertCfnAnalysisPivotTableCellConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableCellConditionalFormattingPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Scope:convertCfnAnalysisPivotTableConditionalFormattingScopePropertyToCloudFormation(properties.scope),Scopes:cdk().listMapper(convertCfnAnalysisPivotTableConditionalFormattingScopePropertyToCloudFormation)(properties.scopes),TextFormat:convertCfnAnalysisTextConditionalFormatPropertyToCloudFormation(properties.textFormat)}):properties}function CfnAnalysisPivotTableCellConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?CfnAnalysisPivotTableConditionalFormattingScopePropertyFromCloudFormation(properties.Scope):void 0),ret.addPropertyResult("scopes","Scopes",properties.Scopes!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisPivotTableConditionalFormattingScopePropertyFromCloudFormation)(properties.Scopes):void 0),ret.addPropertyResult("textFormat","TextFormat",properties.TextFormat!=null?CfnAnalysisTextConditionalFormatPropertyFromCloudFormation(properties.TextFormat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cell",CfnAnalysisPivotTableCellConditionalFormattingPropertyValidator)(properties.cell)),errors.wrap('supplied properties not correct for "PivotTableConditionalFormattingOptionProperty"')}function convertCfnAnalysisPivotTableConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Cell:convertCfnAnalysisPivotTableCellConditionalFormattingPropertyToCloudFormation(properties.cell)}):properties}function CfnAnalysisPivotTableConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cell","Cell",properties.Cell!=null?CfnAnalysisPivotTableCellConditionalFormattingPropertyFromCloudFormation(properties.Cell):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnAnalysisPivotTableConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "PivotTableConditionalFormattingProperty"')}function convertCfnAnalysisPivotTableConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnAnalysisPivotTableConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnAnalysisPivotTableConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisPivotTableConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataPathSortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("sortPaths",cdk().requiredValidator)(properties.sortPaths)),errors.collect(cdk().propertyValidator("sortPaths",cdk().listValidator(CfnAnalysisDataPathValuePropertyValidator))(properties.sortPaths)),errors.wrap('supplied properties not correct for "DataPathSortProperty"')}function convertCfnAnalysisDataPathSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataPathSortPropertyValidator(properties).assertSuccess(),{Direction:cdk().stringToCloudFormation(properties.direction),SortPaths:cdk().listMapper(convertCfnAnalysisDataPathValuePropertyToCloudFormation)(properties.sortPaths)}):properties}function CfnAnalysisDataPathSortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("sortPaths","SortPaths",properties.SortPaths!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDataPathValuePropertyFromCloudFormation)(properties.SortPaths):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableSortByPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",CfnAnalysisColumnSortPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("dataPath",CfnAnalysisDataPathSortPropertyValidator)(properties.dataPath)),errors.collect(cdk().propertyValidator("field",CfnAnalysisFieldSortPropertyValidator)(properties.field)),errors.wrap('supplied properties not correct for "PivotTableSortByProperty"')}function convertCfnAnalysisPivotTableSortByPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableSortByPropertyValidator(properties).assertSuccess(),{Column:convertCfnAnalysisColumnSortPropertyToCloudFormation(properties.column),DataPath:convertCfnAnalysisDataPathSortPropertyToCloudFormation(properties.dataPath),Field:convertCfnAnalysisFieldSortPropertyToCloudFormation(properties.field)}):properties}function CfnAnalysisPivotTableSortByPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnAnalysisColumnSortPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("dataPath","DataPath",properties.DataPath!=null?CfnAnalysisDataPathSortPropertyFromCloudFormation(properties.DataPath):void 0),ret.addPropertyResult("field","Field",properties.Field!=null?CfnAnalysisFieldSortPropertyFromCloudFormation(properties.Field):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotFieldSortOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("sortBy",cdk().requiredValidator)(properties.sortBy)),errors.collect(cdk().propertyValidator("sortBy",CfnAnalysisPivotTableSortByPropertyValidator)(properties.sortBy)),errors.wrap('supplied properties not correct for "PivotFieldSortOptionsProperty"')}function convertCfnAnalysisPivotFieldSortOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotFieldSortOptionsPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),SortBy:convertCfnAnalysisPivotTableSortByPropertyToCloudFormation(properties.sortBy)}):properties}function CfnAnalysisPivotFieldSortOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("sortBy","SortBy",properties.SortBy!=null?CfnAnalysisPivotTableSortByPropertyFromCloudFormation(properties.SortBy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldSortOptions",cdk().listValidator(CfnAnalysisPivotFieldSortOptionsPropertyValidator))(properties.fieldSortOptions)),errors.wrap('supplied properties not correct for "PivotTableSortConfigurationProperty"')}function convertCfnAnalysisPivotTableSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableSortConfigurationPropertyValidator(properties).assertSuccess(),{FieldSortOptions:cdk().listMapper(convertCfnAnalysisPivotFieldSortOptionsPropertyToCloudFormation)(properties.fieldSortOptions)}):properties}function CfnAnalysisPivotTableSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldSortOptions","FieldSortOptions",properties.FieldSortOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisPivotFieldSortOptionsPropertyFromCloudFormation)(properties.FieldSortOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTablePaginatedReportOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("overflowColumnHeaderVisibility",cdk().validateString)(properties.overflowColumnHeaderVisibility)),errors.collect(cdk().propertyValidator("verticalOverflowVisibility",cdk().validateString)(properties.verticalOverflowVisibility)),errors.wrap('supplied properties not correct for "PivotTablePaginatedReportOptionsProperty"')}function convertCfnAnalysisPivotTablePaginatedReportOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTablePaginatedReportOptionsPropertyValidator(properties).assertSuccess(),{OverflowColumnHeaderVisibility:cdk().stringToCloudFormation(properties.overflowColumnHeaderVisibility),VerticalOverflowVisibility:cdk().stringToCloudFormation(properties.verticalOverflowVisibility)}):properties}function CfnAnalysisPivotTablePaginatedReportOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("overflowColumnHeaderVisibility","OverflowColumnHeaderVisibility",properties.OverflowColumnHeaderVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.OverflowColumnHeaderVisibility):void 0),ret.addPropertyResult("verticalOverflowVisibility","VerticalOverflowVisibility",properties.VerticalOverflowVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalOverflowVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableRowsLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "PivotTableRowsLabelOptionsProperty"')}function convertCfnAnalysisPivotTableRowsLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableRowsLabelOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisPivotTableRowsLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.cellStyle)),errors.collect(cdk().propertyValidator("collapsedRowDimensionsVisibility",cdk().validateString)(properties.collapsedRowDimensionsVisibility)),errors.collect(cdk().propertyValidator("columnHeaderStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.columnHeaderStyle)),errors.collect(cdk().propertyValidator("columnNamesVisibility",cdk().validateString)(properties.columnNamesVisibility)),errors.collect(cdk().propertyValidator("defaultCellWidth",cdk().validateString)(properties.defaultCellWidth)),errors.collect(cdk().propertyValidator("metricPlacement",cdk().validateString)(properties.metricPlacement)),errors.collect(cdk().propertyValidator("rowAlternateColorOptions",CfnAnalysisRowAlternateColorOptionsPropertyValidator)(properties.rowAlternateColorOptions)),errors.collect(cdk().propertyValidator("rowFieldNamesStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.rowFieldNamesStyle)),errors.collect(cdk().propertyValidator("rowHeaderStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.rowHeaderStyle)),errors.collect(cdk().propertyValidator("rowsLabelOptions",CfnAnalysisPivotTableRowsLabelOptionsPropertyValidator)(properties.rowsLabelOptions)),errors.collect(cdk().propertyValidator("rowsLayout",cdk().validateString)(properties.rowsLayout)),errors.collect(cdk().propertyValidator("singleMetricVisibility",cdk().validateString)(properties.singleMetricVisibility)),errors.collect(cdk().propertyValidator("toggleButtonsVisibility",cdk().validateString)(properties.toggleButtonsVisibility)),errors.wrap('supplied properties not correct for "PivotTableOptionsProperty"')}function convertCfnAnalysisPivotTableOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableOptionsPropertyValidator(properties).assertSuccess(),{CellStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.cellStyle),CollapsedRowDimensionsVisibility:cdk().stringToCloudFormation(properties.collapsedRowDimensionsVisibility),ColumnHeaderStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.columnHeaderStyle),ColumnNamesVisibility:cdk().stringToCloudFormation(properties.columnNamesVisibility),DefaultCellWidth:cdk().stringToCloudFormation(properties.defaultCellWidth),MetricPlacement:cdk().stringToCloudFormation(properties.metricPlacement),RowAlternateColorOptions:convertCfnAnalysisRowAlternateColorOptionsPropertyToCloudFormation(properties.rowAlternateColorOptions),RowFieldNamesStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.rowFieldNamesStyle),RowHeaderStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.rowHeaderStyle),RowsLabelOptions:convertCfnAnalysisPivotTableRowsLabelOptionsPropertyToCloudFormation(properties.rowsLabelOptions),RowsLayout:cdk().stringToCloudFormation(properties.rowsLayout),SingleMetricVisibility:cdk().stringToCloudFormation(properties.singleMetricVisibility),ToggleButtonsVisibility:cdk().stringToCloudFormation(properties.toggleButtonsVisibility)}):properties}function CfnAnalysisPivotTableOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellStyle","CellStyle",properties.CellStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.CellStyle):void 0),ret.addPropertyResult("collapsedRowDimensionsVisibility","CollapsedRowDimensionsVisibility",properties.CollapsedRowDimensionsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.CollapsedRowDimensionsVisibility):void 0),ret.addPropertyResult("columnHeaderStyle","ColumnHeaderStyle",properties.ColumnHeaderStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.ColumnHeaderStyle):void 0),ret.addPropertyResult("columnNamesVisibility","ColumnNamesVisibility",properties.ColumnNamesVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnNamesVisibility):void 0),ret.addPropertyResult("defaultCellWidth","DefaultCellWidth",properties.DefaultCellWidth!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultCellWidth):void 0),ret.addPropertyResult("metricPlacement","MetricPlacement",properties.MetricPlacement!=null?cfn_parse().FromCloudFormation.getString(properties.MetricPlacement):void 0),ret.addPropertyResult("rowAlternateColorOptions","RowAlternateColorOptions",properties.RowAlternateColorOptions!=null?CfnAnalysisRowAlternateColorOptionsPropertyFromCloudFormation(properties.RowAlternateColorOptions):void 0),ret.addPropertyResult("rowFieldNamesStyle","RowFieldNamesStyle",properties.RowFieldNamesStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.RowFieldNamesStyle):void 0),ret.addPropertyResult("rowHeaderStyle","RowHeaderStyle",properties.RowHeaderStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.RowHeaderStyle):void 0),ret.addPropertyResult("rowsLabelOptions","RowsLabelOptions",properties.RowsLabelOptions!=null?CfnAnalysisPivotTableRowsLabelOptionsPropertyFromCloudFormation(properties.RowsLabelOptions):void 0),ret.addPropertyResult("rowsLayout","RowsLayout",properties.RowsLayout!=null?cfn_parse().FromCloudFormation.getString(properties.RowsLayout):void 0),ret.addPropertyResult("singleMetricVisibility","SingleMetricVisibility",properties.SingleMetricVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.SingleMetricVisibility):void 0),ret.addPropertyResult("toggleButtonsVisibility","ToggleButtonsVisibility",properties.ToggleButtonsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.ToggleButtonsVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("rows",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.rows)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "PivotTableAggregatedFieldWellsProperty"')}function convertCfnAnalysisPivotTableAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.columns),Rows:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.rows),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisPivotTableAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("rows","Rows",properties.Rows!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Rows):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pivotTableAggregatedFieldWells",CfnAnalysisPivotTableAggregatedFieldWellsPropertyValidator)(properties.pivotTableAggregatedFieldWells)),errors.wrap('supplied properties not correct for "PivotTableFieldWellsProperty"')}function convertCfnAnalysisPivotTableFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableFieldWellsPropertyValidator(properties).assertSuccess(),{PivotTableAggregatedFieldWells:convertCfnAnalysisPivotTableAggregatedFieldWellsPropertyToCloudFormation(properties.pivotTableAggregatedFieldWells)}):properties}function CfnAnalysisPivotTableFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pivotTableAggregatedFieldWells","PivotTableAggregatedFieldWells",properties.PivotTableAggregatedFieldWells!=null?CfnAnalysisPivotTableAggregatedFieldWellsPropertyFromCloudFormation(properties.PivotTableAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableFieldCollapseStateTargetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldDataPathValues",cdk().listValidator(CfnAnalysisDataPathValuePropertyValidator))(properties.fieldDataPathValues)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "PivotTableFieldCollapseStateTargetProperty"')}function convertCfnAnalysisPivotTableFieldCollapseStateTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableFieldCollapseStateTargetPropertyValidator(properties).assertSuccess(),{FieldDataPathValues:cdk().listMapper(convertCfnAnalysisDataPathValuePropertyToCloudFormation)(properties.fieldDataPathValues),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnAnalysisPivotTableFieldCollapseStateTargetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldDataPathValues","FieldDataPathValues",properties.FieldDataPathValues!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDataPathValuePropertyFromCloudFormation)(properties.FieldDataPathValues):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableFieldCollapseStateOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",CfnAnalysisPivotTableFieldCollapseStateTargetPropertyValidator)(properties.target)),errors.wrap('supplied properties not correct for "PivotTableFieldCollapseStateOptionProperty"')}function convertCfnAnalysisPivotTableFieldCollapseStateOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableFieldCollapseStateOptionPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state),Target:convertCfnAnalysisPivotTableFieldCollapseStateTargetPropertyToCloudFormation(properties.target)}):properties}function CfnAnalysisPivotTableFieldCollapseStateOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?CfnAnalysisPivotTableFieldCollapseStateTargetPropertyFromCloudFormation(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableDataPathOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataPathList",cdk().requiredValidator)(properties.dataPathList)),errors.collect(cdk().propertyValidator("dataPathList",cdk().listValidator(CfnAnalysisDataPathValuePropertyValidator))(properties.dataPathList)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "PivotTableDataPathOptionProperty"')}function convertCfnAnalysisPivotTableDataPathOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableDataPathOptionPropertyValidator(properties).assertSuccess(),{DataPathList:cdk().listMapper(convertCfnAnalysisDataPathValuePropertyToCloudFormation)(properties.dataPathList),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnAnalysisPivotTableDataPathOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataPathList","DataPathList",properties.DataPathList!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDataPathValuePropertyFromCloudFormation)(properties.DataPathList):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableFieldOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "PivotTableFieldOptionProperty"')}function convertCfnAnalysisPivotTableFieldOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableFieldOptionPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FieldId:cdk().stringToCloudFormation(properties.fieldId),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisPivotTableFieldOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableFieldOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("collapseStateOptions",cdk().listValidator(CfnAnalysisPivotTableFieldCollapseStateOptionPropertyValidator))(properties.collapseStateOptions)),errors.collect(cdk().propertyValidator("dataPathOptions",cdk().listValidator(CfnAnalysisPivotTableDataPathOptionPropertyValidator))(properties.dataPathOptions)),errors.collect(cdk().propertyValidator("selectedFieldOptions",cdk().listValidator(CfnAnalysisPivotTableFieldOptionPropertyValidator))(properties.selectedFieldOptions)),errors.wrap('supplied properties not correct for "PivotTableFieldOptionsProperty"')}function convertCfnAnalysisPivotTableFieldOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableFieldOptionsPropertyValidator(properties).assertSuccess(),{CollapseStateOptions:cdk().listMapper(convertCfnAnalysisPivotTableFieldCollapseStateOptionPropertyToCloudFormation)(properties.collapseStateOptions),DataPathOptions:cdk().listMapper(convertCfnAnalysisPivotTableDataPathOptionPropertyToCloudFormation)(properties.dataPathOptions),SelectedFieldOptions:cdk().listMapper(convertCfnAnalysisPivotTableFieldOptionPropertyToCloudFormation)(properties.selectedFieldOptions)}):properties}function CfnAnalysisPivotTableFieldOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("collapseStateOptions","CollapseStateOptions",properties.CollapseStateOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisPivotTableFieldCollapseStateOptionPropertyFromCloudFormation)(properties.CollapseStateOptions):void 0),ret.addPropertyResult("dataPathOptions","DataPathOptions",properties.DataPathOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisPivotTableDataPathOptionPropertyFromCloudFormation)(properties.DataPathOptions):void 0),ret.addPropertyResult("selectedFieldOptions","SelectedFieldOptions",properties.SelectedFieldOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisPivotTableFieldOptionPropertyFromCloudFormation)(properties.SelectedFieldOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableFieldSubtotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "PivotTableFieldSubtotalOptionsProperty"')}function convertCfnAnalysisPivotTableFieldSubtotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableFieldSubtotalOptionsPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnAnalysisPivotTableFieldSubtotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTableStyleTargetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellType",cdk().requiredValidator)(properties.cellType)),errors.collect(cdk().propertyValidator("cellType",cdk().validateString)(properties.cellType)),errors.wrap('supplied properties not correct for "TableStyleTargetProperty"')}function convertCfnAnalysisTableStyleTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTableStyleTargetPropertyValidator(properties).assertSuccess(),{CellType:cdk().stringToCloudFormation(properties.cellType)}):properties}function CfnAnalysisTableStyleTargetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellType","CellType",properties.CellType!=null?cfn_parse().FromCloudFormation.getString(properties.CellType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSubtotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fieldLevel",cdk().validateString)(properties.fieldLevel)),errors.collect(cdk().propertyValidator("fieldLevelOptions",cdk().listValidator(CfnAnalysisPivotTableFieldSubtotalOptionsPropertyValidator))(properties.fieldLevelOptions)),errors.collect(cdk().propertyValidator("metricHeaderCellStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.metricHeaderCellStyle)),errors.collect(cdk().propertyValidator("styleTargets",cdk().listValidator(CfnAnalysisTableStyleTargetPropertyValidator))(properties.styleTargets)),errors.collect(cdk().propertyValidator("totalCellStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.totalCellStyle)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.collect(cdk().propertyValidator("valueCellStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.valueCellStyle)),errors.wrap('supplied properties not correct for "SubtotalOptionsProperty"')}function convertCfnAnalysisSubtotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSubtotalOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FieldLevel:cdk().stringToCloudFormation(properties.fieldLevel),FieldLevelOptions:cdk().listMapper(convertCfnAnalysisPivotTableFieldSubtotalOptionsPropertyToCloudFormation)(properties.fieldLevelOptions),MetricHeaderCellStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.metricHeaderCellStyle),StyleTargets:cdk().listMapper(convertCfnAnalysisTableStyleTargetPropertyToCloudFormation)(properties.styleTargets),TotalCellStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.totalCellStyle),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility),ValueCellStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.valueCellStyle)}):properties}function CfnAnalysisSubtotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fieldLevel","FieldLevel",properties.FieldLevel!=null?cfn_parse().FromCloudFormation.getString(properties.FieldLevel):void 0),ret.addPropertyResult("fieldLevelOptions","FieldLevelOptions",properties.FieldLevelOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisPivotTableFieldSubtotalOptionsPropertyFromCloudFormation)(properties.FieldLevelOptions):void 0),ret.addPropertyResult("metricHeaderCellStyle","MetricHeaderCellStyle",properties.MetricHeaderCellStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.MetricHeaderCellStyle):void 0),ret.addPropertyResult("styleTargets","StyleTargets",properties.StyleTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisTableStyleTargetPropertyFromCloudFormation)(properties.StyleTargets):void 0),ret.addPropertyResult("totalCellStyle","TotalCellStyle",properties.TotalCellStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.TotalCellStyle):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addPropertyResult("valueCellStyle","ValueCellStyle",properties.ValueCellStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.ValueCellStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("metricHeaderCellStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.metricHeaderCellStyle)),errors.collect(cdk().propertyValidator("placement",cdk().validateString)(properties.placement)),errors.collect(cdk().propertyValidator("scrollStatus",cdk().validateString)(properties.scrollStatus)),errors.collect(cdk().propertyValidator("totalAggregationOptions",cdk().listValidator(CfnAnalysisTotalAggregationOptionPropertyValidator))(properties.totalAggregationOptions)),errors.collect(cdk().propertyValidator("totalCellStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.totalCellStyle)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.collect(cdk().propertyValidator("valueCellStyle",CfnAnalysisTableCellStylePropertyValidator)(properties.valueCellStyle)),errors.wrap('supplied properties not correct for "PivotTotalOptionsProperty"')}function convertCfnAnalysisPivotTotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTotalOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),MetricHeaderCellStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.metricHeaderCellStyle),Placement:cdk().stringToCloudFormation(properties.placement),ScrollStatus:cdk().stringToCloudFormation(properties.scrollStatus),TotalAggregationOptions:cdk().listMapper(convertCfnAnalysisTotalAggregationOptionPropertyToCloudFormation)(properties.totalAggregationOptions),TotalCellStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.totalCellStyle),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility),ValueCellStyle:convertCfnAnalysisTableCellStylePropertyToCloudFormation(properties.valueCellStyle)}):properties}function CfnAnalysisPivotTotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("metricHeaderCellStyle","MetricHeaderCellStyle",properties.MetricHeaderCellStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.MetricHeaderCellStyle):void 0),ret.addPropertyResult("placement","Placement",properties.Placement!=null?cfn_parse().FromCloudFormation.getString(properties.Placement):void 0),ret.addPropertyResult("scrollStatus","ScrollStatus",properties.ScrollStatus!=null?cfn_parse().FromCloudFormation.getString(properties.ScrollStatus):void 0),ret.addPropertyResult("totalAggregationOptions","TotalAggregationOptions",properties.TotalAggregationOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisTotalAggregationOptionPropertyFromCloudFormation)(properties.TotalAggregationOptions):void 0),ret.addPropertyResult("totalCellStyle","TotalCellStyle",properties.TotalCellStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.TotalCellStyle):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addPropertyResult("valueCellStyle","ValueCellStyle",properties.ValueCellStyle!=null?CfnAnalysisTableCellStylePropertyFromCloudFormation(properties.ValueCellStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableTotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnSubtotalOptions",CfnAnalysisSubtotalOptionsPropertyValidator)(properties.columnSubtotalOptions)),errors.collect(cdk().propertyValidator("columnTotalOptions",CfnAnalysisPivotTotalOptionsPropertyValidator)(properties.columnTotalOptions)),errors.collect(cdk().propertyValidator("rowSubtotalOptions",CfnAnalysisSubtotalOptionsPropertyValidator)(properties.rowSubtotalOptions)),errors.collect(cdk().propertyValidator("rowTotalOptions",CfnAnalysisPivotTotalOptionsPropertyValidator)(properties.rowTotalOptions)),errors.wrap('supplied properties not correct for "PivotTableTotalOptionsProperty"')}function convertCfnAnalysisPivotTableTotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableTotalOptionsPropertyValidator(properties).assertSuccess(),{ColumnSubtotalOptions:convertCfnAnalysisSubtotalOptionsPropertyToCloudFormation(properties.columnSubtotalOptions),ColumnTotalOptions:convertCfnAnalysisPivotTotalOptionsPropertyToCloudFormation(properties.columnTotalOptions),RowSubtotalOptions:convertCfnAnalysisSubtotalOptionsPropertyToCloudFormation(properties.rowSubtotalOptions),RowTotalOptions:convertCfnAnalysisPivotTotalOptionsPropertyToCloudFormation(properties.rowTotalOptions)}):properties}function CfnAnalysisPivotTableTotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnSubtotalOptions","ColumnSubtotalOptions",properties.ColumnSubtotalOptions!=null?CfnAnalysisSubtotalOptionsPropertyFromCloudFormation(properties.ColumnSubtotalOptions):void 0),ret.addPropertyResult("columnTotalOptions","ColumnTotalOptions",properties.ColumnTotalOptions!=null?CfnAnalysisPivotTotalOptionsPropertyFromCloudFormation(properties.ColumnTotalOptions):void 0),ret.addPropertyResult("rowSubtotalOptions","RowSubtotalOptions",properties.RowSubtotalOptions!=null?CfnAnalysisSubtotalOptionsPropertyFromCloudFormation(properties.RowSubtotalOptions):void 0),ret.addPropertyResult("rowTotalOptions","RowTotalOptions",properties.RowTotalOptions!=null?CfnAnalysisPivotTotalOptionsPropertyFromCloudFormation(properties.RowTotalOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldOptions",CfnAnalysisPivotTableFieldOptionsPropertyValidator)(properties.fieldOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisPivotTableFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("paginatedReportOptions",CfnAnalysisPivotTablePaginatedReportOptionsPropertyValidator)(properties.paginatedReportOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisPivotTableSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tableOptions",CfnAnalysisPivotTableOptionsPropertyValidator)(properties.tableOptions)),errors.collect(cdk().propertyValidator("totalOptions",CfnAnalysisPivotTableTotalOptionsPropertyValidator)(properties.totalOptions)),errors.wrap('supplied properties not correct for "PivotTableConfigurationProperty"')}function convertCfnAnalysisPivotTableConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableConfigurationPropertyValidator(properties).assertSuccess(),{FieldOptions:convertCfnAnalysisPivotTableFieldOptionsPropertyToCloudFormation(properties.fieldOptions),FieldWells:convertCfnAnalysisPivotTableFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),PaginatedReportOptions:convertCfnAnalysisPivotTablePaginatedReportOptionsPropertyToCloudFormation(properties.paginatedReportOptions),SortConfiguration:convertCfnAnalysisPivotTableSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),TableOptions:convertCfnAnalysisPivotTableOptionsPropertyToCloudFormation(properties.tableOptions),TotalOptions:convertCfnAnalysisPivotTableTotalOptionsPropertyToCloudFormation(properties.totalOptions)}):properties}function CfnAnalysisPivotTableConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldOptions","FieldOptions",properties.FieldOptions!=null?CfnAnalysisPivotTableFieldOptionsPropertyFromCloudFormation(properties.FieldOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisPivotTableFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("paginatedReportOptions","PaginatedReportOptions",properties.PaginatedReportOptions!=null?CfnAnalysisPivotTablePaginatedReportOptionsPropertyFromCloudFormation(properties.PaginatedReportOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisPivotTableSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tableOptions","TableOptions",properties.TableOptions!=null?CfnAnalysisPivotTableOptionsPropertyFromCloudFormation(properties.TableOptions):void 0),ret.addPropertyResult("totalOptions","TotalOptions",properties.TotalOptions!=null?CfnAnalysisPivotTableTotalOptionsPropertyFromCloudFormation(properties.TotalOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPivotTableVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisPivotTableConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnAnalysisPivotTableConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "PivotTableVisualProperty"')}function convertCfnAnalysisPivotTableVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPivotTableVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisPivotTableConfigurationPropertyToCloudFormation(properties.chartConfiguration),ConditionalFormatting:convertCfnAnalysisPivotTableConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisPivotTableVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisPivotTableConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnAnalysisPivotTableConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("geospatial",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.geospatial)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "GeospatialMapAggregatedFieldWellsProperty"')}function convertCfnAnalysisGeospatialMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.colors),Geospatial:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.geospatial),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisGeospatialMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("geospatial","Geospatial",properties.Geospatial!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Geospatial):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("geospatialMapAggregatedFieldWells",CfnAnalysisGeospatialMapAggregatedFieldWellsPropertyValidator)(properties.geospatialMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "GeospatialMapFieldWellsProperty"')}function convertCfnAnalysisGeospatialMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialMapFieldWellsPropertyValidator(properties).assertSuccess(),{GeospatialMapAggregatedFieldWells:convertCfnAnalysisGeospatialMapAggregatedFieldWellsPropertyToCloudFormation(properties.geospatialMapAggregatedFieldWells)}):properties}function CfnAnalysisGeospatialMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("geospatialMapAggregatedFieldWells","GeospatialMapAggregatedFieldWells",properties.GeospatialMapAggregatedFieldWells!=null?CfnAnalysisGeospatialMapAggregatedFieldWellsPropertyFromCloudFormation(properties.GeospatialMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSimpleClusterMarkerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.wrap('supplied properties not correct for "SimpleClusterMarkerProperty"')}function convertCfnAnalysisSimpleClusterMarkerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSimpleClusterMarkerPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color)}):properties}function CfnAnalysisSimpleClusterMarkerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisClusterMarkerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("simpleClusterMarker",CfnAnalysisSimpleClusterMarkerPropertyValidator)(properties.simpleClusterMarker)),errors.wrap('supplied properties not correct for "ClusterMarkerProperty"')}function convertCfnAnalysisClusterMarkerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisClusterMarkerPropertyValidator(properties).assertSuccess(),{SimpleClusterMarker:convertCfnAnalysisSimpleClusterMarkerPropertyToCloudFormation(properties.simpleClusterMarker)}):properties}function CfnAnalysisClusterMarkerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("simpleClusterMarker","SimpleClusterMarker",properties.SimpleClusterMarker!=null?CfnAnalysisSimpleClusterMarkerPropertyFromCloudFormation(properties.SimpleClusterMarker):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisClusterMarkerConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterMarker",CfnAnalysisClusterMarkerPropertyValidator)(properties.clusterMarker)),errors.wrap('supplied properties not correct for "ClusterMarkerConfigurationProperty"')}function convertCfnAnalysisClusterMarkerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisClusterMarkerConfigurationPropertyValidator(properties).assertSuccess(),{ClusterMarker:convertCfnAnalysisClusterMarkerPropertyToCloudFormation(properties.clusterMarker)}):properties}function CfnAnalysisClusterMarkerConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterMarker","ClusterMarker",properties.ClusterMarker!=null?CfnAnalysisClusterMarkerPropertyFromCloudFormation(properties.ClusterMarker):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialHeatmapDataColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.wrap('supplied properties not correct for "GeospatialHeatmapDataColorProperty"')}function convertCfnAnalysisGeospatialHeatmapDataColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialHeatmapDataColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color)}):properties}function CfnAnalysisGeospatialHeatmapDataColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialHeatmapColorScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnAnalysisGeospatialHeatmapDataColorPropertyValidator))(properties.colors)),errors.wrap('supplied properties not correct for "GeospatialHeatmapColorScaleProperty"')}function convertCfnAnalysisGeospatialHeatmapColorScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialHeatmapColorScalePropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(convertCfnAnalysisGeospatialHeatmapDataColorPropertyToCloudFormation)(properties.colors)}):properties}function CfnAnalysisGeospatialHeatmapColorScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisGeospatialHeatmapDataColorPropertyFromCloudFormation)(properties.Colors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialHeatmapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("heatmapColor",CfnAnalysisGeospatialHeatmapColorScalePropertyValidator)(properties.heatmapColor)),errors.wrap('supplied properties not correct for "GeospatialHeatmapConfigurationProperty"')}function convertCfnAnalysisGeospatialHeatmapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialHeatmapConfigurationPropertyValidator(properties).assertSuccess(),{HeatmapColor:convertCfnAnalysisGeospatialHeatmapColorScalePropertyToCloudFormation(properties.heatmapColor)}):properties}function CfnAnalysisGeospatialHeatmapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("heatmapColor","HeatmapColor",properties.HeatmapColor!=null?CfnAnalysisGeospatialHeatmapColorScalePropertyFromCloudFormation(properties.HeatmapColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialPointStyleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterMarkerConfiguration",CfnAnalysisClusterMarkerConfigurationPropertyValidator)(properties.clusterMarkerConfiguration)),errors.collect(cdk().propertyValidator("heatmapConfiguration",CfnAnalysisGeospatialHeatmapConfigurationPropertyValidator)(properties.heatmapConfiguration)),errors.collect(cdk().propertyValidator("selectedPointStyle",cdk().validateString)(properties.selectedPointStyle)),errors.wrap('supplied properties not correct for "GeospatialPointStyleOptionsProperty"')}function convertCfnAnalysisGeospatialPointStyleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialPointStyleOptionsPropertyValidator(properties).assertSuccess(),{ClusterMarkerConfiguration:convertCfnAnalysisClusterMarkerConfigurationPropertyToCloudFormation(properties.clusterMarkerConfiguration),HeatmapConfiguration:convertCfnAnalysisGeospatialHeatmapConfigurationPropertyToCloudFormation(properties.heatmapConfiguration),SelectedPointStyle:cdk().stringToCloudFormation(properties.selectedPointStyle)}):properties}function CfnAnalysisGeospatialPointStyleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterMarkerConfiguration","ClusterMarkerConfiguration",properties.ClusterMarkerConfiguration!=null?CfnAnalysisClusterMarkerConfigurationPropertyFromCloudFormation(properties.ClusterMarkerConfiguration):void 0),ret.addPropertyResult("heatmapConfiguration","HeatmapConfiguration",properties.HeatmapConfiguration!=null?CfnAnalysisGeospatialHeatmapConfigurationPropertyFromCloudFormation(properties.HeatmapConfiguration):void 0),ret.addPropertyResult("selectedPointStyle","SelectedPointStyle",properties.SelectedPointStyle!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedPointStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisGeospatialMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("mapStyleOptions",CfnAnalysisGeospatialMapStyleOptionsPropertyValidator)(properties.mapStyleOptions)),errors.collect(cdk().propertyValidator("pointStyleOptions",CfnAnalysisGeospatialPointStyleOptionsPropertyValidator)(properties.pointStyleOptions)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("windowOptions",CfnAnalysisGeospatialWindowOptionsPropertyValidator)(properties.windowOptions)),errors.wrap('supplied properties not correct for "GeospatialMapConfigurationProperty"')}function convertCfnAnalysisGeospatialMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialMapConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:convertCfnAnalysisGeospatialMapFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),MapStyleOptions:convertCfnAnalysisGeospatialMapStyleOptionsPropertyToCloudFormation(properties.mapStyleOptions),PointStyleOptions:convertCfnAnalysisGeospatialPointStyleOptionsPropertyToCloudFormation(properties.pointStyleOptions),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette),WindowOptions:convertCfnAnalysisGeospatialWindowOptionsPropertyToCloudFormation(properties.windowOptions)}):properties}function CfnAnalysisGeospatialMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisGeospatialMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("mapStyleOptions","MapStyleOptions",properties.MapStyleOptions!=null?CfnAnalysisGeospatialMapStyleOptionsPropertyFromCloudFormation(properties.MapStyleOptions):void 0),ret.addPropertyResult("pointStyleOptions","PointStyleOptions",properties.PointStyleOptions!=null?CfnAnalysisGeospatialPointStyleOptionsPropertyFromCloudFormation(properties.PointStyleOptions):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("windowOptions","WindowOptions",properties.WindowOptions!=null?CfnAnalysisGeospatialWindowOptionsPropertyFromCloudFormation(properties.WindowOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisGeospatialMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "GeospatialMapVisualProperty"')}function convertCfnAnalysisGeospatialMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisGeospatialMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisGeospatialMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisGeospatialMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBarChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimit)),errors.collect(cdk().propertyValidator("colorSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.colorSort)),errors.collect(cdk().propertyValidator("smallMultiplesLimitConfiguration",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.smallMultiplesLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.smallMultiplesSort)),errors.wrap('supplied properties not correct for "BarChartSortConfigurationProperty"')}function convertCfnAnalysisBarChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBarChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimit),ColorSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.colorSort),SmallMultiplesLimitConfiguration:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.smallMultiplesLimitConfiguration),SmallMultiplesSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.smallMultiplesSort)}):properties}function CfnAnalysisBarChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimit","ColorItemsLimit",properties.ColorItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimit):void 0),ret.addPropertyResult("colorSort","ColorSort",properties.ColorSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.ColorSort):void 0),ret.addPropertyResult("smallMultiplesLimitConfiguration","SmallMultiplesLimitConfiguration",properties.SmallMultiplesLimitConfiguration!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.SmallMultiplesLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesSort","SmallMultiplesSort",properties.SmallMultiplesSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.SmallMultiplesSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBarChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("smallMultiples",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.smallMultiples)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "BarChartAggregatedFieldWellsProperty"')}function convertCfnAnalysisBarChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBarChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.category),Colors:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.colors),SmallMultiples:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.smallMultiples),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisBarChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("smallMultiples","SmallMultiples",properties.SmallMultiples!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.SmallMultiples):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBarChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barChartAggregatedFieldWells",CfnAnalysisBarChartAggregatedFieldWellsPropertyValidator)(properties.barChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "BarChartFieldWellsProperty"')}function convertCfnAnalysisBarChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBarChartFieldWellsPropertyValidator(properties).assertSuccess(),{BarChartAggregatedFieldWells:convertCfnAnalysisBarChartAggregatedFieldWellsPropertyToCloudFormation(properties.barChartAggregatedFieldWells)}):properties}function CfnAnalysisBarChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barChartAggregatedFieldWells","BarChartAggregatedFieldWells",properties.BarChartAggregatedFieldWells!=null?CfnAnalysisBarChartAggregatedFieldWellsPropertyFromCloudFormation(properties.BarChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBarChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barsArrangement",cdk().validateString)(properties.barsArrangement)),errors.collect(cdk().propertyValidator("categoryAxis",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("contributionAnalysisDefaults",cdk().listValidator(CfnAnalysisContributionAnalysisDefaultPropertyValidator))(properties.contributionAnalysisDefaults)),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisBarChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("orientation",cdk().validateString)(properties.orientation)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnAnalysisReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("smallMultiplesOptions",CfnAnalysisSmallMultiplesOptionsPropertyValidator)(properties.smallMultiplesOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisBarChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("valueAxis",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.valueAxis)),errors.collect(cdk().propertyValidator("valueLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.valueLabelOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "BarChartConfigurationProperty"')}function convertCfnAnalysisBarChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBarChartConfigurationPropertyValidator(properties).assertSuccess(),{BarsArrangement:cdk().stringToCloudFormation(properties.barsArrangement),CategoryAxis:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ColorLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),ContributionAnalysisDefaults:cdk().listMapper(convertCfnAnalysisContributionAnalysisDefaultPropertyToCloudFormation)(properties.contributionAnalysisDefaults),DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnAnalysisBarChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),Orientation:cdk().stringToCloudFormation(properties.orientation),ReferenceLines:cdk().listMapper(convertCfnAnalysisReferenceLinePropertyToCloudFormation)(properties.referenceLines),SmallMultiplesOptions:convertCfnAnalysisSmallMultiplesOptionsPropertyToCloudFormation(properties.smallMultiplesOptions),SortConfiguration:convertCfnAnalysisBarChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),ValueAxis:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.valueAxis),ValueLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.valueLabelOptions),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnAnalysisBarChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barsArrangement","BarsArrangement",properties.BarsArrangement!=null?cfn_parse().FromCloudFormation.getString(properties.BarsArrangement):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("contributionAnalysisDefaults","ContributionAnalysisDefaults",properties.ContributionAnalysisDefaults!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisContributionAnalysisDefaultPropertyFromCloudFormation)(properties.ContributionAnalysisDefaults):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisBarChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("orientation","Orientation",properties.Orientation!=null?cfn_parse().FromCloudFormation.getString(properties.Orientation):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("smallMultiplesOptions","SmallMultiplesOptions",properties.SmallMultiplesOptions!=null?CfnAnalysisSmallMultiplesOptionsPropertyFromCloudFormation(properties.SmallMultiplesOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisBarChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("valueAxis","ValueAxis",properties.ValueAxis!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.ValueAxis):void 0),ret.addPropertyResult("valueLabelOptions","ValueLabelOptions",properties.ValueLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.ValueLabelOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisBarChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisBarChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "BarChartVisualProperty"')}function convertCfnAnalysisBarChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisBarChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisBarChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisBarChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisBarChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisScatterPlotUnaggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("label",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.label)),errors.collect(cdk().propertyValidator("size",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.size)),errors.collect(cdk().propertyValidator("xAxis",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.xAxis)),errors.collect(cdk().propertyValidator("yAxis",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.yAxis)),errors.wrap('supplied properties not correct for "ScatterPlotUnaggregatedFieldWellsProperty"')}function convertCfnAnalysisScatterPlotUnaggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisScatterPlotUnaggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.category),Label:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.label),Size:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.size),XAxis:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.xAxis),YAxis:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.yAxis)}):properties}function CfnAnalysisScatterPlotUnaggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Label):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Size):void 0),ret.addPropertyResult("xAxis","XAxis",properties.XAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.XAxis):void 0),ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisScatterPlotCategoricallyAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("label",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.label)),errors.collect(cdk().propertyValidator("size",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.size)),errors.collect(cdk().propertyValidator("xAxis",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.xAxis)),errors.collect(cdk().propertyValidator("yAxis",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.yAxis)),errors.wrap('supplied properties not correct for "ScatterPlotCategoricallyAggregatedFieldWellsProperty"')}function convertCfnAnalysisScatterPlotCategoricallyAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisScatterPlotCategoricallyAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.category),Label:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.label),Size:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.size),XAxis:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.xAxis),YAxis:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.yAxis)}):properties}function CfnAnalysisScatterPlotCategoricallyAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Label):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Size):void 0),ret.addPropertyResult("xAxis","XAxis",properties.XAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.XAxis):void 0),ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisScatterPlotFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scatterPlotCategoricallyAggregatedFieldWells",CfnAnalysisScatterPlotCategoricallyAggregatedFieldWellsPropertyValidator)(properties.scatterPlotCategoricallyAggregatedFieldWells)),errors.collect(cdk().propertyValidator("scatterPlotUnaggregatedFieldWells",CfnAnalysisScatterPlotUnaggregatedFieldWellsPropertyValidator)(properties.scatterPlotUnaggregatedFieldWells)),errors.wrap('supplied properties not correct for "ScatterPlotFieldWellsProperty"')}function convertCfnAnalysisScatterPlotFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisScatterPlotFieldWellsPropertyValidator(properties).assertSuccess(),{ScatterPlotCategoricallyAggregatedFieldWells:convertCfnAnalysisScatterPlotCategoricallyAggregatedFieldWellsPropertyToCloudFormation(properties.scatterPlotCategoricallyAggregatedFieldWells),ScatterPlotUnaggregatedFieldWells:convertCfnAnalysisScatterPlotUnaggregatedFieldWellsPropertyToCloudFormation(properties.scatterPlotUnaggregatedFieldWells)}):properties}function CfnAnalysisScatterPlotFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scatterPlotCategoricallyAggregatedFieldWells","ScatterPlotCategoricallyAggregatedFieldWells",properties.ScatterPlotCategoricallyAggregatedFieldWells!=null?CfnAnalysisScatterPlotCategoricallyAggregatedFieldWellsPropertyFromCloudFormation(properties.ScatterPlotCategoricallyAggregatedFieldWells):void 0),ret.addPropertyResult("scatterPlotUnaggregatedFieldWells","ScatterPlotUnaggregatedFieldWells",properties.ScatterPlotUnaggregatedFieldWells!=null?CfnAnalysisScatterPlotUnaggregatedFieldWellsPropertyFromCloudFormation(properties.ScatterPlotUnaggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisScatterPlotSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scatterPlotLimitConfiguration",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.scatterPlotLimitConfiguration)),errors.wrap('supplied properties not correct for "ScatterPlotSortConfigurationProperty"')}function convertCfnAnalysisScatterPlotSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisScatterPlotSortConfigurationPropertyValidator(properties).assertSuccess(),{ScatterPlotLimitConfiguration:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.scatterPlotLimitConfiguration)}):properties}function CfnAnalysisScatterPlotSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scatterPlotLimitConfiguration","ScatterPlotLimitConfiguration",properties.ScatterPlotLimitConfiguration!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.ScatterPlotLimitConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisScatterPlotConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisScatterPlotFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisScatterPlotSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("xAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.xAxisDisplayOptions)),errors.collect(cdk().propertyValidator("xAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.xAxisLabelOptions)),errors.collect(cdk().propertyValidator("yAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.yAxisDisplayOptions)),errors.collect(cdk().propertyValidator("yAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.yAxisLabelOptions)),errors.wrap('supplied properties not correct for "ScatterPlotConfigurationProperty"')}function convertCfnAnalysisScatterPlotConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisScatterPlotConfigurationPropertyValidator(properties).assertSuccess(),{DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnAnalysisScatterPlotFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),SortConfiguration:convertCfnAnalysisScatterPlotSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette),XAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.xAxisDisplayOptions),XAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.xAxisLabelOptions),YAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.yAxisDisplayOptions),YAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.yAxisLabelOptions)}):properties}function CfnAnalysisScatterPlotConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisScatterPlotFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisScatterPlotSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("xAxisDisplayOptions","XAxisDisplayOptions",properties.XAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.XAxisDisplayOptions):void 0),ret.addPropertyResult("xAxisLabelOptions","XAxisLabelOptions",properties.XAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.XAxisLabelOptions):void 0),ret.addPropertyResult("yAxisDisplayOptions","YAxisDisplayOptions",properties.YAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.YAxisDisplayOptions):void 0),ret.addPropertyResult("yAxisLabelOptions","YAxisLabelOptions",properties.YAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.YAxisLabelOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisScatterPlotVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisScatterPlotConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "ScatterPlotVisualProperty"')}function convertCfnAnalysisScatterPlotVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisScatterPlotVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisScatterPlotConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisScatterPlotVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisScatterPlotConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRadarChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimit)),errors.collect(cdk().propertyValidator("colorSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.colorSort)),errors.wrap('supplied properties not correct for "RadarChartSortConfigurationProperty"')}function convertCfnAnalysisRadarChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRadarChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimit),ColorSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.colorSort)}):properties}function CfnAnalysisRadarChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimit","ColorItemsLimit",properties.ColorItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimit):void 0),ret.addPropertyResult("colorSort","ColorSort",properties.ColorSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.ColorSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRadarChartAreaStyleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "RadarChartAreaStyleSettingsProperty"')}function convertCfnAnalysisRadarChartAreaStyleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRadarChartAreaStyleSettingsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisRadarChartAreaStyleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRadarChartSeriesSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("areaStyleSettings",CfnAnalysisRadarChartAreaStyleSettingsPropertyValidator)(properties.areaStyleSettings)),errors.wrap('supplied properties not correct for "RadarChartSeriesSettingsProperty"')}function convertCfnAnalysisRadarChartSeriesSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRadarChartSeriesSettingsPropertyValidator(properties).assertSuccess(),{AreaStyleSettings:convertCfnAnalysisRadarChartAreaStyleSettingsPropertyToCloudFormation(properties.areaStyleSettings)}):properties}function CfnAnalysisRadarChartSeriesSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("areaStyleSettings","AreaStyleSettings",properties.AreaStyleSettings!=null?CfnAnalysisRadarChartAreaStyleSettingsPropertyFromCloudFormation(properties.AreaStyleSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRadarChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("color",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.color)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "RadarChartAggregatedFieldWellsProperty"')}function convertCfnAnalysisRadarChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRadarChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.category),Color:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.color),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisRadarChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Color):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRadarChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("radarChartAggregatedFieldWells",CfnAnalysisRadarChartAggregatedFieldWellsPropertyValidator)(properties.radarChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "RadarChartFieldWellsProperty"')}function convertCfnAnalysisRadarChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRadarChartFieldWellsPropertyValidator(properties).assertSuccess(),{RadarChartAggregatedFieldWells:convertCfnAnalysisRadarChartAggregatedFieldWellsPropertyToCloudFormation(properties.radarChartAggregatedFieldWells)}):properties}function CfnAnalysisRadarChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("radarChartAggregatedFieldWells","RadarChartAggregatedFieldWells",properties.RadarChartAggregatedFieldWells!=null?CfnAnalysisRadarChartAggregatedFieldWellsPropertyFromCloudFormation(properties.RadarChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRadarChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alternateBandColorsVisibility",cdk().validateString)(properties.alternateBandColorsVisibility)),errors.collect(cdk().propertyValidator("alternateBandEvenColor",cdk().validateString)(properties.alternateBandEvenColor)),errors.collect(cdk().propertyValidator("alternateBandOddColor",cdk().validateString)(properties.alternateBandOddColor)),errors.collect(cdk().propertyValidator("axesRangeScale",cdk().validateString)(properties.axesRangeScale)),errors.collect(cdk().propertyValidator("baseSeriesSettings",CfnAnalysisRadarChartSeriesSettingsPropertyValidator)(properties.baseSeriesSettings)),errors.collect(cdk().propertyValidator("categoryAxis",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("colorAxis",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.colorAxis)),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisRadarChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("shape",cdk().validateString)(properties.shape)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisRadarChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("startAngle",cdk().validateNumber)(properties.startAngle)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "RadarChartConfigurationProperty"')}function convertCfnAnalysisRadarChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRadarChartConfigurationPropertyValidator(properties).assertSuccess(),{AlternateBandColorsVisibility:cdk().stringToCloudFormation(properties.alternateBandColorsVisibility),AlternateBandEvenColor:cdk().stringToCloudFormation(properties.alternateBandEvenColor),AlternateBandOddColor:cdk().stringToCloudFormation(properties.alternateBandOddColor),AxesRangeScale:cdk().stringToCloudFormation(properties.axesRangeScale),BaseSeriesSettings:convertCfnAnalysisRadarChartSeriesSettingsPropertyToCloudFormation(properties.baseSeriesSettings),CategoryAxis:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ColorAxis:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.colorAxis),ColorLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),FieldWells:convertCfnAnalysisRadarChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),Shape:cdk().stringToCloudFormation(properties.shape),SortConfiguration:convertCfnAnalysisRadarChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),StartAngle:cdk().numberToCloudFormation(properties.startAngle),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnAnalysisRadarChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alternateBandColorsVisibility","AlternateBandColorsVisibility",properties.AlternateBandColorsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateBandColorsVisibility):void 0),ret.addPropertyResult("alternateBandEvenColor","AlternateBandEvenColor",properties.AlternateBandEvenColor!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateBandEvenColor):void 0),ret.addPropertyResult("alternateBandOddColor","AlternateBandOddColor",properties.AlternateBandOddColor!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateBandOddColor):void 0),ret.addPropertyResult("axesRangeScale","AxesRangeScale",properties.AxesRangeScale!=null?cfn_parse().FromCloudFormation.getString(properties.AxesRangeScale):void 0),ret.addPropertyResult("baseSeriesSettings","BaseSeriesSettings",properties.BaseSeriesSettings!=null?CfnAnalysisRadarChartSeriesSettingsPropertyFromCloudFormation(properties.BaseSeriesSettings):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("colorAxis","ColorAxis",properties.ColorAxis!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.ColorAxis):void 0),ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisRadarChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("shape","Shape",properties.Shape!=null?cfn_parse().FromCloudFormation.getString(properties.Shape):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisRadarChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("startAngle","StartAngle",properties.StartAngle!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartAngle):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisRadarChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisRadarChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "RadarChartVisualProperty"')}function convertCfnAnalysisRadarChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisRadarChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisRadarChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisRadarChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisRadarChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHeatMapSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("heatMapColumnItemsLimitConfiguration",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.heatMapColumnItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("heatMapColumnSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.heatMapColumnSort)),errors.collect(cdk().propertyValidator("heatMapRowItemsLimitConfiguration",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.heatMapRowItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("heatMapRowSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.heatMapRowSort)),errors.wrap('supplied properties not correct for "HeatMapSortConfigurationProperty"')}function convertCfnAnalysisHeatMapSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHeatMapSortConfigurationPropertyValidator(properties).assertSuccess(),{HeatMapColumnItemsLimitConfiguration:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.heatMapColumnItemsLimitConfiguration),HeatMapColumnSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.heatMapColumnSort),HeatMapRowItemsLimitConfiguration:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.heatMapRowItemsLimitConfiguration),HeatMapRowSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.heatMapRowSort)}):properties}function CfnAnalysisHeatMapSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("heatMapColumnItemsLimitConfiguration","HeatMapColumnItemsLimitConfiguration",properties.HeatMapColumnItemsLimitConfiguration!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.HeatMapColumnItemsLimitConfiguration):void 0),ret.addPropertyResult("heatMapColumnSort","HeatMapColumnSort",properties.HeatMapColumnSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.HeatMapColumnSort):void 0),ret.addPropertyResult("heatMapRowItemsLimitConfiguration","HeatMapRowItemsLimitConfiguration",properties.HeatMapRowItemsLimitConfiguration!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.HeatMapRowItemsLimitConfiguration):void 0),ret.addPropertyResult("heatMapRowSort","HeatMapRowSort",properties.HeatMapRowSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.HeatMapRowSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHeatMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("rows",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.rows)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "HeatMapAggregatedFieldWellsProperty"')}function convertCfnAnalysisHeatMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHeatMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.columns),Rows:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.rows),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisHeatMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("rows","Rows",properties.Rows!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Rows):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHeatMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("heatMapAggregatedFieldWells",CfnAnalysisHeatMapAggregatedFieldWellsPropertyValidator)(properties.heatMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "HeatMapFieldWellsProperty"')}function convertCfnAnalysisHeatMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHeatMapFieldWellsPropertyValidator(properties).assertSuccess(),{HeatMapAggregatedFieldWells:convertCfnAnalysisHeatMapAggregatedFieldWellsPropertyToCloudFormation(properties.heatMapAggregatedFieldWells)}):properties}function CfnAnalysisHeatMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("heatMapAggregatedFieldWells","HeatMapAggregatedFieldWells",properties.HeatMapAggregatedFieldWells!=null?CfnAnalysisHeatMapAggregatedFieldWellsPropertyFromCloudFormation(properties.HeatMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateNumber)(properties.dataValue)),errors.wrap('supplied properties not correct for "DataColorProperty"')}function convertCfnAnalysisDataColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().numberToCloudFormation(properties.dataValue)}):properties}function CfnAnalysisDataColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.DataValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisColorScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorFillType",cdk().requiredValidator)(properties.colorFillType)),errors.collect(cdk().propertyValidator("colorFillType",cdk().validateString)(properties.colorFillType)),errors.collect(cdk().propertyValidator("colors",cdk().requiredValidator)(properties.colors)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnAnalysisDataColorPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("nullValueColor",CfnAnalysisDataColorPropertyValidator)(properties.nullValueColor)),errors.wrap('supplied properties not correct for "ColorScaleProperty"')}function convertCfnAnalysisColorScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisColorScalePropertyValidator(properties).assertSuccess(),{ColorFillType:cdk().stringToCloudFormation(properties.colorFillType),Colors:cdk().listMapper(convertCfnAnalysisDataColorPropertyToCloudFormation)(properties.colors),NullValueColor:convertCfnAnalysisDataColorPropertyToCloudFormation(properties.nullValueColor)}):properties}function CfnAnalysisColorScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorFillType","ColorFillType",properties.ColorFillType!=null?cfn_parse().FromCloudFormation.getString(properties.ColorFillType):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDataColorPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("nullValueColor","NullValueColor",properties.NullValueColor!=null?CfnAnalysisDataColorPropertyFromCloudFormation(properties.NullValueColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHeatMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorScale",CfnAnalysisColorScalePropertyValidator)(properties.colorScale)),errors.collect(cdk().propertyValidator("columnLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.columnLabelOptions)),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisHeatMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("rowLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.rowLabelOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisHeatMapSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.wrap('supplied properties not correct for "HeatMapConfigurationProperty"')}function convertCfnAnalysisHeatMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHeatMapConfigurationPropertyValidator(properties).assertSuccess(),{ColorScale:convertCfnAnalysisColorScalePropertyToCloudFormation(properties.colorScale),ColumnLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.columnLabelOptions),DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnAnalysisHeatMapFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),RowLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.rowLabelOptions),SortConfiguration:convertCfnAnalysisHeatMapSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip)}):properties}function CfnAnalysisHeatMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorScale","ColorScale",properties.ColorScale!=null?CfnAnalysisColorScalePropertyFromCloudFormation(properties.ColorScale):void 0),ret.addPropertyResult("columnLabelOptions","ColumnLabelOptions",properties.ColumnLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColumnLabelOptions):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisHeatMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("rowLabelOptions","RowLabelOptions",properties.RowLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.RowLabelOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisHeatMapSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisHeatMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisHeatMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "HeatMapVisualProperty"')}function convertCfnAnalysisHeatMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisHeatMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisHeatMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisHeatMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisHeatMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTreeMapSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("treeMapGroupItemsLimitConfiguration",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.treeMapGroupItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("treeMapSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.treeMapSort)),errors.wrap('supplied properties not correct for "TreeMapSortConfigurationProperty"')}function convertCfnAnalysisTreeMapSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTreeMapSortConfigurationPropertyValidator(properties).assertSuccess(),{TreeMapGroupItemsLimitConfiguration:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.treeMapGroupItemsLimitConfiguration),TreeMapSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.treeMapSort)}):properties}function CfnAnalysisTreeMapSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("treeMapGroupItemsLimitConfiguration","TreeMapGroupItemsLimitConfiguration",properties.TreeMapGroupItemsLimitConfiguration!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.TreeMapGroupItemsLimitConfiguration):void 0),ret.addPropertyResult("treeMapSort","TreeMapSort",properties.TreeMapSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.TreeMapSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTreeMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("groups",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.groups)),errors.collect(cdk().propertyValidator("sizes",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.sizes)),errors.wrap('supplied properties not correct for "TreeMapAggregatedFieldWellsProperty"')}function convertCfnAnalysisTreeMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTreeMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.colors),Groups:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.groups),Sizes:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.sizes)}):properties}function CfnAnalysisTreeMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("groups","Groups",properties.Groups!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Groups):void 0),ret.addPropertyResult("sizes","Sizes",properties.Sizes!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Sizes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTreeMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("treeMapAggregatedFieldWells",CfnAnalysisTreeMapAggregatedFieldWellsPropertyValidator)(properties.treeMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "TreeMapFieldWellsProperty"')}function convertCfnAnalysisTreeMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTreeMapFieldWellsPropertyValidator(properties).assertSuccess(),{TreeMapAggregatedFieldWells:convertCfnAnalysisTreeMapAggregatedFieldWellsPropertyToCloudFormation(properties.treeMapAggregatedFieldWells)}):properties}function CfnAnalysisTreeMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("treeMapAggregatedFieldWells","TreeMapAggregatedFieldWells",properties.TreeMapAggregatedFieldWells!=null?CfnAnalysisTreeMapAggregatedFieldWellsPropertyFromCloudFormation(properties.TreeMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTreeMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("colorScale",CfnAnalysisColorScalePropertyValidator)(properties.colorScale)),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisTreeMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("groupLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.groupLabelOptions)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("sizeLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.sizeLabelOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisTreeMapSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.wrap('supplied properties not correct for "TreeMapConfigurationProperty"')}function convertCfnAnalysisTreeMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTreeMapConfigurationPropertyValidator(properties).assertSuccess(),{ColorLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),ColorScale:convertCfnAnalysisColorScalePropertyToCloudFormation(properties.colorScale),DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnAnalysisTreeMapFieldWellsPropertyToCloudFormation(properties.fieldWells),GroupLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.groupLabelOptions),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),SizeLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.sizeLabelOptions),SortConfiguration:convertCfnAnalysisTreeMapSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip)}):properties}function CfnAnalysisTreeMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("colorScale","ColorScale",properties.ColorScale!=null?CfnAnalysisColorScalePropertyFromCloudFormation(properties.ColorScale):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisTreeMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("groupLabelOptions","GroupLabelOptions",properties.GroupLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.GroupLabelOptions):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("sizeLabelOptions","SizeLabelOptions",properties.SizeLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.SizeLabelOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisTreeMapSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTreeMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisTreeMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "TreeMapVisualProperty"')}function convertCfnAnalysisTreeMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTreeMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisTreeMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisTreeMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisTreeMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisComboChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimit)),errors.collect(cdk().propertyValidator("colorSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.colorSort)),errors.wrap('supplied properties not correct for "ComboChartSortConfigurationProperty"')}function convertCfnAnalysisComboChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisComboChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimit),ColorSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.colorSort)}):properties}function CfnAnalysisComboChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimit","ColorItemsLimit",properties.ColorItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimit):void 0),ret.addPropertyResult("colorSort","ColorSort",properties.ColorSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.ColorSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisComboChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barValues",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.barValues)),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("lineValues",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.lineValues)),errors.wrap('supplied properties not correct for "ComboChartAggregatedFieldWellsProperty"')}function convertCfnAnalysisComboChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisComboChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{BarValues:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.barValues),Category:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.category),Colors:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.colors),LineValues:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.lineValues)}):properties}function CfnAnalysisComboChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barValues","BarValues",properties.BarValues!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.BarValues):void 0),ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("lineValues","LineValues",properties.LineValues!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.LineValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisComboChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comboChartAggregatedFieldWells",CfnAnalysisComboChartAggregatedFieldWellsPropertyValidator)(properties.comboChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "ComboChartFieldWellsProperty"')}function convertCfnAnalysisComboChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisComboChartFieldWellsPropertyValidator(properties).assertSuccess(),{ComboChartAggregatedFieldWells:convertCfnAnalysisComboChartAggregatedFieldWellsPropertyToCloudFormation(properties.comboChartAggregatedFieldWells)}):properties}function CfnAnalysisComboChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comboChartAggregatedFieldWells","ComboChartAggregatedFieldWells",properties.ComboChartAggregatedFieldWells!=null?CfnAnalysisComboChartAggregatedFieldWellsPropertyFromCloudFormation(properties.ComboChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisYAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("yAxis",cdk().requiredValidator)(properties.yAxis)),errors.collect(cdk().propertyValidator("yAxis",cdk().validateString)(properties.yAxis)),errors.wrap('supplied properties not correct for "YAxisOptionsProperty"')}function convertCfnAnalysisYAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisYAxisOptionsPropertyValidator(properties).assertSuccess(),{YAxis:cdk().stringToCloudFormation(properties.yAxis)}):properties}function CfnAnalysisYAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?cfn_parse().FromCloudFormation.getString(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSingleAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("yAxisOptions",CfnAnalysisYAxisOptionsPropertyValidator)(properties.yAxisOptions)),errors.wrap('supplied properties not correct for "SingleAxisOptionsProperty"')}function convertCfnAnalysisSingleAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSingleAxisOptionsPropertyValidator(properties).assertSuccess(),{YAxisOptions:convertCfnAnalysisYAxisOptionsPropertyToCloudFormation(properties.yAxisOptions)}):properties}function CfnAnalysisSingleAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("yAxisOptions","YAxisOptions",properties.YAxisOptions!=null?CfnAnalysisYAxisOptionsPropertyFromCloudFormation(properties.YAxisOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisComboChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barDataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.barDataLabels)),errors.collect(cdk().propertyValidator("barsArrangement",cdk().validateString)(properties.barsArrangement)),errors.collect(cdk().propertyValidator("categoryAxis",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisComboChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("lineDataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.lineDataLabels)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnAnalysisReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("secondaryYAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.secondaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("secondaryYAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.secondaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("singleAxisOptions",CfnAnalysisSingleAxisOptionsPropertyValidator)(properties.singleAxisOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisComboChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "ComboChartConfigurationProperty"')}function convertCfnAnalysisComboChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisComboChartConfigurationPropertyValidator(properties).assertSuccess(),{BarDataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.barDataLabels),BarsArrangement:cdk().stringToCloudFormation(properties.barsArrangement),CategoryAxis:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ColorLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),FieldWells:convertCfnAnalysisComboChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),LineDataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.lineDataLabels),PrimaryYAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),ReferenceLines:cdk().listMapper(convertCfnAnalysisReferenceLinePropertyToCloudFormation)(properties.referenceLines),SecondaryYAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.secondaryYAxisDisplayOptions),SecondaryYAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.secondaryYAxisLabelOptions),SingleAxisOptions:convertCfnAnalysisSingleAxisOptionsPropertyToCloudFormation(properties.singleAxisOptions),SortConfiguration:convertCfnAnalysisComboChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnAnalysisComboChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barDataLabels","BarDataLabels",properties.BarDataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.BarDataLabels):void 0),ret.addPropertyResult("barsArrangement","BarsArrangement",properties.BarsArrangement!=null?cfn_parse().FromCloudFormation.getString(properties.BarsArrangement):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisComboChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("lineDataLabels","LineDataLabels",properties.LineDataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.LineDataLabels):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("secondaryYAxisDisplayOptions","SecondaryYAxisDisplayOptions",properties.SecondaryYAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.SecondaryYAxisDisplayOptions):void 0),ret.addPropertyResult("secondaryYAxisLabelOptions","SecondaryYAxisLabelOptions",properties.SecondaryYAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.SecondaryYAxisLabelOptions):void 0),ret.addPropertyResult("singleAxisOptions","SingleAxisOptions",properties.SingleAxisOptions!=null?CfnAnalysisSingleAxisOptionsPropertyFromCloudFormation(properties.SingleAxisOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisComboChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisComboChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisComboChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "ComboChartVisualProperty"')}function convertCfnAnalysisComboChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisComboChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisComboChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisComboChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisComboChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWordCloudSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "WordCloudSortConfigurationProperty"')}function convertCfnAnalysisWordCloudSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWordCloudSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnAnalysisWordCloudSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWordCloudAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("size",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.size)),errors.wrap('supplied properties not correct for "WordCloudAggregatedFieldWellsProperty"')}function convertCfnAnalysisWordCloudAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWordCloudAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{GroupBy:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.groupBy),Size:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.size)}):properties}function CfnAnalysisWordCloudAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Size):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWordCloudFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("wordCloudAggregatedFieldWells",CfnAnalysisWordCloudAggregatedFieldWellsPropertyValidator)(properties.wordCloudAggregatedFieldWells)),errors.wrap('supplied properties not correct for "WordCloudFieldWellsProperty"')}function convertCfnAnalysisWordCloudFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWordCloudFieldWellsPropertyValidator(properties).assertSuccess(),{WordCloudAggregatedFieldWells:convertCfnAnalysisWordCloudAggregatedFieldWellsPropertyToCloudFormation(properties.wordCloudAggregatedFieldWells)}):properties}function CfnAnalysisWordCloudFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("wordCloudAggregatedFieldWells","WordCloudAggregatedFieldWells",properties.WordCloudAggregatedFieldWells!=null?CfnAnalysisWordCloudAggregatedFieldWellsPropertyFromCloudFormation(properties.WordCloudAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWordCloudOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cloudLayout",cdk().validateString)(properties.cloudLayout)),errors.collect(cdk().propertyValidator("maximumStringLength",cdk().validateNumber)(properties.maximumStringLength)),errors.collect(cdk().propertyValidator("wordCasing",cdk().validateString)(properties.wordCasing)),errors.collect(cdk().propertyValidator("wordOrientation",cdk().validateString)(properties.wordOrientation)),errors.collect(cdk().propertyValidator("wordPadding",cdk().validateString)(properties.wordPadding)),errors.collect(cdk().propertyValidator("wordScaling",cdk().validateString)(properties.wordScaling)),errors.wrap('supplied properties not correct for "WordCloudOptionsProperty"')}function convertCfnAnalysisWordCloudOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWordCloudOptionsPropertyValidator(properties).assertSuccess(),{CloudLayout:cdk().stringToCloudFormation(properties.cloudLayout),MaximumStringLength:cdk().numberToCloudFormation(properties.maximumStringLength),WordCasing:cdk().stringToCloudFormation(properties.wordCasing),WordOrientation:cdk().stringToCloudFormation(properties.wordOrientation),WordPadding:cdk().stringToCloudFormation(properties.wordPadding),WordScaling:cdk().stringToCloudFormation(properties.wordScaling)}):properties}function CfnAnalysisWordCloudOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudLayout","CloudLayout",properties.CloudLayout!=null?cfn_parse().FromCloudFormation.getString(properties.CloudLayout):void 0),ret.addPropertyResult("maximumStringLength","MaximumStringLength",properties.MaximumStringLength!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumStringLength):void 0),ret.addPropertyResult("wordCasing","WordCasing",properties.WordCasing!=null?cfn_parse().FromCloudFormation.getString(properties.WordCasing):void 0),ret.addPropertyResult("wordOrientation","WordOrientation",properties.WordOrientation!=null?cfn_parse().FromCloudFormation.getString(properties.WordOrientation):void 0),ret.addPropertyResult("wordPadding","WordPadding",properties.WordPadding!=null?cfn_parse().FromCloudFormation.getString(properties.WordPadding):void 0),ret.addPropertyResult("wordScaling","WordScaling",properties.WordScaling!=null?cfn_parse().FromCloudFormation.getString(properties.WordScaling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWordCloudChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisWordCloudFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisWordCloudSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("wordCloudOptions",CfnAnalysisWordCloudOptionsPropertyValidator)(properties.wordCloudOptions)),errors.wrap('supplied properties not correct for "WordCloudChartConfigurationProperty"')}function convertCfnAnalysisWordCloudChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWordCloudChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),FieldWells:convertCfnAnalysisWordCloudFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),SortConfiguration:convertCfnAnalysisWordCloudSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),WordCloudOptions:convertCfnAnalysisWordCloudOptionsPropertyToCloudFormation(properties.wordCloudOptions)}):properties}function CfnAnalysisWordCloudChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisWordCloudFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisWordCloudSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("wordCloudOptions","WordCloudOptions",properties.WordCloudOptions!=null?CfnAnalysisWordCloudOptionsPropertyFromCloudFormation(properties.WordCloudOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWordCloudVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisWordCloudChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "WordCloudVisualProperty"')}function convertCfnAnalysisWordCloudVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWordCloudVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisWordCloudChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisWordCloudVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisWordCloudChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPeriodToDateComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("periodTimeGranularity",cdk().validateString)(properties.periodTimeGranularity)),errors.collect(cdk().propertyValidator("time",CfnAnalysisDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("value",CfnAnalysisMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "PeriodToDateComputationProperty"')}function convertCfnAnalysisPeriodToDateComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPeriodToDateComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),PeriodTimeGranularity:cdk().stringToCloudFormation(properties.periodTimeGranularity),Time:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.time),Value:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnAnalysisPeriodToDateComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("periodTimeGranularity","PeriodTimeGranularity",properties.PeriodTimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.PeriodTimeGranularity):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGrowthRateComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("periodSize",cdk().validateNumber)(properties.periodSize)),errors.collect(cdk().propertyValidator("time",CfnAnalysisDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("value",CfnAnalysisMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "GrowthRateComputationProperty"')}function convertCfnAnalysisGrowthRateComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGrowthRateComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),PeriodSize:cdk().numberToCloudFormation(properties.periodSize),Time:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.time),Value:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnAnalysisGrowthRateComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("periodSize","PeriodSize",properties.PeriodSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodSize):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTopBottomRankedComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",CfnAnalysisDimensionFieldPropertyValidator)(properties.category)),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resultSize",cdk().validateNumber)(properties.resultSize)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",CfnAnalysisMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "TopBottomRankedComputationProperty"')}function convertCfnAnalysisTopBottomRankedComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTopBottomRankedComputationPropertyValidator(properties).assertSuccess(),{Category:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.category),ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),ResultSize:cdk().numberToCloudFormation(properties.resultSize),Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnAnalysisTopBottomRankedComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Category):void 0),ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("resultSize","ResultSize",properties.ResultSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.ResultSize):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTotalAggregationComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",CfnAnalysisMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "TotalAggregationComputationProperty"')}function convertCfnAnalysisTotalAggregationComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTotalAggregationComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),Value:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnAnalysisTotalAggregationComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisForecastComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("customSeasonalityValue",cdk().validateNumber)(properties.customSeasonalityValue)),errors.collect(cdk().propertyValidator("lowerBoundary",cdk().validateNumber)(properties.lowerBoundary)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("periodsBackward",cdk().validateNumber)(properties.periodsBackward)),errors.collect(cdk().propertyValidator("periodsForward",cdk().validateNumber)(properties.periodsForward)),errors.collect(cdk().propertyValidator("predictionInterval",cdk().validateNumber)(properties.predictionInterval)),errors.collect(cdk().propertyValidator("seasonality",cdk().validateString)(properties.seasonality)),errors.collect(cdk().propertyValidator("time",CfnAnalysisDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("upperBoundary",cdk().validateNumber)(properties.upperBoundary)),errors.collect(cdk().propertyValidator("value",CfnAnalysisMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "ForecastComputationProperty"')}function convertCfnAnalysisForecastComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisForecastComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),CustomSeasonalityValue:cdk().numberToCloudFormation(properties.customSeasonalityValue),LowerBoundary:cdk().numberToCloudFormation(properties.lowerBoundary),Name:cdk().stringToCloudFormation(properties.name),PeriodsBackward:cdk().numberToCloudFormation(properties.periodsBackward),PeriodsForward:cdk().numberToCloudFormation(properties.periodsForward),PredictionInterval:cdk().numberToCloudFormation(properties.predictionInterval),Seasonality:cdk().stringToCloudFormation(properties.seasonality),Time:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.time),UpperBoundary:cdk().numberToCloudFormation(properties.upperBoundary),Value:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnAnalysisForecastComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("customSeasonalityValue","CustomSeasonalityValue",properties.CustomSeasonalityValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.CustomSeasonalityValue):void 0),ret.addPropertyResult("lowerBoundary","LowerBoundary",properties.LowerBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.LowerBoundary):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("periodsBackward","PeriodsBackward",properties.PeriodsBackward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsBackward):void 0),ret.addPropertyResult("periodsForward","PeriodsForward",properties.PeriodsForward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsForward):void 0),ret.addPropertyResult("predictionInterval","PredictionInterval",properties.PredictionInterval!=null?cfn_parse().FromCloudFormation.getNumber(properties.PredictionInterval):void 0),ret.addPropertyResult("seasonality","Seasonality",properties.Seasonality!=null?cfn_parse().FromCloudFormation.getString(properties.Seasonality):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("upperBoundary","UpperBoundary",properties.UpperBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.UpperBoundary):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisMaximumMinimumComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("time",CfnAnalysisDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",CfnAnalysisMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "MaximumMinimumComputationProperty"')}function convertCfnAnalysisMaximumMinimumComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisMaximumMinimumComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),Time:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.time),Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnAnalysisMaximumMinimumComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPeriodOverPeriodComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("time",CfnAnalysisDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("value",CfnAnalysisMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "PeriodOverPeriodComputationProperty"')}function convertCfnAnalysisPeriodOverPeriodComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPeriodOverPeriodComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),Time:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.time),Value:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnAnalysisPeriodOverPeriodComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisMetricComparisonComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("fromValue",CfnAnalysisMeasureFieldPropertyValidator)(properties.fromValue)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("targetValue",CfnAnalysisMeasureFieldPropertyValidator)(properties.targetValue)),errors.collect(cdk().propertyValidator("time",CfnAnalysisDimensionFieldPropertyValidator)(properties.time)),errors.wrap('supplied properties not correct for "MetricComparisonComputationProperty"')}function convertCfnAnalysisMetricComparisonComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisMetricComparisonComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),FromValue:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.fromValue),Name:cdk().stringToCloudFormation(properties.name),TargetValue:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.targetValue),Time:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.time)}):properties}function CfnAnalysisMetricComparisonComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("fromValue","FromValue",properties.FromValue!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.FromValue):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("targetValue","TargetValue",properties.TargetValue!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.TargetValue):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTopBottomMoversComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",CfnAnalysisDimensionFieldPropertyValidator)(properties.category)),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("moverSize",cdk().validateNumber)(properties.moverSize)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sortOrder",cdk().validateString)(properties.sortOrder)),errors.collect(cdk().propertyValidator("time",CfnAnalysisDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",CfnAnalysisMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "TopBottomMoversComputationProperty"')}function convertCfnAnalysisTopBottomMoversComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTopBottomMoversComputationPropertyValidator(properties).assertSuccess(),{Category:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.category),ComputationId:cdk().stringToCloudFormation(properties.computationId),MoverSize:cdk().numberToCloudFormation(properties.moverSize),Name:cdk().stringToCloudFormation(properties.name),SortOrder:cdk().stringToCloudFormation(properties.sortOrder),Time:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.time),Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnAnalysisMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnAnalysisTopBottomMoversComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Category):void 0),ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("moverSize","MoverSize",properties.MoverSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MoverSize):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("sortOrder","SortOrder",properties.SortOrder!=null?cfn_parse().FromCloudFormation.getString(properties.SortOrder):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnAnalysisMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisUniqueValuesComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",CfnAnalysisDimensionFieldPropertyValidator)(properties.category)),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "UniqueValuesComputationProperty"')}function convertCfnAnalysisUniqueValuesComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisUniqueValuesComputationPropertyValidator(properties).assertSuccess(),{Category:convertCfnAnalysisDimensionFieldPropertyToCloudFormation(properties.category),ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnAnalysisUniqueValuesComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?CfnAnalysisDimensionFieldPropertyFromCloudFormation(properties.Category):void 0),ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("forecast",CfnAnalysisForecastComputationPropertyValidator)(properties.forecast)),errors.collect(cdk().propertyValidator("growthRate",CfnAnalysisGrowthRateComputationPropertyValidator)(properties.growthRate)),errors.collect(cdk().propertyValidator("maximumMinimum",CfnAnalysisMaximumMinimumComputationPropertyValidator)(properties.maximumMinimum)),errors.collect(cdk().propertyValidator("metricComparison",CfnAnalysisMetricComparisonComputationPropertyValidator)(properties.metricComparison)),errors.collect(cdk().propertyValidator("periodOverPeriod",CfnAnalysisPeriodOverPeriodComputationPropertyValidator)(properties.periodOverPeriod)),errors.collect(cdk().propertyValidator("periodToDate",CfnAnalysisPeriodToDateComputationPropertyValidator)(properties.periodToDate)),errors.collect(cdk().propertyValidator("topBottomMovers",CfnAnalysisTopBottomMoversComputationPropertyValidator)(properties.topBottomMovers)),errors.collect(cdk().propertyValidator("topBottomRanked",CfnAnalysisTopBottomRankedComputationPropertyValidator)(properties.topBottomRanked)),errors.collect(cdk().propertyValidator("totalAggregation",CfnAnalysisTotalAggregationComputationPropertyValidator)(properties.totalAggregation)),errors.collect(cdk().propertyValidator("uniqueValues",CfnAnalysisUniqueValuesComputationPropertyValidator)(properties.uniqueValues)),errors.wrap('supplied properties not correct for "ComputationProperty"')}function convertCfnAnalysisComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisComputationPropertyValidator(properties).assertSuccess(),{Forecast:convertCfnAnalysisForecastComputationPropertyToCloudFormation(properties.forecast),GrowthRate:convertCfnAnalysisGrowthRateComputationPropertyToCloudFormation(properties.growthRate),MaximumMinimum:convertCfnAnalysisMaximumMinimumComputationPropertyToCloudFormation(properties.maximumMinimum),MetricComparison:convertCfnAnalysisMetricComparisonComputationPropertyToCloudFormation(properties.metricComparison),PeriodOverPeriod:convertCfnAnalysisPeriodOverPeriodComputationPropertyToCloudFormation(properties.periodOverPeriod),PeriodToDate:convertCfnAnalysisPeriodToDateComputationPropertyToCloudFormation(properties.periodToDate),TopBottomMovers:convertCfnAnalysisTopBottomMoversComputationPropertyToCloudFormation(properties.topBottomMovers),TopBottomRanked:convertCfnAnalysisTopBottomRankedComputationPropertyToCloudFormation(properties.topBottomRanked),TotalAggregation:convertCfnAnalysisTotalAggregationComputationPropertyToCloudFormation(properties.totalAggregation),UniqueValues:convertCfnAnalysisUniqueValuesComputationPropertyToCloudFormation(properties.uniqueValues)}):properties}function CfnAnalysisComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("forecast","Forecast",properties.Forecast!=null?CfnAnalysisForecastComputationPropertyFromCloudFormation(properties.Forecast):void 0),ret.addPropertyResult("growthRate","GrowthRate",properties.GrowthRate!=null?CfnAnalysisGrowthRateComputationPropertyFromCloudFormation(properties.GrowthRate):void 0),ret.addPropertyResult("maximumMinimum","MaximumMinimum",properties.MaximumMinimum!=null?CfnAnalysisMaximumMinimumComputationPropertyFromCloudFormation(properties.MaximumMinimum):void 0),ret.addPropertyResult("metricComparison","MetricComparison",properties.MetricComparison!=null?CfnAnalysisMetricComparisonComputationPropertyFromCloudFormation(properties.MetricComparison):void 0),ret.addPropertyResult("periodOverPeriod","PeriodOverPeriod",properties.PeriodOverPeriod!=null?CfnAnalysisPeriodOverPeriodComputationPropertyFromCloudFormation(properties.PeriodOverPeriod):void 0),ret.addPropertyResult("periodToDate","PeriodToDate",properties.PeriodToDate!=null?CfnAnalysisPeriodToDateComputationPropertyFromCloudFormation(properties.PeriodToDate):void 0),ret.addPropertyResult("topBottomMovers","TopBottomMovers",properties.TopBottomMovers!=null?CfnAnalysisTopBottomMoversComputationPropertyFromCloudFormation(properties.TopBottomMovers):void 0),ret.addPropertyResult("topBottomRanked","TopBottomRanked",properties.TopBottomRanked!=null?CfnAnalysisTopBottomRankedComputationPropertyFromCloudFormation(properties.TopBottomRanked):void 0),ret.addPropertyResult("totalAggregation","TotalAggregation",properties.TotalAggregation!=null?CfnAnalysisTotalAggregationComputationPropertyFromCloudFormation(properties.TotalAggregation):void 0),ret.addPropertyResult("uniqueValues","UniqueValues",properties.UniqueValues!=null?CfnAnalysisUniqueValuesComputationPropertyFromCloudFormation(properties.UniqueValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisCustomNarrativeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("narrative",cdk().requiredValidator)(properties.narrative)),errors.collect(cdk().propertyValidator("narrative",cdk().validateString)(properties.narrative)),errors.wrap('supplied properties not correct for "CustomNarrativeOptionsProperty"')}function convertCfnAnalysisCustomNarrativeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisCustomNarrativeOptionsPropertyValidator(properties).assertSuccess(),{Narrative:cdk().stringToCloudFormation(properties.narrative)}):properties}function CfnAnalysisCustomNarrativeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("narrative","Narrative",properties.Narrative!=null?cfn_parse().FromCloudFormation.getString(properties.Narrative):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisInsightConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computations",cdk().listValidator(CfnAnalysisComputationPropertyValidator))(properties.computations)),errors.collect(cdk().propertyValidator("customNarrative",CfnAnalysisCustomNarrativeOptionsPropertyValidator)(properties.customNarrative)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.wrap('supplied properties not correct for "InsightConfigurationProperty"')}function convertCfnAnalysisInsightConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisInsightConfigurationPropertyValidator(properties).assertSuccess(),{Computations:cdk().listMapper(convertCfnAnalysisComputationPropertyToCloudFormation)(properties.computations),CustomNarrative:convertCfnAnalysisCustomNarrativeOptionsPropertyToCloudFormation(properties.customNarrative),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions)}):properties}function CfnAnalysisInsightConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computations","Computations",properties.Computations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisComputationPropertyFromCloudFormation)(properties.Computations):void 0),ret.addPropertyResult("customNarrative","CustomNarrative",properties.CustomNarrative!=null?CfnAnalysisCustomNarrativeOptionsPropertyFromCloudFormation(properties.CustomNarrative):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisInsightVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("insightConfiguration",CfnAnalysisInsightConfigurationPropertyValidator)(properties.insightConfiguration)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "InsightVisualProperty"')}function convertCfnAnalysisInsightVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisInsightVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),InsightConfiguration:convertCfnAnalysisInsightConfigurationPropertyToCloudFormation(properties.insightConfiguration),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisInsightVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("insightConfiguration","InsightConfiguration",properties.InsightConfiguration!=null?CfnAnalysisInsightConfigurationPropertyFromCloudFormation(properties.InsightConfiguration):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSankeyDiagramSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.destinationItemsLimit)),errors.collect(cdk().propertyValidator("sourceItemsLimit",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.sourceItemsLimit)),errors.collect(cdk().propertyValidator("weightSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.weightSort)),errors.wrap('supplied properties not correct for "SankeyDiagramSortConfigurationProperty"')}function convertCfnAnalysisSankeyDiagramSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSankeyDiagramSortConfigurationPropertyValidator(properties).assertSuccess(),{DestinationItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.destinationItemsLimit),SourceItemsLimit:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.sourceItemsLimit),WeightSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.weightSort)}):properties}function CfnAnalysisSankeyDiagramSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationItemsLimit","DestinationItemsLimit",properties.DestinationItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.DestinationItemsLimit):void 0),ret.addPropertyResult("sourceItemsLimit","SourceItemsLimit",properties.SourceItemsLimit!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.SourceItemsLimit):void 0),ret.addPropertyResult("weightSort","WeightSort",properties.WeightSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.WeightSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSankeyDiagramAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destination",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.destination)),errors.collect(cdk().propertyValidator("source",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.source)),errors.collect(cdk().propertyValidator("weight",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.weight)),errors.wrap('supplied properties not correct for "SankeyDiagramAggregatedFieldWellsProperty"')}function convertCfnAnalysisSankeyDiagramAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSankeyDiagramAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Destination:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.destination),Source:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.source),Weight:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.weight)}):properties}function CfnAnalysisSankeyDiagramAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",properties.Destination!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Destination):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Source):void 0),ret.addPropertyResult("weight","Weight",properties.Weight!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Weight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSankeyDiagramFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sankeyDiagramAggregatedFieldWells",CfnAnalysisSankeyDiagramAggregatedFieldWellsPropertyValidator)(properties.sankeyDiagramAggregatedFieldWells)),errors.wrap('supplied properties not correct for "SankeyDiagramFieldWellsProperty"')}function convertCfnAnalysisSankeyDiagramFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSankeyDiagramFieldWellsPropertyValidator(properties).assertSuccess(),{SankeyDiagramAggregatedFieldWells:convertCfnAnalysisSankeyDiagramAggregatedFieldWellsPropertyToCloudFormation(properties.sankeyDiagramAggregatedFieldWells)}):properties}function CfnAnalysisSankeyDiagramFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sankeyDiagramAggregatedFieldWells","SankeyDiagramAggregatedFieldWells",properties.SankeyDiagramAggregatedFieldWells!=null?CfnAnalysisSankeyDiagramAggregatedFieldWellsPropertyFromCloudFormation(properties.SankeyDiagramAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSankeyDiagramChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisSankeyDiagramFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisSankeyDiagramSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.wrap('supplied properties not correct for "SankeyDiagramChartConfigurationProperty"')}function convertCfnAnalysisSankeyDiagramChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSankeyDiagramChartConfigurationPropertyValidator(properties).assertSuccess(),{DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnAnalysisSankeyDiagramFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),SortConfiguration:convertCfnAnalysisSankeyDiagramSortConfigurationPropertyToCloudFormation(properties.sortConfiguration)}):properties}function CfnAnalysisSankeyDiagramChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisSankeyDiagramFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisSankeyDiagramSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSankeyDiagramVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisSankeyDiagramChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "SankeyDiagramVisualProperty"')}function convertCfnAnalysisSankeyDiagramVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSankeyDiagramVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisSankeyDiagramChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisSankeyDiagramVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisSankeyDiagramChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGaugeChartArcConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("foregroundColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.foregroundColor)),errors.wrap('supplied properties not correct for "GaugeChartArcConditionalFormattingProperty"')}function convertCfnAnalysisGaugeChartArcConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGaugeChartArcConditionalFormattingPropertyValidator(properties).assertSuccess(),{ForegroundColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.foregroundColor)}):properties}function CfnAnalysisGaugeChartArcConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("foregroundColor","ForegroundColor",properties.ForegroundColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.ForegroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGaugeChartPrimaryValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnAnalysisConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnAnalysisConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "GaugeChartPrimaryValueConditionalFormattingProperty"')}function convertCfnAnalysisGaugeChartPrimaryValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGaugeChartPrimaryValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnAnalysisConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnAnalysisConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnAnalysisGaugeChartPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnAnalysisConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnAnalysisConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGaugeChartConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arc",CfnAnalysisGaugeChartArcConditionalFormattingPropertyValidator)(properties.arc)),errors.collect(cdk().propertyValidator("primaryValue",CfnAnalysisGaugeChartPrimaryValueConditionalFormattingPropertyValidator)(properties.primaryValue)),errors.wrap('supplied properties not correct for "GaugeChartConditionalFormattingOptionProperty"')}function convertCfnAnalysisGaugeChartConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGaugeChartConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Arc:convertCfnAnalysisGaugeChartArcConditionalFormattingPropertyToCloudFormation(properties.arc),PrimaryValue:convertCfnAnalysisGaugeChartPrimaryValueConditionalFormattingPropertyToCloudFormation(properties.primaryValue)}):properties}function CfnAnalysisGaugeChartConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arc","Arc",properties.Arc!=null?CfnAnalysisGaugeChartArcConditionalFormattingPropertyFromCloudFormation(properties.Arc):void 0),ret.addPropertyResult("primaryValue","PrimaryValue",properties.PrimaryValue!=null?CfnAnalysisGaugeChartPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties.PrimaryValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGaugeChartConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnAnalysisGaugeChartConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "GaugeChartConditionalFormattingProperty"')}function convertCfnAnalysisGaugeChartConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGaugeChartConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnAnalysisGaugeChartConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnAnalysisGaugeChartConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisGaugeChartConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGaugeChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetValues",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.targetValues)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "GaugeChartFieldWellsProperty"')}function convertCfnAnalysisGaugeChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGaugeChartFieldWellsPropertyValidator(properties).assertSuccess(),{TargetValues:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.targetValues),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisGaugeChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetValues","TargetValues",properties.TargetValues!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.TargetValues):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisArcConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcAngle",cdk().validateNumber)(properties.arcAngle)),errors.collect(cdk().propertyValidator("arcThickness",cdk().validateString)(properties.arcThickness)),errors.wrap('supplied properties not correct for "ArcConfigurationProperty"')}function convertCfnAnalysisArcConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisArcConfigurationPropertyValidator(properties).assertSuccess(),{ArcAngle:cdk().numberToCloudFormation(properties.arcAngle),ArcThickness:cdk().stringToCloudFormation(properties.arcThickness)}):properties}function CfnAnalysisArcConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcAngle","ArcAngle",properties.ArcAngle!=null?cfn_parse().FromCloudFormation.getNumber(properties.ArcAngle):void 0),ret.addPropertyResult("arcThickness","ArcThickness",properties.ArcThickness!=null?cfn_parse().FromCloudFormation.getString(properties.ArcThickness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisArcAxisDisplayRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "ArcAxisDisplayRangeProperty"')}function convertCfnAnalysisArcAxisDisplayRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisArcAxisDisplayRangePropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAnalysisArcAxisDisplayRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisArcAxisConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("range",CfnAnalysisArcAxisDisplayRangePropertyValidator)(properties.range)),errors.collect(cdk().propertyValidator("reserveRange",cdk().validateNumber)(properties.reserveRange)),errors.wrap('supplied properties not correct for "ArcAxisConfigurationProperty"')}function convertCfnAnalysisArcAxisConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisArcAxisConfigurationPropertyValidator(properties).assertSuccess(),{Range:convertCfnAnalysisArcAxisDisplayRangePropertyToCloudFormation(properties.range),ReserveRange:cdk().numberToCloudFormation(properties.reserveRange)}):properties}function CfnAnalysisArcAxisConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("range","Range",properties.Range!=null?CfnAnalysisArcAxisDisplayRangePropertyFromCloudFormation(properties.Range):void 0),ret.addPropertyResult("reserveRange","ReserveRange",properties.ReserveRange!=null?cfn_parse().FromCloudFormation.getNumber(properties.ReserveRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGaugeChartOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arc",CfnAnalysisArcConfigurationPropertyValidator)(properties.arc)),errors.collect(cdk().propertyValidator("arcAxis",CfnAnalysisArcAxisConfigurationPropertyValidator)(properties.arcAxis)),errors.collect(cdk().propertyValidator("comparison",CfnAnalysisComparisonConfigurationPropertyValidator)(properties.comparison)),errors.collect(cdk().propertyValidator("primaryValueDisplayType",cdk().validateString)(properties.primaryValueDisplayType)),errors.collect(cdk().propertyValidator("primaryValueFontConfiguration",CfnAnalysisFontConfigurationPropertyValidator)(properties.primaryValueFontConfiguration)),errors.wrap('supplied properties not correct for "GaugeChartOptionsProperty"')}function convertCfnAnalysisGaugeChartOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGaugeChartOptionsPropertyValidator(properties).assertSuccess(),{Arc:convertCfnAnalysisArcConfigurationPropertyToCloudFormation(properties.arc),ArcAxis:convertCfnAnalysisArcAxisConfigurationPropertyToCloudFormation(properties.arcAxis),Comparison:convertCfnAnalysisComparisonConfigurationPropertyToCloudFormation(properties.comparison),PrimaryValueDisplayType:cdk().stringToCloudFormation(properties.primaryValueDisplayType),PrimaryValueFontConfiguration:convertCfnAnalysisFontConfigurationPropertyToCloudFormation(properties.primaryValueFontConfiguration)}):properties}function CfnAnalysisGaugeChartOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arc","Arc",properties.Arc!=null?CfnAnalysisArcConfigurationPropertyFromCloudFormation(properties.Arc):void 0),ret.addPropertyResult("arcAxis","ArcAxis",properties.ArcAxis!=null?CfnAnalysisArcAxisConfigurationPropertyFromCloudFormation(properties.ArcAxis):void 0),ret.addPropertyResult("comparison","Comparison",properties.Comparison!=null?CfnAnalysisComparisonConfigurationPropertyFromCloudFormation(properties.Comparison):void 0),ret.addPropertyResult("primaryValueDisplayType","PrimaryValueDisplayType",properties.PrimaryValueDisplayType!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryValueDisplayType):void 0),ret.addPropertyResult("primaryValueFontConfiguration","PrimaryValueFontConfiguration",properties.PrimaryValueFontConfiguration!=null?CfnAnalysisFontConfigurationPropertyFromCloudFormation(properties.PrimaryValueFontConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGaugeChartColorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("foregroundColor",cdk().validateString)(properties.foregroundColor)),errors.wrap('supplied properties not correct for "GaugeChartColorConfigurationProperty"')}function convertCfnAnalysisGaugeChartColorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGaugeChartColorConfigurationPropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),ForegroundColor:cdk().stringToCloudFormation(properties.foregroundColor)}):properties}function CfnAnalysisGaugeChartColorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("foregroundColor","ForegroundColor",properties.ForegroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.ForegroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGaugeChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorConfiguration",CfnAnalysisGaugeChartColorConfigurationPropertyValidator)(properties.colorConfiguration)),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisGaugeChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("gaugeChartOptions",CfnAnalysisGaugeChartOptionsPropertyValidator)(properties.gaugeChartOptions)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("tooltipOptions",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltipOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "GaugeChartConfigurationProperty"')}function convertCfnAnalysisGaugeChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGaugeChartConfigurationPropertyValidator(properties).assertSuccess(),{ColorConfiguration:convertCfnAnalysisGaugeChartColorConfigurationPropertyToCloudFormation(properties.colorConfiguration),DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnAnalysisGaugeChartFieldWellsPropertyToCloudFormation(properties.fieldWells),GaugeChartOptions:convertCfnAnalysisGaugeChartOptionsPropertyToCloudFormation(properties.gaugeChartOptions),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),TooltipOptions:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltipOptions),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnAnalysisGaugeChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorConfiguration","ColorConfiguration",properties.ColorConfiguration!=null?CfnAnalysisGaugeChartColorConfigurationPropertyFromCloudFormation(properties.ColorConfiguration):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisGaugeChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("gaugeChartOptions","GaugeChartOptions",properties.GaugeChartOptions!=null?CfnAnalysisGaugeChartOptionsPropertyFromCloudFormation(properties.GaugeChartOptions):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("tooltipOptions","TooltipOptions",properties.TooltipOptions!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.TooltipOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGaugeChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisGaugeChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnAnalysisGaugeChartConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "GaugeChartVisualProperty"')}function convertCfnAnalysisGaugeChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGaugeChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisGaugeChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ConditionalFormatting:convertCfnAnalysisGaugeChartConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisGaugeChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisGaugeChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnAnalysisGaugeChartConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimitConfiguration",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimitConfiguration",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesLimitConfiguration",CfnAnalysisItemsLimitConfigurationPropertyValidator)(properties.smallMultiplesLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.smallMultiplesSort)),errors.wrap('supplied properties not correct for "LineChartSortConfigurationProperty"')}function convertCfnAnalysisLineChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimitConfiguration:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimitConfiguration),CategorySort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimitConfiguration:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimitConfiguration),SmallMultiplesLimitConfiguration:convertCfnAnalysisItemsLimitConfigurationPropertyToCloudFormation(properties.smallMultiplesLimitConfiguration),SmallMultiplesSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.smallMultiplesSort)}):properties}function CfnAnalysisLineChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimitConfiguration","CategoryItemsLimitConfiguration",properties.CategoryItemsLimitConfiguration!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimitConfiguration):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimitConfiguration","ColorItemsLimitConfiguration",properties.ColorItemsLimitConfiguration!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesLimitConfiguration","SmallMultiplesLimitConfiguration",properties.SmallMultiplesLimitConfiguration!=null?CfnAnalysisItemsLimitConfigurationPropertyFromCloudFormation(properties.SmallMultiplesLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesSort","SmallMultiplesSort",properties.SmallMultiplesSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.SmallMultiplesSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisMissingDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("treatmentOption",cdk().validateString)(properties.treatmentOption)),errors.wrap('supplied properties not correct for "MissingDataConfigurationProperty"')}function convertCfnAnalysisMissingDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisMissingDataConfigurationPropertyValidator(properties).assertSuccess(),{TreatmentOption:cdk().stringToCloudFormation(properties.treatmentOption)}):properties}function CfnAnalysisMissingDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("treatmentOption","TreatmentOption",properties.TreatmentOption!=null?cfn_parse().FromCloudFormation.getString(properties.TreatmentOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineSeriesAxisDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.axisOptions)),errors.collect(cdk().propertyValidator("missingDataConfigurations",cdk().listValidator(CfnAnalysisMissingDataConfigurationPropertyValidator))(properties.missingDataConfigurations)),errors.wrap('supplied properties not correct for "LineSeriesAxisDisplayOptionsProperty"')}function convertCfnAnalysisLineSeriesAxisDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineSeriesAxisDisplayOptionsPropertyValidator(properties).assertSuccess(),{AxisOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.axisOptions),MissingDataConfigurations:cdk().listMapper(convertCfnAnalysisMissingDataConfigurationPropertyToCloudFormation)(properties.missingDataConfigurations)}):properties}function CfnAnalysisLineSeriesAxisDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisOptions","AxisOptions",properties.AxisOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.AxisOptions):void 0),ret.addPropertyResult("missingDataConfigurations","MissingDataConfigurations",properties.MissingDataConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMissingDataConfigurationPropertyFromCloudFormation)(properties.MissingDataConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineChartLineStyleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineInterpolation",cdk().validateString)(properties.lineInterpolation)),errors.collect(cdk().propertyValidator("lineStyle",cdk().validateString)(properties.lineStyle)),errors.collect(cdk().propertyValidator("lineVisibility",cdk().validateString)(properties.lineVisibility)),errors.collect(cdk().propertyValidator("lineWidth",cdk().validateString)(properties.lineWidth)),errors.wrap('supplied properties not correct for "LineChartLineStyleSettingsProperty"')}function convertCfnAnalysisLineChartLineStyleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineChartLineStyleSettingsPropertyValidator(properties).assertSuccess(),{LineInterpolation:cdk().stringToCloudFormation(properties.lineInterpolation),LineStyle:cdk().stringToCloudFormation(properties.lineStyle),LineVisibility:cdk().stringToCloudFormation(properties.lineVisibility),LineWidth:cdk().stringToCloudFormation(properties.lineWidth)}):properties}function CfnAnalysisLineChartLineStyleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineInterpolation","LineInterpolation",properties.LineInterpolation!=null?cfn_parse().FromCloudFormation.getString(properties.LineInterpolation):void 0),ret.addPropertyResult("lineStyle","LineStyle",properties.LineStyle!=null?cfn_parse().FromCloudFormation.getString(properties.LineStyle):void 0),ret.addPropertyResult("lineVisibility","LineVisibility",properties.LineVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.LineVisibility):void 0),ret.addPropertyResult("lineWidth","LineWidth",properties.LineWidth!=null?cfn_parse().FromCloudFormation.getString(properties.LineWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineChartMarkerStyleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("markerColor",cdk().validateString)(properties.markerColor)),errors.collect(cdk().propertyValidator("markerShape",cdk().validateString)(properties.markerShape)),errors.collect(cdk().propertyValidator("markerSize",cdk().validateString)(properties.markerSize)),errors.collect(cdk().propertyValidator("markerVisibility",cdk().validateString)(properties.markerVisibility)),errors.wrap('supplied properties not correct for "LineChartMarkerStyleSettingsProperty"')}function convertCfnAnalysisLineChartMarkerStyleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineChartMarkerStyleSettingsPropertyValidator(properties).assertSuccess(),{MarkerColor:cdk().stringToCloudFormation(properties.markerColor),MarkerShape:cdk().stringToCloudFormation(properties.markerShape),MarkerSize:cdk().stringToCloudFormation(properties.markerSize),MarkerVisibility:cdk().stringToCloudFormation(properties.markerVisibility)}):properties}function CfnAnalysisLineChartMarkerStyleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("markerColor","MarkerColor",properties.MarkerColor!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerColor):void 0),ret.addPropertyResult("markerShape","MarkerShape",properties.MarkerShape!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerShape):void 0),ret.addPropertyResult("markerSize","MarkerSize",properties.MarkerSize!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerSize):void 0),ret.addPropertyResult("markerVisibility","MarkerVisibility",properties.MarkerVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineChartDefaultSeriesSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("lineStyleSettings",CfnAnalysisLineChartLineStyleSettingsPropertyValidator)(properties.lineStyleSettings)),errors.collect(cdk().propertyValidator("markerStyleSettings",CfnAnalysisLineChartMarkerStyleSettingsPropertyValidator)(properties.markerStyleSettings)),errors.wrap('supplied properties not correct for "LineChartDefaultSeriesSettingsProperty"')}function convertCfnAnalysisLineChartDefaultSeriesSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineChartDefaultSeriesSettingsPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),LineStyleSettings:convertCfnAnalysisLineChartLineStyleSettingsPropertyToCloudFormation(properties.lineStyleSettings),MarkerStyleSettings:convertCfnAnalysisLineChartMarkerStyleSettingsPropertyToCloudFormation(properties.markerStyleSettings)}):properties}function CfnAnalysisLineChartDefaultSeriesSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("lineStyleSettings","LineStyleSettings",properties.LineStyleSettings!=null?CfnAnalysisLineChartLineStyleSettingsPropertyFromCloudFormation(properties.LineStyleSettings):void 0),ret.addPropertyResult("markerStyleSettings","MarkerStyleSettings",properties.MarkerStyleSettings!=null?CfnAnalysisLineChartMarkerStyleSettingsPropertyFromCloudFormation(properties.MarkerStyleSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisTimeBasedForecastPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lowerBoundary",cdk().validateNumber)(properties.lowerBoundary)),errors.collect(cdk().propertyValidator("periodsBackward",cdk().validateNumber)(properties.periodsBackward)),errors.collect(cdk().propertyValidator("periodsForward",cdk().validateNumber)(properties.periodsForward)),errors.collect(cdk().propertyValidator("predictionInterval",cdk().validateNumber)(properties.predictionInterval)),errors.collect(cdk().propertyValidator("seasonality",cdk().validateNumber)(properties.seasonality)),errors.collect(cdk().propertyValidator("upperBoundary",cdk().validateNumber)(properties.upperBoundary)),errors.wrap('supplied properties not correct for "TimeBasedForecastPropertiesProperty"')}function convertCfnAnalysisTimeBasedForecastPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisTimeBasedForecastPropertiesPropertyValidator(properties).assertSuccess(),{LowerBoundary:cdk().numberToCloudFormation(properties.lowerBoundary),PeriodsBackward:cdk().numberToCloudFormation(properties.periodsBackward),PeriodsForward:cdk().numberToCloudFormation(properties.periodsForward),PredictionInterval:cdk().numberToCloudFormation(properties.predictionInterval),Seasonality:cdk().numberToCloudFormation(properties.seasonality),UpperBoundary:cdk().numberToCloudFormation(properties.upperBoundary)}):properties}function CfnAnalysisTimeBasedForecastPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lowerBoundary","LowerBoundary",properties.LowerBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.LowerBoundary):void 0),ret.addPropertyResult("periodsBackward","PeriodsBackward",properties.PeriodsBackward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsBackward):void 0),ret.addPropertyResult("periodsForward","PeriodsForward",properties.PeriodsForward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsForward):void 0),ret.addPropertyResult("predictionInterval","PredictionInterval",properties.PredictionInterval!=null?cfn_parse().FromCloudFormation.getNumber(properties.PredictionInterval):void 0),ret.addPropertyResult("seasonality","Seasonality",properties.Seasonality!=null?cfn_parse().FromCloudFormation.getNumber(properties.Seasonality):void 0),ret.addPropertyResult("upperBoundary","UpperBoundary",properties.UpperBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.UpperBoundary):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWhatIfRangeScenarioPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("endDate",cdk().requiredValidator)(properties.endDate)),errors.collect(cdk().propertyValidator("endDate",cdk().validateString)(properties.endDate)),errors.collect(cdk().propertyValidator("startDate",cdk().requiredValidator)(properties.startDate)),errors.collect(cdk().propertyValidator("startDate",cdk().validateString)(properties.startDate)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "WhatIfRangeScenarioProperty"')}function convertCfnAnalysisWhatIfRangeScenarioPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWhatIfRangeScenarioPropertyValidator(properties).assertSuccess(),{EndDate:cdk().stringToCloudFormation(properties.endDate),StartDate:cdk().stringToCloudFormation(properties.startDate),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnAnalysisWhatIfRangeScenarioPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("endDate","EndDate",properties.EndDate!=null?cfn_parse().FromCloudFormation.getString(properties.EndDate):void 0),ret.addPropertyResult("startDate","StartDate",properties.StartDate!=null?cfn_parse().FromCloudFormation.getString(properties.StartDate):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisWhatIfPointScenarioPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("date",cdk().requiredValidator)(properties.date)),errors.collect(cdk().propertyValidator("date",cdk().validateString)(properties.date)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "WhatIfPointScenarioProperty"')}function convertCfnAnalysisWhatIfPointScenarioPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisWhatIfPointScenarioPropertyValidator(properties).assertSuccess(),{Date:cdk().stringToCloudFormation(properties.date),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnAnalysisWhatIfPointScenarioPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("date","Date",properties.Date!=null?cfn_parse().FromCloudFormation.getString(properties.Date):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisForecastScenarioPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("whatIfPointScenario",CfnAnalysisWhatIfPointScenarioPropertyValidator)(properties.whatIfPointScenario)),errors.collect(cdk().propertyValidator("whatIfRangeScenario",CfnAnalysisWhatIfRangeScenarioPropertyValidator)(properties.whatIfRangeScenario)),errors.wrap('supplied properties not correct for "ForecastScenarioProperty"')}function convertCfnAnalysisForecastScenarioPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisForecastScenarioPropertyValidator(properties).assertSuccess(),{WhatIfPointScenario:convertCfnAnalysisWhatIfPointScenarioPropertyToCloudFormation(properties.whatIfPointScenario),WhatIfRangeScenario:convertCfnAnalysisWhatIfRangeScenarioPropertyToCloudFormation(properties.whatIfRangeScenario)}):properties}function CfnAnalysisForecastScenarioPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("whatIfPointScenario","WhatIfPointScenario",properties.WhatIfPointScenario!=null?CfnAnalysisWhatIfPointScenarioPropertyFromCloudFormation(properties.WhatIfPointScenario):void 0),ret.addPropertyResult("whatIfRangeScenario","WhatIfRangeScenario",properties.WhatIfRangeScenario!=null?CfnAnalysisWhatIfRangeScenarioPropertyFromCloudFormation(properties.WhatIfRangeScenario):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisForecastConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("forecastProperties",CfnAnalysisTimeBasedForecastPropertiesPropertyValidator)(properties.forecastProperties)),errors.collect(cdk().propertyValidator("scenario",CfnAnalysisForecastScenarioPropertyValidator)(properties.scenario)),errors.wrap('supplied properties not correct for "ForecastConfigurationProperty"')}function convertCfnAnalysisForecastConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisForecastConfigurationPropertyValidator(properties).assertSuccess(),{ForecastProperties:convertCfnAnalysisTimeBasedForecastPropertiesPropertyToCloudFormation(properties.forecastProperties),Scenario:convertCfnAnalysisForecastScenarioPropertyToCloudFormation(properties.scenario)}):properties}function CfnAnalysisForecastConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("forecastProperties","ForecastProperties",properties.ForecastProperties!=null?CfnAnalysisTimeBasedForecastPropertiesPropertyFromCloudFormation(properties.ForecastProperties):void 0),ret.addPropertyResult("scenario","Scenario",properties.Scenario!=null?CfnAnalysisForecastScenarioPropertyFromCloudFormation(properties.Scenario):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineChartSeriesSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineStyleSettings",CfnAnalysisLineChartLineStyleSettingsPropertyValidator)(properties.lineStyleSettings)),errors.collect(cdk().propertyValidator("markerStyleSettings",CfnAnalysisLineChartMarkerStyleSettingsPropertyValidator)(properties.markerStyleSettings)),errors.wrap('supplied properties not correct for "LineChartSeriesSettingsProperty"')}function convertCfnAnalysisLineChartSeriesSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineChartSeriesSettingsPropertyValidator(properties).assertSuccess(),{LineStyleSettings:convertCfnAnalysisLineChartLineStyleSettingsPropertyToCloudFormation(properties.lineStyleSettings),MarkerStyleSettings:convertCfnAnalysisLineChartMarkerStyleSettingsPropertyToCloudFormation(properties.markerStyleSettings)}):properties}function CfnAnalysisLineChartSeriesSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineStyleSettings","LineStyleSettings",properties.LineStyleSettings!=null?CfnAnalysisLineChartLineStyleSettingsPropertyFromCloudFormation(properties.LineStyleSettings):void 0),ret.addPropertyResult("markerStyleSettings","MarkerStyleSettings",properties.MarkerStyleSettings!=null?CfnAnalysisLineChartMarkerStyleSettingsPropertyFromCloudFormation(properties.MarkerStyleSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisFieldSeriesItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().requiredValidator)(properties.axisBinding)),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("settings",CfnAnalysisLineChartSeriesSettingsPropertyValidator)(properties.settings)),errors.wrap('supplied properties not correct for "FieldSeriesItemProperty"')}function convertCfnAnalysisFieldSeriesItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisFieldSeriesItemPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),FieldId:cdk().stringToCloudFormation(properties.fieldId),Settings:convertCfnAnalysisLineChartSeriesSettingsPropertyToCloudFormation(properties.settings)}):properties}function CfnAnalysisFieldSeriesItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("settings","Settings",properties.Settings!=null?CfnAnalysisLineChartSeriesSettingsPropertyFromCloudFormation(properties.Settings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDataFieldSeriesItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().requiredValidator)(properties.axisBinding)),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.collect(cdk().propertyValidator("settings",CfnAnalysisLineChartSeriesSettingsPropertyValidator)(properties.settings)),errors.wrap('supplied properties not correct for "DataFieldSeriesItemProperty"')}function convertCfnAnalysisDataFieldSeriesItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDataFieldSeriesItemPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),FieldId:cdk().stringToCloudFormation(properties.fieldId),FieldValue:cdk().stringToCloudFormation(properties.fieldValue),Settings:convertCfnAnalysisLineChartSeriesSettingsPropertyToCloudFormation(properties.settings)}):properties}function CfnAnalysisDataFieldSeriesItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addPropertyResult("settings","Settings",properties.Settings!=null?CfnAnalysisLineChartSeriesSettingsPropertyFromCloudFormation(properties.Settings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSeriesItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataFieldSeriesItem",CfnAnalysisDataFieldSeriesItemPropertyValidator)(properties.dataFieldSeriesItem)),errors.collect(cdk().propertyValidator("fieldSeriesItem",CfnAnalysisFieldSeriesItemPropertyValidator)(properties.fieldSeriesItem)),errors.wrap('supplied properties not correct for "SeriesItemProperty"')}function convertCfnAnalysisSeriesItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSeriesItemPropertyValidator(properties).assertSuccess(),{DataFieldSeriesItem:convertCfnAnalysisDataFieldSeriesItemPropertyToCloudFormation(properties.dataFieldSeriesItem),FieldSeriesItem:convertCfnAnalysisFieldSeriesItemPropertyToCloudFormation(properties.fieldSeriesItem)}):properties}function CfnAnalysisSeriesItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataFieldSeriesItem","DataFieldSeriesItem",properties.DataFieldSeriesItem!=null?CfnAnalysisDataFieldSeriesItemPropertyFromCloudFormation(properties.DataFieldSeriesItem):void 0),ret.addPropertyResult("fieldSeriesItem","FieldSeriesItem",properties.FieldSeriesItem!=null?CfnAnalysisFieldSeriesItemPropertyFromCloudFormation(properties.FieldSeriesItem):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("smallMultiples",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.smallMultiples)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "LineChartAggregatedFieldWellsProperty"')}function convertCfnAnalysisLineChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.category),Colors:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.colors),SmallMultiples:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.smallMultiples),Values:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnAnalysisLineChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("smallMultiples","SmallMultiples",properties.SmallMultiples!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.SmallMultiples):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineChartAggregatedFieldWells",CfnAnalysisLineChartAggregatedFieldWellsPropertyValidator)(properties.lineChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "LineChartFieldWellsProperty"')}function convertCfnAnalysisLineChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineChartFieldWellsPropertyValidator(properties).assertSuccess(),{LineChartAggregatedFieldWells:convertCfnAnalysisLineChartAggregatedFieldWellsPropertyToCloudFormation(properties.lineChartAggregatedFieldWells)}):properties}function CfnAnalysisLineChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineChartAggregatedFieldWells","LineChartAggregatedFieldWells",properties.LineChartAggregatedFieldWells!=null?CfnAnalysisLineChartAggregatedFieldWellsPropertyFromCloudFormation(properties.LineChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contributionAnalysisDefaults",cdk().listValidator(CfnAnalysisContributionAnalysisDefaultPropertyValidator))(properties.contributionAnalysisDefaults)),errors.collect(cdk().propertyValidator("dataLabels",CfnAnalysisDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("defaultSeriesSettings",CfnAnalysisLineChartDefaultSeriesSettingsPropertyValidator)(properties.defaultSeriesSettings)),errors.collect(cdk().propertyValidator("fieldWells",CfnAnalysisLineChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("forecastConfigurations",cdk().listValidator(CfnAnalysisForecastConfigurationPropertyValidator))(properties.forecastConfigurations)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnAnalysisLineSeriesAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnAnalysisReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("secondaryYAxisDisplayOptions",CfnAnalysisLineSeriesAxisDisplayOptionsPropertyValidator)(properties.secondaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("secondaryYAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.secondaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("series",cdk().listValidator(CfnAnalysisSeriesItemPropertyValidator))(properties.series)),errors.collect(cdk().propertyValidator("singleAxisOptions",CfnAnalysisSingleAxisOptionsPropertyValidator)(properties.singleAxisOptions)),errors.collect(cdk().propertyValidator("smallMultiplesOptions",CfnAnalysisSmallMultiplesOptionsPropertyValidator)(properties.smallMultiplesOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisLineChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("visualPalette",CfnAnalysisVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("xAxisDisplayOptions",CfnAnalysisAxisDisplayOptionsPropertyValidator)(properties.xAxisDisplayOptions)),errors.collect(cdk().propertyValidator("xAxisLabelOptions",CfnAnalysisChartAxisLabelOptionsPropertyValidator)(properties.xAxisLabelOptions)),errors.wrap('supplied properties not correct for "LineChartConfigurationProperty"')}function convertCfnAnalysisLineChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineChartConfigurationPropertyValidator(properties).assertSuccess(),{ContributionAnalysisDefaults:cdk().listMapper(convertCfnAnalysisContributionAnalysisDefaultPropertyToCloudFormation)(properties.contributionAnalysisDefaults),DataLabels:convertCfnAnalysisDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),DefaultSeriesSettings:convertCfnAnalysisLineChartDefaultSeriesSettingsPropertyToCloudFormation(properties.defaultSeriesSettings),FieldWells:convertCfnAnalysisLineChartFieldWellsPropertyToCloudFormation(properties.fieldWells),ForecastConfigurations:cdk().listMapper(convertCfnAnalysisForecastConfigurationPropertyToCloudFormation)(properties.forecastConfigurations),Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),PrimaryYAxisDisplayOptions:convertCfnAnalysisLineSeriesAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),ReferenceLines:cdk().listMapper(convertCfnAnalysisReferenceLinePropertyToCloudFormation)(properties.referenceLines),SecondaryYAxisDisplayOptions:convertCfnAnalysisLineSeriesAxisDisplayOptionsPropertyToCloudFormation(properties.secondaryYAxisDisplayOptions),SecondaryYAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.secondaryYAxisLabelOptions),Series:cdk().listMapper(convertCfnAnalysisSeriesItemPropertyToCloudFormation)(properties.series),SingleAxisOptions:convertCfnAnalysisSingleAxisOptionsPropertyToCloudFormation(properties.singleAxisOptions),SmallMultiplesOptions:convertCfnAnalysisSmallMultiplesOptionsPropertyToCloudFormation(properties.smallMultiplesOptions),SortConfiguration:convertCfnAnalysisLineChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),Type:cdk().stringToCloudFormation(properties.type),VisualPalette:convertCfnAnalysisVisualPalettePropertyToCloudFormation(properties.visualPalette),XAxisDisplayOptions:convertCfnAnalysisAxisDisplayOptionsPropertyToCloudFormation(properties.xAxisDisplayOptions),XAxisLabelOptions:convertCfnAnalysisChartAxisLabelOptionsPropertyToCloudFormation(properties.xAxisLabelOptions)}):properties}function CfnAnalysisLineChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contributionAnalysisDefaults","ContributionAnalysisDefaults",properties.ContributionAnalysisDefaults!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisContributionAnalysisDefaultPropertyFromCloudFormation)(properties.ContributionAnalysisDefaults):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnAnalysisDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("defaultSeriesSettings","DefaultSeriesSettings",properties.DefaultSeriesSettings!=null?CfnAnalysisLineChartDefaultSeriesSettingsPropertyFromCloudFormation(properties.DefaultSeriesSettings):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnAnalysisLineChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("forecastConfigurations","ForecastConfigurations",properties.ForecastConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisForecastConfigurationPropertyFromCloudFormation)(properties.ForecastConfigurations):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnAnalysisLineSeriesAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("secondaryYAxisDisplayOptions","SecondaryYAxisDisplayOptions",properties.SecondaryYAxisDisplayOptions!=null?CfnAnalysisLineSeriesAxisDisplayOptionsPropertyFromCloudFormation(properties.SecondaryYAxisDisplayOptions):void 0),ret.addPropertyResult("secondaryYAxisLabelOptions","SecondaryYAxisLabelOptions",properties.SecondaryYAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.SecondaryYAxisLabelOptions):void 0),ret.addPropertyResult("series","Series",properties.Series!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisSeriesItemPropertyFromCloudFormation)(properties.Series):void 0),ret.addPropertyResult("singleAxisOptions","SingleAxisOptions",properties.SingleAxisOptions!=null?CfnAnalysisSingleAxisOptionsPropertyFromCloudFormation(properties.SingleAxisOptions):void 0),ret.addPropertyResult("smallMultiplesOptions","SmallMultiplesOptions",properties.SmallMultiplesOptions!=null?CfnAnalysisSmallMultiplesOptionsPropertyFromCloudFormation(properties.SmallMultiplesOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisLineChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnAnalysisVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("xAxisDisplayOptions","XAxisDisplayOptions",properties.XAxisDisplayOptions!=null?CfnAnalysisAxisDisplayOptionsPropertyFromCloudFormation(properties.XAxisDisplayOptions):void 0),ret.addPropertyResult("xAxisLabelOptions","XAxisLabelOptions",properties.XAxisLabelOptions!=null?CfnAnalysisChartAxisLabelOptionsPropertyFromCloudFormation(properties.XAxisLabelOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLineChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisLineChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnAnalysisColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "LineChartVisualProperty"')}function convertCfnAnalysisLineChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLineChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnAnalysisLineChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnAnalysisColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisLineChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisLineChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisEmptyVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "EmptyVisualProperty"')}function convertCfnAnalysisEmptyVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisEmptyVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisVisualCustomActionPropertyToCloudFormation)(properties.actions),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisEmptyVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialMapStatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bounds",CfnAnalysisGeospatialCoordinateBoundsPropertyValidator)(properties.bounds)),errors.collect(cdk().propertyValidator("mapNavigation",cdk().validateString)(properties.mapNavigation)),errors.wrap('supplied properties not correct for "GeospatialMapStateProperty"')}function convertCfnAnalysisGeospatialMapStatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialMapStatePropertyValidator(properties).assertSuccess(),{Bounds:convertCfnAnalysisGeospatialCoordinateBoundsPropertyToCloudFormation(properties.bounds),MapNavigation:cdk().stringToCloudFormation(properties.mapNavigation)}):properties}function CfnAnalysisGeospatialMapStatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bounds","Bounds",properties.Bounds!=null?CfnAnalysisGeospatialCoordinateBoundsPropertyFromCloudFormation(properties.Bounds):void 0),ret.addPropertyResult("mapNavigation","MapNavigation",properties.MapNavigation!=null?cfn_parse().FromCloudFormation.getString(properties.MapNavigation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialMapStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("baseMapStyle",cdk().validateString)(properties.baseMapStyle)),errors.collect(cdk().propertyValidator("baseMapVisibility",cdk().validateString)(properties.baseMapVisibility)),errors.wrap('supplied properties not correct for "GeospatialMapStyleProperty"')}function convertCfnAnalysisGeospatialMapStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialMapStylePropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),BaseMapStyle:cdk().stringToCloudFormation(properties.baseMapStyle),BaseMapVisibility:cdk().stringToCloudFormation(properties.baseMapVisibility)}):properties}function CfnAnalysisGeospatialMapStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("baseMapStyle","BaseMapStyle",properties.BaseMapStyle!=null?cfn_parse().FromCloudFormation.getString(properties.BaseMapStyle):void 0),ret.addPropertyResult("baseMapVisibility","BaseMapVisibility",properties.BaseMapVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.BaseMapVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialLayerColorFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorDimensionsFields",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.colorDimensionsFields)),errors.collect(cdk().propertyValidator("colorValuesFields",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.colorValuesFields)),errors.wrap('supplied properties not correct for "GeospatialLayerColorFieldProperty"')}function convertCfnAnalysisGeospatialLayerColorFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialLayerColorFieldPropertyValidator(properties).assertSuccess(),{ColorDimensionsFields:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.colorDimensionsFields),ColorValuesFields:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.colorValuesFields)}):properties}function CfnAnalysisGeospatialLayerColorFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorDimensionsFields","ColorDimensionsFields",properties.ColorDimensionsFields!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.ColorDimensionsFields):void 0),ret.addPropertyResult("colorValuesFields","ColorValuesFields",properties.ColorValuesFields!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.ColorValuesFields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialLayerJoinDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorField",CfnAnalysisGeospatialLayerColorFieldPropertyValidator)(properties.colorField)),errors.collect(cdk().propertyValidator("datasetKeyField",CfnAnalysisUnaggregatedFieldPropertyValidator)(properties.datasetKeyField)),errors.collect(cdk().propertyValidator("shapeKeyField",cdk().validateString)(properties.shapeKeyField)),errors.wrap('supplied properties not correct for "GeospatialLayerJoinDefinitionProperty"')}function convertCfnAnalysisGeospatialLayerJoinDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialLayerJoinDefinitionPropertyValidator(properties).assertSuccess(),{ColorField:convertCfnAnalysisGeospatialLayerColorFieldPropertyToCloudFormation(properties.colorField),DatasetKeyField:convertCfnAnalysisUnaggregatedFieldPropertyToCloudFormation(properties.datasetKeyField),ShapeKeyField:cdk().stringToCloudFormation(properties.shapeKeyField)}):properties}function CfnAnalysisGeospatialLayerJoinDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorField","ColorField",properties.ColorField!=null?CfnAnalysisGeospatialLayerColorFieldPropertyFromCloudFormation(properties.ColorField):void 0),ret.addPropertyResult("datasetKeyField","DatasetKeyField",properties.DatasetKeyField!=null?CfnAnalysisUnaggregatedFieldPropertyFromCloudFormation(properties.DatasetKeyField):void 0),ret.addPropertyResult("shapeKeyField","ShapeKeyField",properties.ShapeKeyField!=null?cfn_parse().FromCloudFormation.getString(properties.ShapeKeyField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLayerCustomActionOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("filterOperation",CfnAnalysisCustomActionFilterOperationPropertyValidator)(properties.filterOperation)),errors.collect(cdk().propertyValidator("navigationOperation",CfnAnalysisCustomActionNavigationOperationPropertyValidator)(properties.navigationOperation)),errors.collect(cdk().propertyValidator("setParametersOperation",CfnAnalysisCustomActionSetParametersOperationPropertyValidator)(properties.setParametersOperation)),errors.collect(cdk().propertyValidator("urlOperation",CfnAnalysisCustomActionURLOperationPropertyValidator)(properties.urlOperation)),errors.wrap('supplied properties not correct for "LayerCustomActionOperationProperty"')}function convertCfnAnalysisLayerCustomActionOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLayerCustomActionOperationPropertyValidator(properties).assertSuccess(),{FilterOperation:convertCfnAnalysisCustomActionFilterOperationPropertyToCloudFormation(properties.filterOperation),NavigationOperation:convertCfnAnalysisCustomActionNavigationOperationPropertyToCloudFormation(properties.navigationOperation),SetParametersOperation:convertCfnAnalysisCustomActionSetParametersOperationPropertyToCloudFormation(properties.setParametersOperation),URLOperation:convertCfnAnalysisCustomActionURLOperationPropertyToCloudFormation(properties.urlOperation)}):properties}function CfnAnalysisLayerCustomActionOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("filterOperation","FilterOperation",properties.FilterOperation!=null?CfnAnalysisCustomActionFilterOperationPropertyFromCloudFormation(properties.FilterOperation):void 0),ret.addPropertyResult("navigationOperation","NavigationOperation",properties.NavigationOperation!=null?CfnAnalysisCustomActionNavigationOperationPropertyFromCloudFormation(properties.NavigationOperation):void 0),ret.addPropertyResult("setParametersOperation","SetParametersOperation",properties.SetParametersOperation!=null?CfnAnalysisCustomActionSetParametersOperationPropertyFromCloudFormation(properties.SetParametersOperation):void 0),ret.addPropertyResult("urlOperation","URLOperation",properties.URLOperation!=null?CfnAnalysisCustomActionURLOperationPropertyFromCloudFormation(properties.URLOperation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLayerCustomActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actionOperations",cdk().requiredValidator)(properties.actionOperations)),errors.collect(cdk().propertyValidator("actionOperations",cdk().listValidator(CfnAnalysisLayerCustomActionOperationPropertyValidator))(properties.actionOperations)),errors.collect(cdk().propertyValidator("customActionId",cdk().requiredValidator)(properties.customActionId)),errors.collect(cdk().propertyValidator("customActionId",cdk().validateString)(properties.customActionId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("trigger",cdk().requiredValidator)(properties.trigger)),errors.collect(cdk().propertyValidator("trigger",cdk().validateString)(properties.trigger)),errors.wrap('supplied properties not correct for "LayerCustomActionProperty"')}function convertCfnAnalysisLayerCustomActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLayerCustomActionPropertyValidator(properties).assertSuccess(),{ActionOperations:cdk().listMapper(convertCfnAnalysisLayerCustomActionOperationPropertyToCloudFormation)(properties.actionOperations),CustomActionId:cdk().stringToCloudFormation(properties.customActionId),Name:cdk().stringToCloudFormation(properties.name),Status:cdk().stringToCloudFormation(properties.status),Trigger:cdk().stringToCloudFormation(properties.trigger)}):properties}function CfnAnalysisLayerCustomActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOperations","ActionOperations",properties.ActionOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisLayerCustomActionOperationPropertyFromCloudFormation)(properties.ActionOperations):void 0),ret.addPropertyResult("customActionId","CustomActionId",properties.CustomActionId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomActionId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("trigger","Trigger",properties.Trigger!=null?cfn_parse().FromCloudFormation.getString(properties.Trigger):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialGradientStepColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().requiredValidator)(properties.dataValue)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateNumber)(properties.dataValue)),errors.wrap('supplied properties not correct for "GeospatialGradientStepColorProperty"')}function convertCfnAnalysisGeospatialGradientStepColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialGradientStepColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().numberToCloudFormation(properties.dataValue)}):properties}function CfnAnalysisGeospatialGradientStepColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.DataValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialNullSymbolStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fillColor",cdk().validateString)(properties.fillColor)),errors.collect(cdk().propertyValidator("strokeColor",cdk().validateString)(properties.strokeColor)),errors.collect(cdk().propertyValidator("strokeWidth",cdk().validateNumber)(properties.strokeWidth)),errors.wrap('supplied properties not correct for "GeospatialNullSymbolStyleProperty"')}function convertCfnAnalysisGeospatialNullSymbolStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialNullSymbolStylePropertyValidator(properties).assertSuccess(),{FillColor:cdk().stringToCloudFormation(properties.fillColor),StrokeColor:cdk().stringToCloudFormation(properties.strokeColor),StrokeWidth:cdk().numberToCloudFormation(properties.strokeWidth)}):properties}function CfnAnalysisGeospatialNullSymbolStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fillColor","FillColor",properties.FillColor!=null?cfn_parse().FromCloudFormation.getString(properties.FillColor):void 0),ret.addPropertyResult("strokeColor","StrokeColor",properties.StrokeColor!=null?cfn_parse().FromCloudFormation.getString(properties.StrokeColor):void 0),ret.addPropertyResult("strokeWidth","StrokeWidth",properties.StrokeWidth!=null?cfn_parse().FromCloudFormation.getNumber(properties.StrokeWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialNullDataSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("symbolStyle",cdk().requiredValidator)(properties.symbolStyle)),errors.collect(cdk().propertyValidator("symbolStyle",CfnAnalysisGeospatialNullSymbolStylePropertyValidator)(properties.symbolStyle)),errors.wrap('supplied properties not correct for "GeospatialNullDataSettingsProperty"')}function convertCfnAnalysisGeospatialNullDataSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialNullDataSettingsPropertyValidator(properties).assertSuccess(),{SymbolStyle:convertCfnAnalysisGeospatialNullSymbolStylePropertyToCloudFormation(properties.symbolStyle)}):properties}function CfnAnalysisGeospatialNullDataSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("symbolStyle","SymbolStyle",properties.SymbolStyle!=null?CfnAnalysisGeospatialNullSymbolStylePropertyFromCloudFormation(properties.SymbolStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialGradientColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultOpacity",cdk().validateNumber)(properties.defaultOpacity)),errors.collect(cdk().propertyValidator("nullDataSettings",CfnAnalysisGeospatialNullDataSettingsPropertyValidator)(properties.nullDataSettings)),errors.collect(cdk().propertyValidator("nullDataVisibility",cdk().validateString)(properties.nullDataVisibility)),errors.collect(cdk().propertyValidator("stepColors",cdk().requiredValidator)(properties.stepColors)),errors.collect(cdk().propertyValidator("stepColors",cdk().listValidator(CfnAnalysisGeospatialGradientStepColorPropertyValidator))(properties.stepColors)),errors.wrap('supplied properties not correct for "GeospatialGradientColorProperty"')}function convertCfnAnalysisGeospatialGradientColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialGradientColorPropertyValidator(properties).assertSuccess(),{DefaultOpacity:cdk().numberToCloudFormation(properties.defaultOpacity),NullDataSettings:convertCfnAnalysisGeospatialNullDataSettingsPropertyToCloudFormation(properties.nullDataSettings),NullDataVisibility:cdk().stringToCloudFormation(properties.nullDataVisibility),StepColors:cdk().listMapper(convertCfnAnalysisGeospatialGradientStepColorPropertyToCloudFormation)(properties.stepColors)}):properties}function CfnAnalysisGeospatialGradientColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultOpacity","DefaultOpacity",properties.DefaultOpacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.DefaultOpacity):void 0),ret.addPropertyResult("nullDataSettings","NullDataSettings",properties.NullDataSettings!=null?CfnAnalysisGeospatialNullDataSettingsPropertyFromCloudFormation(properties.NullDataSettings):void 0),ret.addPropertyResult("nullDataVisibility","NullDataVisibility",properties.NullDataVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.NullDataVisibility):void 0),ret.addPropertyResult("stepColors","StepColors",properties.StepColors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisGeospatialGradientStepColorPropertyFromCloudFormation)(properties.StepColors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialCategoricalDataColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().requiredValidator)(properties.dataValue)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateString)(properties.dataValue)),errors.wrap('supplied properties not correct for "GeospatialCategoricalDataColorProperty"')}function convertCfnAnalysisGeospatialCategoricalDataColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialCategoricalDataColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().stringToCloudFormation(properties.dataValue)}):properties}function CfnAnalysisGeospatialCategoricalDataColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getString(properties.DataValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialCategoricalColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryDataColors",cdk().requiredValidator)(properties.categoryDataColors)),errors.collect(cdk().propertyValidator("categoryDataColors",cdk().listValidator(CfnAnalysisGeospatialCategoricalDataColorPropertyValidator))(properties.categoryDataColors)),errors.collect(cdk().propertyValidator("defaultOpacity",cdk().validateNumber)(properties.defaultOpacity)),errors.collect(cdk().propertyValidator("nullDataSettings",CfnAnalysisGeospatialNullDataSettingsPropertyValidator)(properties.nullDataSettings)),errors.collect(cdk().propertyValidator("nullDataVisibility",cdk().validateString)(properties.nullDataVisibility)),errors.wrap('supplied properties not correct for "GeospatialCategoricalColorProperty"')}function convertCfnAnalysisGeospatialCategoricalColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialCategoricalColorPropertyValidator(properties).assertSuccess(),{CategoryDataColors:cdk().listMapper(convertCfnAnalysisGeospatialCategoricalDataColorPropertyToCloudFormation)(properties.categoryDataColors),DefaultOpacity:cdk().numberToCloudFormation(properties.defaultOpacity),NullDataSettings:convertCfnAnalysisGeospatialNullDataSettingsPropertyToCloudFormation(properties.nullDataSettings),NullDataVisibility:cdk().stringToCloudFormation(properties.nullDataVisibility)}):properties}function CfnAnalysisGeospatialCategoricalColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryDataColors","CategoryDataColors",properties.CategoryDataColors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisGeospatialCategoricalDataColorPropertyFromCloudFormation)(properties.CategoryDataColors):void 0),ret.addPropertyResult("defaultOpacity","DefaultOpacity",properties.DefaultOpacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.DefaultOpacity):void 0),ret.addPropertyResult("nullDataSettings","NullDataSettings",properties.NullDataSettings!=null?CfnAnalysisGeospatialNullDataSettingsPropertyFromCloudFormation(properties.NullDataSettings):void 0),ret.addPropertyResult("nullDataVisibility","NullDataVisibility",properties.NullDataVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.NullDataVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialSolidColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "GeospatialSolidColorProperty"')}function convertCfnAnalysisGeospatialSolidColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialSolidColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnAnalysisGeospatialSolidColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categorical",CfnAnalysisGeospatialCategoricalColorPropertyValidator)(properties.categorical)),errors.collect(cdk().propertyValidator("gradient",CfnAnalysisGeospatialGradientColorPropertyValidator)(properties.gradient)),errors.collect(cdk().propertyValidator("solid",CfnAnalysisGeospatialSolidColorPropertyValidator)(properties.solid)),errors.wrap('supplied properties not correct for "GeospatialColorProperty"')}function convertCfnAnalysisGeospatialColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialColorPropertyValidator(properties).assertSuccess(),{Categorical:convertCfnAnalysisGeospatialCategoricalColorPropertyToCloudFormation(properties.categorical),Gradient:convertCfnAnalysisGeospatialGradientColorPropertyToCloudFormation(properties.gradient),Solid:convertCfnAnalysisGeospatialSolidColorPropertyToCloudFormation(properties.solid)}):properties}function CfnAnalysisGeospatialColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categorical","Categorical",properties.Categorical!=null?CfnAnalysisGeospatialCategoricalColorPropertyFromCloudFormation(properties.Categorical):void 0),ret.addPropertyResult("gradient","Gradient",properties.Gradient!=null?CfnAnalysisGeospatialGradientColorPropertyFromCloudFormation(properties.Gradient):void 0),ret.addPropertyResult("solid","Solid",properties.Solid!=null?CfnAnalysisGeospatialSolidColorPropertyFromCloudFormation(properties.Solid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialLineWidthPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineWidth",cdk().validateNumber)(properties.lineWidth)),errors.wrap('supplied properties not correct for "GeospatialLineWidthProperty"')}function convertCfnAnalysisGeospatialLineWidthPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialLineWidthPropertyValidator(properties).assertSuccess(),{LineWidth:cdk().numberToCloudFormation(properties.lineWidth)}):properties}function CfnAnalysisGeospatialLineWidthPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineWidth","LineWidth",properties.LineWidth!=null?cfn_parse().FromCloudFormation.getNumber(properties.LineWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialCircleRadiusPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("radius",cdk().validateNumber)(properties.radius)),errors.wrap('supplied properties not correct for "GeospatialCircleRadiusProperty"')}function convertCfnAnalysisGeospatialCircleRadiusPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialCircleRadiusPropertyValidator(properties).assertSuccess(),{Radius:cdk().numberToCloudFormation(properties.radius)}):properties}function CfnAnalysisGeospatialCircleRadiusPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("radius","Radius",properties.Radius!=null?cfn_parse().FromCloudFormation.getNumber(properties.Radius):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialCircleSymbolStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("circleRadius",CfnAnalysisGeospatialCircleRadiusPropertyValidator)(properties.circleRadius)),errors.collect(cdk().propertyValidator("fillColor",CfnAnalysisGeospatialColorPropertyValidator)(properties.fillColor)),errors.collect(cdk().propertyValidator("strokeColor",CfnAnalysisGeospatialColorPropertyValidator)(properties.strokeColor)),errors.collect(cdk().propertyValidator("strokeWidth",CfnAnalysisGeospatialLineWidthPropertyValidator)(properties.strokeWidth)),errors.wrap('supplied properties not correct for "GeospatialCircleSymbolStyleProperty"')}function convertCfnAnalysisGeospatialCircleSymbolStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialCircleSymbolStylePropertyValidator(properties).assertSuccess(),{CircleRadius:convertCfnAnalysisGeospatialCircleRadiusPropertyToCloudFormation(properties.circleRadius),FillColor:convertCfnAnalysisGeospatialColorPropertyToCloudFormation(properties.fillColor),StrokeColor:convertCfnAnalysisGeospatialColorPropertyToCloudFormation(properties.strokeColor),StrokeWidth:convertCfnAnalysisGeospatialLineWidthPropertyToCloudFormation(properties.strokeWidth)}):properties}function CfnAnalysisGeospatialCircleSymbolStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("circleRadius","CircleRadius",properties.CircleRadius!=null?CfnAnalysisGeospatialCircleRadiusPropertyFromCloudFormation(properties.CircleRadius):void 0),ret.addPropertyResult("fillColor","FillColor",properties.FillColor!=null?CfnAnalysisGeospatialColorPropertyFromCloudFormation(properties.FillColor):void 0),ret.addPropertyResult("strokeColor","StrokeColor",properties.StrokeColor!=null?CfnAnalysisGeospatialColorPropertyFromCloudFormation(properties.StrokeColor):void 0),ret.addPropertyResult("strokeWidth","StrokeWidth",properties.StrokeWidth!=null?CfnAnalysisGeospatialLineWidthPropertyFromCloudFormation(properties.StrokeWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialPointStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("circleSymbolStyle",CfnAnalysisGeospatialCircleSymbolStylePropertyValidator)(properties.circleSymbolStyle)),errors.wrap('supplied properties not correct for "GeospatialPointStyleProperty"')}function convertCfnAnalysisGeospatialPointStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialPointStylePropertyValidator(properties).assertSuccess(),{CircleSymbolStyle:convertCfnAnalysisGeospatialCircleSymbolStylePropertyToCloudFormation(properties.circleSymbolStyle)}):properties}function CfnAnalysisGeospatialPointStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("circleSymbolStyle","CircleSymbolStyle",properties.CircleSymbolStyle!=null?CfnAnalysisGeospatialCircleSymbolStylePropertyFromCloudFormation(properties.CircleSymbolStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialPointLayerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("style",cdk().requiredValidator)(properties.style)),errors.collect(cdk().propertyValidator("style",CfnAnalysisGeospatialPointStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "GeospatialPointLayerProperty"')}function convertCfnAnalysisGeospatialPointLayerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialPointLayerPropertyValidator(properties).assertSuccess(),{Style:convertCfnAnalysisGeospatialPointStylePropertyToCloudFormation(properties.style)}):properties}function CfnAnalysisGeospatialPointLayerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("style","Style",properties.Style!=null?CfnAnalysisGeospatialPointStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialPolygonSymbolStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fillColor",CfnAnalysisGeospatialColorPropertyValidator)(properties.fillColor)),errors.collect(cdk().propertyValidator("strokeColor",CfnAnalysisGeospatialColorPropertyValidator)(properties.strokeColor)),errors.collect(cdk().propertyValidator("strokeWidth",CfnAnalysisGeospatialLineWidthPropertyValidator)(properties.strokeWidth)),errors.wrap('supplied properties not correct for "GeospatialPolygonSymbolStyleProperty"')}function convertCfnAnalysisGeospatialPolygonSymbolStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialPolygonSymbolStylePropertyValidator(properties).assertSuccess(),{FillColor:convertCfnAnalysisGeospatialColorPropertyToCloudFormation(properties.fillColor),StrokeColor:convertCfnAnalysisGeospatialColorPropertyToCloudFormation(properties.strokeColor),StrokeWidth:convertCfnAnalysisGeospatialLineWidthPropertyToCloudFormation(properties.strokeWidth)}):properties}function CfnAnalysisGeospatialPolygonSymbolStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fillColor","FillColor",properties.FillColor!=null?CfnAnalysisGeospatialColorPropertyFromCloudFormation(properties.FillColor):void 0),ret.addPropertyResult("strokeColor","StrokeColor",properties.StrokeColor!=null?CfnAnalysisGeospatialColorPropertyFromCloudFormation(properties.StrokeColor):void 0),ret.addPropertyResult("strokeWidth","StrokeWidth",properties.StrokeWidth!=null?CfnAnalysisGeospatialLineWidthPropertyFromCloudFormation(properties.StrokeWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialPolygonStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("polygonSymbolStyle",CfnAnalysisGeospatialPolygonSymbolStylePropertyValidator)(properties.polygonSymbolStyle)),errors.wrap('supplied properties not correct for "GeospatialPolygonStyleProperty"')}function convertCfnAnalysisGeospatialPolygonStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialPolygonStylePropertyValidator(properties).assertSuccess(),{PolygonSymbolStyle:convertCfnAnalysisGeospatialPolygonSymbolStylePropertyToCloudFormation(properties.polygonSymbolStyle)}):properties}function CfnAnalysisGeospatialPolygonStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("polygonSymbolStyle","PolygonSymbolStyle",properties.PolygonSymbolStyle!=null?CfnAnalysisGeospatialPolygonSymbolStylePropertyFromCloudFormation(properties.PolygonSymbolStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialPolygonLayerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("style",cdk().requiredValidator)(properties.style)),errors.collect(cdk().propertyValidator("style",CfnAnalysisGeospatialPolygonStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "GeospatialPolygonLayerProperty"')}function convertCfnAnalysisGeospatialPolygonLayerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialPolygonLayerPropertyValidator(properties).assertSuccess(),{Style:convertCfnAnalysisGeospatialPolygonStylePropertyToCloudFormation(properties.style)}):properties}function CfnAnalysisGeospatialPolygonLayerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("style","Style",properties.Style!=null?CfnAnalysisGeospatialPolygonStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialLineSymbolStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fillColor",CfnAnalysisGeospatialColorPropertyValidator)(properties.fillColor)),errors.collect(cdk().propertyValidator("lineWidth",CfnAnalysisGeospatialLineWidthPropertyValidator)(properties.lineWidth)),errors.wrap('supplied properties not correct for "GeospatialLineSymbolStyleProperty"')}function convertCfnAnalysisGeospatialLineSymbolStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialLineSymbolStylePropertyValidator(properties).assertSuccess(),{FillColor:convertCfnAnalysisGeospatialColorPropertyToCloudFormation(properties.fillColor),LineWidth:convertCfnAnalysisGeospatialLineWidthPropertyToCloudFormation(properties.lineWidth)}):properties}function CfnAnalysisGeospatialLineSymbolStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fillColor","FillColor",properties.FillColor!=null?CfnAnalysisGeospatialColorPropertyFromCloudFormation(properties.FillColor):void 0),ret.addPropertyResult("lineWidth","LineWidth",properties.LineWidth!=null?CfnAnalysisGeospatialLineWidthPropertyFromCloudFormation(properties.LineWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialLineStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineSymbolStyle",CfnAnalysisGeospatialLineSymbolStylePropertyValidator)(properties.lineSymbolStyle)),errors.wrap('supplied properties not correct for "GeospatialLineStyleProperty"')}function convertCfnAnalysisGeospatialLineStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialLineStylePropertyValidator(properties).assertSuccess(),{LineSymbolStyle:convertCfnAnalysisGeospatialLineSymbolStylePropertyToCloudFormation(properties.lineSymbolStyle)}):properties}function CfnAnalysisGeospatialLineStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineSymbolStyle","LineSymbolStyle",properties.LineSymbolStyle!=null?CfnAnalysisGeospatialLineSymbolStylePropertyFromCloudFormation(properties.LineSymbolStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialLineLayerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("style",cdk().requiredValidator)(properties.style)),errors.collect(cdk().propertyValidator("style",CfnAnalysisGeospatialLineStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "GeospatialLineLayerProperty"')}function convertCfnAnalysisGeospatialLineLayerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialLineLayerPropertyValidator(properties).assertSuccess(),{Style:convertCfnAnalysisGeospatialLineStylePropertyToCloudFormation(properties.style)}):properties}function CfnAnalysisGeospatialLineLayerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("style","Style",properties.Style!=null?CfnAnalysisGeospatialLineStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialLayerDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineLayer",CfnAnalysisGeospatialLineLayerPropertyValidator)(properties.lineLayer)),errors.collect(cdk().propertyValidator("pointLayer",CfnAnalysisGeospatialPointLayerPropertyValidator)(properties.pointLayer)),errors.collect(cdk().propertyValidator("polygonLayer",CfnAnalysisGeospatialPolygonLayerPropertyValidator)(properties.polygonLayer)),errors.wrap('supplied properties not correct for "GeospatialLayerDefinitionProperty"')}function convertCfnAnalysisGeospatialLayerDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialLayerDefinitionPropertyValidator(properties).assertSuccess(),{LineLayer:convertCfnAnalysisGeospatialLineLayerPropertyToCloudFormation(properties.lineLayer),PointLayer:convertCfnAnalysisGeospatialPointLayerPropertyToCloudFormation(properties.pointLayer),PolygonLayer:convertCfnAnalysisGeospatialPolygonLayerPropertyToCloudFormation(properties.polygonLayer)}):properties}function CfnAnalysisGeospatialLayerDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineLayer","LineLayer",properties.LineLayer!=null?CfnAnalysisGeospatialLineLayerPropertyFromCloudFormation(properties.LineLayer):void 0),ret.addPropertyResult("pointLayer","PointLayer",properties.PointLayer!=null?CfnAnalysisGeospatialPointLayerPropertyFromCloudFormation(properties.PointLayer):void 0),ret.addPropertyResult("polygonLayer","PolygonLayer",properties.PolygonLayer!=null?CfnAnalysisGeospatialPolygonLayerPropertyFromCloudFormation(properties.PolygonLayer):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialStaticFileSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticFileId",cdk().requiredValidator)(properties.staticFileId)),errors.collect(cdk().propertyValidator("staticFileId",cdk().validateString)(properties.staticFileId)),errors.wrap('supplied properties not correct for "GeospatialStaticFileSourceProperty"')}function convertCfnAnalysisGeospatialStaticFileSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialStaticFileSourcePropertyValidator(properties).assertSuccess(),{StaticFileId:cdk().stringToCloudFormation(properties.staticFileId)}):properties}function CfnAnalysisGeospatialStaticFileSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticFileId","StaticFileId",properties.StaticFileId!=null?cfn_parse().FromCloudFormation.getString(properties.StaticFileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialDataSourceItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticFileDataSource",CfnAnalysisGeospatialStaticFileSourcePropertyValidator)(properties.staticFileDataSource)),errors.wrap('supplied properties not correct for "GeospatialDataSourceItemProperty"')}function convertCfnAnalysisGeospatialDataSourceItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialDataSourceItemPropertyValidator(properties).assertSuccess(),{StaticFileDataSource:convertCfnAnalysisGeospatialStaticFileSourcePropertyToCloudFormation(properties.staticFileDataSource)}):properties}function CfnAnalysisGeospatialDataSourceItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticFileDataSource","StaticFileDataSource",properties.StaticFileDataSource!=null?CfnAnalysisGeospatialStaticFileSourcePropertyFromCloudFormation(properties.StaticFileDataSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialLayerItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisLayerCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("dataSource",CfnAnalysisGeospatialDataSourceItemPropertyValidator)(properties.dataSource)),errors.collect(cdk().propertyValidator("joinDefinition",CfnAnalysisGeospatialLayerJoinDefinitionPropertyValidator)(properties.joinDefinition)),errors.collect(cdk().propertyValidator("label",cdk().validateString)(properties.label)),errors.collect(cdk().propertyValidator("layerDefinition",CfnAnalysisGeospatialLayerDefinitionPropertyValidator)(properties.layerDefinition)),errors.collect(cdk().propertyValidator("layerId",cdk().requiredValidator)(properties.layerId)),errors.collect(cdk().propertyValidator("layerId",cdk().validateString)(properties.layerId)),errors.collect(cdk().propertyValidator("layerType",cdk().validateString)(properties.layerType)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "GeospatialLayerItemProperty"')}function convertCfnAnalysisGeospatialLayerItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialLayerItemPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisLayerCustomActionPropertyToCloudFormation)(properties.actions),DataSource:convertCfnAnalysisGeospatialDataSourceItemPropertyToCloudFormation(properties.dataSource),JoinDefinition:convertCfnAnalysisGeospatialLayerJoinDefinitionPropertyToCloudFormation(properties.joinDefinition),Label:cdk().stringToCloudFormation(properties.label),LayerDefinition:convertCfnAnalysisGeospatialLayerDefinitionPropertyToCloudFormation(properties.layerDefinition),LayerId:cdk().stringToCloudFormation(properties.layerId),LayerType:cdk().stringToCloudFormation(properties.layerType),Tooltip:convertCfnAnalysisTooltipOptionsPropertyToCloudFormation(properties.tooltip),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisGeospatialLayerItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisLayerCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("dataSource","DataSource",properties.DataSource!=null?CfnAnalysisGeospatialDataSourceItemPropertyFromCloudFormation(properties.DataSource):void 0),ret.addPropertyResult("joinDefinition","JoinDefinition",properties.JoinDefinition!=null?CfnAnalysisGeospatialLayerJoinDefinitionPropertyFromCloudFormation(properties.JoinDefinition):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("layerDefinition","LayerDefinition",properties.LayerDefinition!=null?CfnAnalysisGeospatialLayerDefinitionPropertyFromCloudFormation(properties.LayerDefinition):void 0),ret.addPropertyResult("layerId","LayerId",properties.LayerId!=null?cfn_parse().FromCloudFormation.getString(properties.LayerId):void 0),ret.addPropertyResult("layerType","LayerType",properties.LayerType!=null?cfn_parse().FromCloudFormation.getString(properties.LayerType):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisGeospatialLayerMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnAnalysisLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("mapLayers",cdk().listValidator(CfnAnalysisGeospatialLayerItemPropertyValidator))(properties.mapLayers)),errors.collect(cdk().propertyValidator("mapState",CfnAnalysisGeospatialMapStatePropertyValidator)(properties.mapState)),errors.collect(cdk().propertyValidator("mapStyle",CfnAnalysisGeospatialMapStylePropertyValidator)(properties.mapStyle)),errors.wrap('supplied properties not correct for "GeospatialLayerMapConfigurationProperty"')}function convertCfnAnalysisGeospatialLayerMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisGeospatialLayerMapConfigurationPropertyValidator(properties).assertSuccess(),{Interactions:convertCfnAnalysisVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnAnalysisLegendOptionsPropertyToCloudFormation(properties.legend),MapLayers:cdk().listMapper(convertCfnAnalysisGeospatialLayerItemPropertyToCloudFormation)(properties.mapLayers),MapState:convertCfnAnalysisGeospatialMapStatePropertyToCloudFormation(properties.mapState),MapStyle:convertCfnAnalysisGeospatialMapStylePropertyToCloudFormation(properties.mapStyle)}):properties}function CfnAnalysisGeospatialLayerMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnAnalysisLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("mapLayers","MapLayers",properties.MapLayers!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisGeospatialLayerItemPropertyFromCloudFormation)(properties.MapLayers):void 0),ret.addPropertyResult("mapState","MapState",properties.MapState!=null?CfnAnalysisGeospatialMapStatePropertyFromCloudFormation(properties.MapState):void 0),ret.addPropertyResult("mapStyle","MapStyle",properties.MapStyle!=null?CfnAnalysisGeospatialMapStylePropertyFromCloudFormation(properties.MapStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisLayerMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisGeospatialLayerMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "LayerMapVisualProperty"')}function convertCfnAnalysisLayerMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisLayerMapVisualPropertyValidator(properties).assertSuccess(),{ChartConfiguration:convertCfnAnalysisGeospatialLayerMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisLayerMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisGeospatialLayerMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPluginVisualItemsLimitConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("itemsLimit",cdk().validateNumber)(properties.itemsLimit)),errors.wrap('supplied properties not correct for "PluginVisualItemsLimitConfigurationProperty"')}function convertCfnAnalysisPluginVisualItemsLimitConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPluginVisualItemsLimitConfigurationPropertyValidator(properties).assertSuccess(),{ItemsLimit:cdk().numberToCloudFormation(properties.itemsLimit)}):properties}function CfnAnalysisPluginVisualItemsLimitConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("itemsLimit","ItemsLimit",properties.ItemsLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ItemsLimit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPluginVisualTableQuerySortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("itemsLimitConfiguration",CfnAnalysisPluginVisualItemsLimitConfigurationPropertyValidator)(properties.itemsLimitConfiguration)),errors.collect(cdk().propertyValidator("rowSort",cdk().listValidator(CfnAnalysisFieldSortOptionsPropertyValidator))(properties.rowSort)),errors.wrap('supplied properties not correct for "PluginVisualTableQuerySortProperty"')}function convertCfnAnalysisPluginVisualTableQuerySortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPluginVisualTableQuerySortPropertyValidator(properties).assertSuccess(),{ItemsLimitConfiguration:convertCfnAnalysisPluginVisualItemsLimitConfigurationPropertyToCloudFormation(properties.itemsLimitConfiguration),RowSort:cdk().listMapper(convertCfnAnalysisFieldSortOptionsPropertyToCloudFormation)(properties.rowSort)}):properties}function CfnAnalysisPluginVisualTableQuerySortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("itemsLimitConfiguration","ItemsLimitConfiguration",properties.ItemsLimitConfiguration!=null?CfnAnalysisPluginVisualItemsLimitConfigurationPropertyFromCloudFormation(properties.ItemsLimitConfiguration):void 0),ret.addPropertyResult("rowSort","RowSort",properties.RowSort!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFieldSortOptionsPropertyFromCloudFormation)(properties.RowSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPluginVisualSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pluginVisualTableQuerySort",CfnAnalysisPluginVisualTableQuerySortPropertyValidator)(properties.pluginVisualTableQuerySort)),errors.wrap('supplied properties not correct for "PluginVisualSortConfigurationProperty"')}function convertCfnAnalysisPluginVisualSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPluginVisualSortConfigurationPropertyValidator(properties).assertSuccess(),{PluginVisualTableQuerySort:convertCfnAnalysisPluginVisualTableQuerySortPropertyToCloudFormation(properties.pluginVisualTableQuerySort)}):properties}function CfnAnalysisPluginVisualSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pluginVisualTableQuerySort","PluginVisualTableQuerySort",properties.PluginVisualTableQuerySort!=null?CfnAnalysisPluginVisualTableQuerySortPropertyFromCloudFormation(properties.PluginVisualTableQuerySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPluginVisualPropertyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "PluginVisualPropertyProperty"')}function convertCfnAnalysisPluginVisualPropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPluginVisualPropertyPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnAnalysisPluginVisualPropertyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPluginVisualOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visualProperties",cdk().listValidator(CfnAnalysisPluginVisualPropertyPropertyValidator))(properties.visualProperties)),errors.wrap('supplied properties not correct for "PluginVisualOptionsProperty"')}function convertCfnAnalysisPluginVisualOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPluginVisualOptionsPropertyValidator(properties).assertSuccess(),{VisualProperties:cdk().listMapper(convertCfnAnalysisPluginVisualPropertyPropertyToCloudFormation)(properties.visualProperties)}):properties}function CfnAnalysisPluginVisualOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visualProperties","VisualProperties",properties.VisualProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisPluginVisualPropertyPropertyFromCloudFormation)(properties.VisualProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPluginVisualFieldWellPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisName",cdk().validateString)(properties.axisName)),errors.collect(cdk().propertyValidator("dimensions",cdk().listValidator(CfnAnalysisDimensionFieldPropertyValidator))(properties.dimensions)),errors.collect(cdk().propertyValidator("measures",cdk().listValidator(CfnAnalysisMeasureFieldPropertyValidator))(properties.measures)),errors.collect(cdk().propertyValidator("unaggregated",cdk().listValidator(CfnAnalysisUnaggregatedFieldPropertyValidator))(properties.unaggregated)),errors.wrap('supplied properties not correct for "PluginVisualFieldWellProperty"')}function convertCfnAnalysisPluginVisualFieldWellPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPluginVisualFieldWellPropertyValidator(properties).assertSuccess(),{AxisName:cdk().stringToCloudFormation(properties.axisName),Dimensions:cdk().listMapper(convertCfnAnalysisDimensionFieldPropertyToCloudFormation)(properties.dimensions),Measures:cdk().listMapper(convertCfnAnalysisMeasureFieldPropertyToCloudFormation)(properties.measures),Unaggregated:cdk().listMapper(convertCfnAnalysisUnaggregatedFieldPropertyToCloudFormation)(properties.unaggregated)}):properties}function CfnAnalysisPluginVisualFieldWellPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisName","AxisName",properties.AxisName!=null?cfn_parse().FromCloudFormation.getString(properties.AxisName):void 0),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDimensionFieldPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("measures","Measures",properties.Measures!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMeasureFieldPropertyFromCloudFormation)(properties.Measures):void 0),ret.addPropertyResult("unaggregated","Unaggregated",properties.Unaggregated!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisUnaggregatedFieldPropertyFromCloudFormation)(properties.Unaggregated):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPluginVisualConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",cdk().listValidator(CfnAnalysisPluginVisualFieldWellPropertyValidator))(properties.fieldWells)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnAnalysisPluginVisualSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("visualOptions",CfnAnalysisPluginVisualOptionsPropertyValidator)(properties.visualOptions)),errors.wrap('supplied properties not correct for "PluginVisualConfigurationProperty"')}function convertCfnAnalysisPluginVisualConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPluginVisualConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:cdk().listMapper(convertCfnAnalysisPluginVisualFieldWellPropertyToCloudFormation)(properties.fieldWells),SortConfiguration:convertCfnAnalysisPluginVisualSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),VisualOptions:convertCfnAnalysisPluginVisualOptionsPropertyToCloudFormation(properties.visualOptions)}):properties}function CfnAnalysisPluginVisualConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisPluginVisualFieldWellPropertyFromCloudFormation)(properties.FieldWells):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnAnalysisPluginVisualSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("visualOptions","VisualOptions",properties.VisualOptions!=null?CfnAnalysisPluginVisualOptionsPropertyFromCloudFormation(properties.VisualOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPluginVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("chartConfiguration",CfnAnalysisPluginVisualConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("pluginArn",cdk().requiredValidator)(properties.pluginArn)),errors.collect(cdk().propertyValidator("pluginArn",cdk().validateString)(properties.pluginArn)),errors.collect(cdk().propertyValidator("subtitle",CfnAnalysisVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnAnalysisVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "PluginVisualProperty"')}function convertCfnAnalysisPluginVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPluginVisualPropertyValidator(properties).assertSuccess(),{ChartConfiguration:convertCfnAnalysisPluginVisualConfigurationPropertyToCloudFormation(properties.chartConfiguration),PluginArn:cdk().stringToCloudFormation(properties.pluginArn),Subtitle:convertCfnAnalysisVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnAnalysisVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnAnalysisPluginVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnAnalysisPluginVisualConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("pluginArn","PluginArn",properties.PluginArn!=null?cfn_parse().FromCloudFormation.getString(properties.PluginArn):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnAnalysisVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnAnalysisVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barChartVisual",CfnAnalysisBarChartVisualPropertyValidator)(properties.barChartVisual)),errors.collect(cdk().propertyValidator("boxPlotVisual",CfnAnalysisBoxPlotVisualPropertyValidator)(properties.boxPlotVisual)),errors.collect(cdk().propertyValidator("comboChartVisual",CfnAnalysisComboChartVisualPropertyValidator)(properties.comboChartVisual)),errors.collect(cdk().propertyValidator("customContentVisual",CfnAnalysisCustomContentVisualPropertyValidator)(properties.customContentVisual)),errors.collect(cdk().propertyValidator("emptyVisual",CfnAnalysisEmptyVisualPropertyValidator)(properties.emptyVisual)),errors.collect(cdk().propertyValidator("filledMapVisual",CfnAnalysisFilledMapVisualPropertyValidator)(properties.filledMapVisual)),errors.collect(cdk().propertyValidator("funnelChartVisual",CfnAnalysisFunnelChartVisualPropertyValidator)(properties.funnelChartVisual)),errors.collect(cdk().propertyValidator("gaugeChartVisual",CfnAnalysisGaugeChartVisualPropertyValidator)(properties.gaugeChartVisual)),errors.collect(cdk().propertyValidator("geospatialMapVisual",CfnAnalysisGeospatialMapVisualPropertyValidator)(properties.geospatialMapVisual)),errors.collect(cdk().propertyValidator("heatMapVisual",CfnAnalysisHeatMapVisualPropertyValidator)(properties.heatMapVisual)),errors.collect(cdk().propertyValidator("histogramVisual",CfnAnalysisHistogramVisualPropertyValidator)(properties.histogramVisual)),errors.collect(cdk().propertyValidator("insightVisual",CfnAnalysisInsightVisualPropertyValidator)(properties.insightVisual)),errors.collect(cdk().propertyValidator("kpiVisual",CfnAnalysisKPIVisualPropertyValidator)(properties.kpiVisual)),errors.collect(cdk().propertyValidator("layerMapVisual",CfnAnalysisLayerMapVisualPropertyValidator)(properties.layerMapVisual)),errors.collect(cdk().propertyValidator("lineChartVisual",CfnAnalysisLineChartVisualPropertyValidator)(properties.lineChartVisual)),errors.collect(cdk().propertyValidator("pieChartVisual",CfnAnalysisPieChartVisualPropertyValidator)(properties.pieChartVisual)),errors.collect(cdk().propertyValidator("pivotTableVisual",CfnAnalysisPivotTableVisualPropertyValidator)(properties.pivotTableVisual)),errors.collect(cdk().propertyValidator("pluginVisual",CfnAnalysisPluginVisualPropertyValidator)(properties.pluginVisual)),errors.collect(cdk().propertyValidator("radarChartVisual",CfnAnalysisRadarChartVisualPropertyValidator)(properties.radarChartVisual)),errors.collect(cdk().propertyValidator("sankeyDiagramVisual",CfnAnalysisSankeyDiagramVisualPropertyValidator)(properties.sankeyDiagramVisual)),errors.collect(cdk().propertyValidator("scatterPlotVisual",CfnAnalysisScatterPlotVisualPropertyValidator)(properties.scatterPlotVisual)),errors.collect(cdk().propertyValidator("tableVisual",CfnAnalysisTableVisualPropertyValidator)(properties.tableVisual)),errors.collect(cdk().propertyValidator("treeMapVisual",CfnAnalysisTreeMapVisualPropertyValidator)(properties.treeMapVisual)),errors.collect(cdk().propertyValidator("waterfallVisual",CfnAnalysisWaterfallVisualPropertyValidator)(properties.waterfallVisual)),errors.collect(cdk().propertyValidator("wordCloudVisual",CfnAnalysisWordCloudVisualPropertyValidator)(properties.wordCloudVisual)),errors.wrap('supplied properties not correct for "VisualProperty"')}function convertCfnAnalysisVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisVisualPropertyValidator(properties).assertSuccess(),{BarChartVisual:convertCfnAnalysisBarChartVisualPropertyToCloudFormation(properties.barChartVisual),BoxPlotVisual:convertCfnAnalysisBoxPlotVisualPropertyToCloudFormation(properties.boxPlotVisual),ComboChartVisual:convertCfnAnalysisComboChartVisualPropertyToCloudFormation(properties.comboChartVisual),CustomContentVisual:convertCfnAnalysisCustomContentVisualPropertyToCloudFormation(properties.customContentVisual),EmptyVisual:convertCfnAnalysisEmptyVisualPropertyToCloudFormation(properties.emptyVisual),FilledMapVisual:convertCfnAnalysisFilledMapVisualPropertyToCloudFormation(properties.filledMapVisual),FunnelChartVisual:convertCfnAnalysisFunnelChartVisualPropertyToCloudFormation(properties.funnelChartVisual),GaugeChartVisual:convertCfnAnalysisGaugeChartVisualPropertyToCloudFormation(properties.gaugeChartVisual),GeospatialMapVisual:convertCfnAnalysisGeospatialMapVisualPropertyToCloudFormation(properties.geospatialMapVisual),HeatMapVisual:convertCfnAnalysisHeatMapVisualPropertyToCloudFormation(properties.heatMapVisual),HistogramVisual:convertCfnAnalysisHistogramVisualPropertyToCloudFormation(properties.histogramVisual),InsightVisual:convertCfnAnalysisInsightVisualPropertyToCloudFormation(properties.insightVisual),KPIVisual:convertCfnAnalysisKPIVisualPropertyToCloudFormation(properties.kpiVisual),LayerMapVisual:convertCfnAnalysisLayerMapVisualPropertyToCloudFormation(properties.layerMapVisual),LineChartVisual:convertCfnAnalysisLineChartVisualPropertyToCloudFormation(properties.lineChartVisual),PieChartVisual:convertCfnAnalysisPieChartVisualPropertyToCloudFormation(properties.pieChartVisual),PivotTableVisual:convertCfnAnalysisPivotTableVisualPropertyToCloudFormation(properties.pivotTableVisual),PluginVisual:convertCfnAnalysisPluginVisualPropertyToCloudFormation(properties.pluginVisual),RadarChartVisual:convertCfnAnalysisRadarChartVisualPropertyToCloudFormation(properties.radarChartVisual),SankeyDiagramVisual:convertCfnAnalysisSankeyDiagramVisualPropertyToCloudFormation(properties.sankeyDiagramVisual),ScatterPlotVisual:convertCfnAnalysisScatterPlotVisualPropertyToCloudFormation(properties.scatterPlotVisual),TableVisual:convertCfnAnalysisTableVisualPropertyToCloudFormation(properties.tableVisual),TreeMapVisual:convertCfnAnalysisTreeMapVisualPropertyToCloudFormation(properties.treeMapVisual),WaterfallVisual:convertCfnAnalysisWaterfallVisualPropertyToCloudFormation(properties.waterfallVisual),WordCloudVisual:convertCfnAnalysisWordCloudVisualPropertyToCloudFormation(properties.wordCloudVisual)}):properties}function CfnAnalysisVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barChartVisual","BarChartVisual",properties.BarChartVisual!=null?CfnAnalysisBarChartVisualPropertyFromCloudFormation(properties.BarChartVisual):void 0),ret.addPropertyResult("boxPlotVisual","BoxPlotVisual",properties.BoxPlotVisual!=null?CfnAnalysisBoxPlotVisualPropertyFromCloudFormation(properties.BoxPlotVisual):void 0),ret.addPropertyResult("comboChartVisual","ComboChartVisual",properties.ComboChartVisual!=null?CfnAnalysisComboChartVisualPropertyFromCloudFormation(properties.ComboChartVisual):void 0),ret.addPropertyResult("customContentVisual","CustomContentVisual",properties.CustomContentVisual!=null?CfnAnalysisCustomContentVisualPropertyFromCloudFormation(properties.CustomContentVisual):void 0),ret.addPropertyResult("emptyVisual","EmptyVisual",properties.EmptyVisual!=null?CfnAnalysisEmptyVisualPropertyFromCloudFormation(properties.EmptyVisual):void 0),ret.addPropertyResult("filledMapVisual","FilledMapVisual",properties.FilledMapVisual!=null?CfnAnalysisFilledMapVisualPropertyFromCloudFormation(properties.FilledMapVisual):void 0),ret.addPropertyResult("funnelChartVisual","FunnelChartVisual",properties.FunnelChartVisual!=null?CfnAnalysisFunnelChartVisualPropertyFromCloudFormation(properties.FunnelChartVisual):void 0),ret.addPropertyResult("gaugeChartVisual","GaugeChartVisual",properties.GaugeChartVisual!=null?CfnAnalysisGaugeChartVisualPropertyFromCloudFormation(properties.GaugeChartVisual):void 0),ret.addPropertyResult("geospatialMapVisual","GeospatialMapVisual",properties.GeospatialMapVisual!=null?CfnAnalysisGeospatialMapVisualPropertyFromCloudFormation(properties.GeospatialMapVisual):void 0),ret.addPropertyResult("heatMapVisual","HeatMapVisual",properties.HeatMapVisual!=null?CfnAnalysisHeatMapVisualPropertyFromCloudFormation(properties.HeatMapVisual):void 0),ret.addPropertyResult("histogramVisual","HistogramVisual",properties.HistogramVisual!=null?CfnAnalysisHistogramVisualPropertyFromCloudFormation(properties.HistogramVisual):void 0),ret.addPropertyResult("insightVisual","InsightVisual",properties.InsightVisual!=null?CfnAnalysisInsightVisualPropertyFromCloudFormation(properties.InsightVisual):void 0),ret.addPropertyResult("kpiVisual","KPIVisual",properties.KPIVisual!=null?CfnAnalysisKPIVisualPropertyFromCloudFormation(properties.KPIVisual):void 0),ret.addPropertyResult("layerMapVisual","LayerMapVisual",properties.LayerMapVisual!=null?CfnAnalysisLayerMapVisualPropertyFromCloudFormation(properties.LayerMapVisual):void 0),ret.addPropertyResult("lineChartVisual","LineChartVisual",properties.LineChartVisual!=null?CfnAnalysisLineChartVisualPropertyFromCloudFormation(properties.LineChartVisual):void 0),ret.addPropertyResult("pieChartVisual","PieChartVisual",properties.PieChartVisual!=null?CfnAnalysisPieChartVisualPropertyFromCloudFormation(properties.PieChartVisual):void 0),ret.addPropertyResult("pivotTableVisual","PivotTableVisual",properties.PivotTableVisual!=null?CfnAnalysisPivotTableVisualPropertyFromCloudFormation(properties.PivotTableVisual):void 0),ret.addPropertyResult("pluginVisual","PluginVisual",properties.PluginVisual!=null?CfnAnalysisPluginVisualPropertyFromCloudFormation(properties.PluginVisual):void 0),ret.addPropertyResult("radarChartVisual","RadarChartVisual",properties.RadarChartVisual!=null?CfnAnalysisRadarChartVisualPropertyFromCloudFormation(properties.RadarChartVisual):void 0),ret.addPropertyResult("sankeyDiagramVisual","SankeyDiagramVisual",properties.SankeyDiagramVisual!=null?CfnAnalysisSankeyDiagramVisualPropertyFromCloudFormation(properties.SankeyDiagramVisual):void 0),ret.addPropertyResult("scatterPlotVisual","ScatterPlotVisual",properties.ScatterPlotVisual!=null?CfnAnalysisScatterPlotVisualPropertyFromCloudFormation(properties.ScatterPlotVisual):void 0),ret.addPropertyResult("tableVisual","TableVisual",properties.TableVisual!=null?CfnAnalysisTableVisualPropertyFromCloudFormation(properties.TableVisual):void 0),ret.addPropertyResult("treeMapVisual","TreeMapVisual",properties.TreeMapVisual!=null?CfnAnalysisTreeMapVisualPropertyFromCloudFormation(properties.TreeMapVisual):void 0),ret.addPropertyResult("waterfallVisual","WaterfallVisual",properties.WaterfallVisual!=null?CfnAnalysisWaterfallVisualPropertyFromCloudFormation(properties.WaterfallVisual):void 0),ret.addPropertyResult("wordCloudVisual","WordCloudVisual",properties.WordCloudVisual!=null?CfnAnalysisWordCloudVisualPropertyFromCloudFormation(properties.WordCloudVisual):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisImageCustomActionOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("navigationOperation",CfnAnalysisCustomActionNavigationOperationPropertyValidator)(properties.navigationOperation)),errors.collect(cdk().propertyValidator("setParametersOperation",CfnAnalysisCustomActionSetParametersOperationPropertyValidator)(properties.setParametersOperation)),errors.collect(cdk().propertyValidator("urlOperation",CfnAnalysisCustomActionURLOperationPropertyValidator)(properties.urlOperation)),errors.wrap('supplied properties not correct for "ImageCustomActionOperationProperty"')}function convertCfnAnalysisImageCustomActionOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisImageCustomActionOperationPropertyValidator(properties).assertSuccess(),{NavigationOperation:convertCfnAnalysisCustomActionNavigationOperationPropertyToCloudFormation(properties.navigationOperation),SetParametersOperation:convertCfnAnalysisCustomActionSetParametersOperationPropertyToCloudFormation(properties.setParametersOperation),URLOperation:convertCfnAnalysisCustomActionURLOperationPropertyToCloudFormation(properties.urlOperation)}):properties}function CfnAnalysisImageCustomActionOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("navigationOperation","NavigationOperation",properties.NavigationOperation!=null?CfnAnalysisCustomActionNavigationOperationPropertyFromCloudFormation(properties.NavigationOperation):void 0),ret.addPropertyResult("setParametersOperation","SetParametersOperation",properties.SetParametersOperation!=null?CfnAnalysisCustomActionSetParametersOperationPropertyFromCloudFormation(properties.SetParametersOperation):void 0),ret.addPropertyResult("urlOperation","URLOperation",properties.URLOperation!=null?CfnAnalysisCustomActionURLOperationPropertyFromCloudFormation(properties.URLOperation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisImageCustomActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actionOperations",cdk().requiredValidator)(properties.actionOperations)),errors.collect(cdk().propertyValidator("actionOperations",cdk().listValidator(CfnAnalysisImageCustomActionOperationPropertyValidator))(properties.actionOperations)),errors.collect(cdk().propertyValidator("customActionId",cdk().requiredValidator)(properties.customActionId)),errors.collect(cdk().propertyValidator("customActionId",cdk().validateString)(properties.customActionId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("trigger",cdk().requiredValidator)(properties.trigger)),errors.collect(cdk().propertyValidator("trigger",cdk().validateString)(properties.trigger)),errors.wrap('supplied properties not correct for "ImageCustomActionProperty"')}function convertCfnAnalysisImageCustomActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisImageCustomActionPropertyValidator(properties).assertSuccess(),{ActionOperations:cdk().listMapper(convertCfnAnalysisImageCustomActionOperationPropertyToCloudFormation)(properties.actionOperations),CustomActionId:cdk().stringToCloudFormation(properties.customActionId),Name:cdk().stringToCloudFormation(properties.name),Status:cdk().stringToCloudFormation(properties.status),Trigger:cdk().stringToCloudFormation(properties.trigger)}):properties}function CfnAnalysisImageCustomActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOperations","ActionOperations",properties.ActionOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisImageCustomActionOperationPropertyFromCloudFormation)(properties.ActionOperations):void 0),ret.addPropertyResult("customActionId","CustomActionId",properties.CustomActionId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomActionId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("trigger","Trigger",properties.Trigger!=null?cfn_parse().FromCloudFormation.getString(properties.Trigger):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetImageTooltipTextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("plainText",cdk().validateString)(properties.plainText)),errors.wrap('supplied properties not correct for "SheetImageTooltipTextProperty"')}function convertCfnAnalysisSheetImageTooltipTextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetImageTooltipTextPropertyValidator(properties).assertSuccess(),{PlainText:cdk().stringToCloudFormation(properties.plainText)}):properties}function CfnAnalysisSheetImageTooltipTextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("plainText","PlainText",properties.PlainText!=null?cfn_parse().FromCloudFormation.getString(properties.PlainText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetImageTooltipConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tooltipText",CfnAnalysisSheetImageTooltipTextPropertyValidator)(properties.tooltipText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SheetImageTooltipConfigurationProperty"')}function convertCfnAnalysisSheetImageTooltipConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetImageTooltipConfigurationPropertyValidator(properties).assertSuccess(),{TooltipText:convertCfnAnalysisSheetImageTooltipTextPropertyToCloudFormation(properties.tooltipText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnAnalysisSheetImageTooltipConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tooltipText","TooltipText",properties.TooltipText!=null?CfnAnalysisSheetImageTooltipTextPropertyFromCloudFormation(properties.TooltipText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetImageScalingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scalingType",cdk().validateString)(properties.scalingType)),errors.wrap('supplied properties not correct for "SheetImageScalingConfigurationProperty"')}function convertCfnAnalysisSheetImageScalingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetImageScalingConfigurationPropertyValidator(properties).assertSuccess(),{ScalingType:cdk().stringToCloudFormation(properties.scalingType)}):properties}function CfnAnalysisSheetImageScalingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scalingType","ScalingType",properties.ScalingType!=null?cfn_parse().FromCloudFormation.getString(properties.ScalingType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisImageMenuOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ImageMenuOptionProperty"')}function convertCfnAnalysisImageMenuOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisImageMenuOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnAnalysisImageMenuOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisImageInteractionOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("imageMenuOption",CfnAnalysisImageMenuOptionPropertyValidator)(properties.imageMenuOption)),errors.wrap('supplied properties not correct for "ImageInteractionOptionsProperty"')}function convertCfnAnalysisImageInteractionOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisImageInteractionOptionsPropertyValidator(properties).assertSuccess(),{ImageMenuOption:convertCfnAnalysisImageMenuOptionPropertyToCloudFormation(properties.imageMenuOption)}):properties}function CfnAnalysisImageInteractionOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("imageMenuOption","ImageMenuOption",properties.ImageMenuOption!=null?CfnAnalysisImageMenuOptionPropertyFromCloudFormation(properties.ImageMenuOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetImageStaticFileSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticFileId",cdk().requiredValidator)(properties.staticFileId)),errors.collect(cdk().propertyValidator("staticFileId",cdk().validateString)(properties.staticFileId)),errors.wrap('supplied properties not correct for "SheetImageStaticFileSourceProperty"')}function convertCfnAnalysisSheetImageStaticFileSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetImageStaticFileSourcePropertyValidator(properties).assertSuccess(),{StaticFileId:cdk().stringToCloudFormation(properties.staticFileId)}):properties}function CfnAnalysisSheetImageStaticFileSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticFileId","StaticFileId",properties.StaticFileId!=null?cfn_parse().FromCloudFormation.getString(properties.StaticFileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetImageSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sheetImageStaticFileSource",CfnAnalysisSheetImageStaticFileSourcePropertyValidator)(properties.sheetImageStaticFileSource)),errors.wrap('supplied properties not correct for "SheetImageSourceProperty"')}function convertCfnAnalysisSheetImageSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetImageSourcePropertyValidator(properties).assertSuccess(),{SheetImageStaticFileSource:convertCfnAnalysisSheetImageStaticFileSourcePropertyToCloudFormation(properties.sheetImageStaticFileSource)}):properties}function CfnAnalysisSheetImageSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sheetImageStaticFileSource","SheetImageStaticFileSource",properties.SheetImageStaticFileSource!=null?CfnAnalysisSheetImageStaticFileSourcePropertyFromCloudFormation(properties.SheetImageStaticFileSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetImagePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnAnalysisImageCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("imageContentAltText",cdk().validateString)(properties.imageContentAltText)),errors.collect(cdk().propertyValidator("interactions",CfnAnalysisImageInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("scaling",CfnAnalysisSheetImageScalingConfigurationPropertyValidator)(properties.scaling)),errors.collect(cdk().propertyValidator("sheetImageId",cdk().requiredValidator)(properties.sheetImageId)),errors.collect(cdk().propertyValidator("sheetImageId",cdk().validateString)(properties.sheetImageId)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnAnalysisSheetImageSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("tooltip",CfnAnalysisSheetImageTooltipConfigurationPropertyValidator)(properties.tooltip)),errors.wrap('supplied properties not correct for "SheetImageProperty"')}function convertCfnAnalysisSheetImagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetImagePropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnAnalysisImageCustomActionPropertyToCloudFormation)(properties.actions),ImageContentAltText:cdk().stringToCloudFormation(properties.imageContentAltText),Interactions:convertCfnAnalysisImageInteractionOptionsPropertyToCloudFormation(properties.interactions),Scaling:convertCfnAnalysisSheetImageScalingConfigurationPropertyToCloudFormation(properties.scaling),SheetImageId:cdk().stringToCloudFormation(properties.sheetImageId),Source:convertCfnAnalysisSheetImageSourcePropertyToCloudFormation(properties.source),Tooltip:convertCfnAnalysisSheetImageTooltipConfigurationPropertyToCloudFormation(properties.tooltip)}):properties}function CfnAnalysisSheetImagePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisImageCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("imageContentAltText","ImageContentAltText",properties.ImageContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.ImageContentAltText):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnAnalysisImageInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("scaling","Scaling",properties.Scaling!=null?CfnAnalysisSheetImageScalingConfigurationPropertyFromCloudFormation(properties.Scaling):void 0),ret.addPropertyResult("sheetImageId","SheetImageId",properties.SheetImageId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetImageId):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnAnalysisSheetImageSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnAnalysisSheetImageTooltipConfigurationPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("filterControls",cdk().listValidator(CfnAnalysisFilterControlPropertyValidator))(properties.filterControls)),errors.collect(cdk().propertyValidator("images",cdk().listValidator(CfnAnalysisSheetImagePropertyValidator))(properties.images)),errors.collect(cdk().propertyValidator("layouts",cdk().listValidator(CfnAnalysisLayoutPropertyValidator))(properties.layouts)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterControls",cdk().listValidator(CfnAnalysisParameterControlPropertyValidator))(properties.parameterControls)),errors.collect(cdk().propertyValidator("sheetControlLayouts",cdk().listValidator(CfnAnalysisSheetControlLayoutPropertyValidator))(properties.sheetControlLayouts)),errors.collect(cdk().propertyValidator("sheetId",cdk().requiredValidator)(properties.sheetId)),errors.collect(cdk().propertyValidator("sheetId",cdk().validateString)(properties.sheetId)),errors.collect(cdk().propertyValidator("textBoxes",cdk().listValidator(CfnAnalysisSheetTextBoxPropertyValidator))(properties.textBoxes)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("visuals",cdk().listValidator(CfnAnalysisVisualPropertyValidator))(properties.visuals)),errors.wrap('supplied properties not correct for "SheetDefinitionProperty"')}function convertCfnAnalysisSheetDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetDefinitionPropertyValidator(properties).assertSuccess(),{ContentType:cdk().stringToCloudFormation(properties.contentType),Description:cdk().stringToCloudFormation(properties.description),FilterControls:cdk().listMapper(convertCfnAnalysisFilterControlPropertyToCloudFormation)(properties.filterControls),Images:cdk().listMapper(convertCfnAnalysisSheetImagePropertyToCloudFormation)(properties.images),Layouts:cdk().listMapper(convertCfnAnalysisLayoutPropertyToCloudFormation)(properties.layouts),Name:cdk().stringToCloudFormation(properties.name),ParameterControls:cdk().listMapper(convertCfnAnalysisParameterControlPropertyToCloudFormation)(properties.parameterControls),SheetControlLayouts:cdk().listMapper(convertCfnAnalysisSheetControlLayoutPropertyToCloudFormation)(properties.sheetControlLayouts),SheetId:cdk().stringToCloudFormation(properties.sheetId),TextBoxes:cdk().listMapper(convertCfnAnalysisSheetTextBoxPropertyToCloudFormation)(properties.textBoxes),Title:cdk().stringToCloudFormation(properties.title),Visuals:cdk().listMapper(convertCfnAnalysisVisualPropertyToCloudFormation)(properties.visuals)}):properties}function CfnAnalysisSheetDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("filterControls","FilterControls",properties.FilterControls!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFilterControlPropertyFromCloudFormation)(properties.FilterControls):void 0),ret.addPropertyResult("images","Images",properties.Images!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisSheetImagePropertyFromCloudFormation)(properties.Images):void 0),ret.addPropertyResult("layouts","Layouts",properties.Layouts!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisLayoutPropertyFromCloudFormation)(properties.Layouts):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterControls","ParameterControls",properties.ParameterControls!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisParameterControlPropertyFromCloudFormation)(properties.ParameterControls):void 0),ret.addPropertyResult("sheetControlLayouts","SheetControlLayouts",properties.SheetControlLayouts!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisSheetControlLayoutPropertyFromCloudFormation)(properties.SheetControlLayouts):void 0),ret.addPropertyResult("sheetId","SheetId",properties.SheetId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetId):void 0),ret.addPropertyResult("textBoxes","TextBoxes",properties.TextBoxes!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisSheetTextBoxPropertyFromCloudFormation)(properties.TextBoxes):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("visuals","Visuals",properties.Visuals!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisVisualPropertyFromCloudFormation)(properties.Visuals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisMappedDataSetParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetParameterName",cdk().requiredValidator)(properties.dataSetParameterName)),errors.collect(cdk().propertyValidator("dataSetParameterName",cdk().validateString)(properties.dataSetParameterName)),errors.wrap('supplied properties not correct for "MappedDataSetParameterProperty"')}function convertCfnAnalysisMappedDataSetParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisMappedDataSetParameterPropertyValidator(properties).assertSuccess(),{DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),DataSetParameterName:cdk().stringToCloudFormation(properties.dataSetParameterName)}):properties}function CfnAnalysisMappedDataSetParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("dataSetParameterName","DataSetParameterName",properties.DataSetParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDynamicDefaultValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValueColumn",cdk().requiredValidator)(properties.defaultValueColumn)),errors.collect(cdk().propertyValidator("defaultValueColumn",CfnAnalysisColumnIdentifierPropertyValidator)(properties.defaultValueColumn)),errors.collect(cdk().propertyValidator("groupNameColumn",CfnAnalysisColumnIdentifierPropertyValidator)(properties.groupNameColumn)),errors.collect(cdk().propertyValidator("userNameColumn",CfnAnalysisColumnIdentifierPropertyValidator)(properties.userNameColumn)),errors.wrap('supplied properties not correct for "DynamicDefaultValueProperty"')}function convertCfnAnalysisDynamicDefaultValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDynamicDefaultValuePropertyValidator(properties).assertSuccess(),{DefaultValueColumn:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.defaultValueColumn),GroupNameColumn:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.groupNameColumn),UserNameColumn:convertCfnAnalysisColumnIdentifierPropertyToCloudFormation(properties.userNameColumn)}):properties}function CfnAnalysisDynamicDefaultValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValueColumn","DefaultValueColumn",properties.DefaultValueColumn!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.DefaultValueColumn):void 0),ret.addPropertyResult("groupNameColumn","GroupNameColumn",properties.GroupNameColumn!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.GroupNameColumn):void 0),ret.addPropertyResult("userNameColumn","UserNameColumn",properties.UserNameColumn!=null?CfnAnalysisColumnIdentifierPropertyFromCloudFormation(properties.UserNameColumn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisStringDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnAnalysisDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateString))(properties.staticValues)),errors.wrap('supplied properties not correct for "StringDefaultValuesProperty"')}function convertCfnAnalysisStringDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisStringDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnAnalysisDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),StaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.staticValues)}):properties}function CfnAnalysisStringDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnAnalysisDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisStringValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateString)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "StringValueWhenUnsetConfigurationProperty"')}function convertCfnAnalysisStringValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisStringValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().stringToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnAnalysisStringValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getString(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisStringParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnAnalysisStringDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnAnalysisMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().requiredValidator)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().validateString)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnAnalysisStringValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "StringParameterDeclarationProperty"')}function convertCfnAnalysisStringParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisStringParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnAnalysisStringDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnAnalysisMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),ParameterValueType:cdk().stringToCloudFormation(properties.parameterValueType),ValueWhenUnset:convertCfnAnalysisStringValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnAnalysisStringParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnAnalysisStringDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterValueType","ParameterValueType",properties.ParameterValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValueType):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnAnalysisStringValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateTimeDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnAnalysisDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("rollingDate",CfnAnalysisRollingDateConfigurationPropertyValidator)(properties.rollingDate)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateString))(properties.staticValues)),errors.wrap('supplied properties not correct for "DateTimeDefaultValuesProperty"')}function convertCfnAnalysisDateTimeDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateTimeDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnAnalysisDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),RollingDate:convertCfnAnalysisRollingDateConfigurationPropertyToCloudFormation(properties.rollingDate),StaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.staticValues)}):properties}function CfnAnalysisDateTimeDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnAnalysisDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("rollingDate","RollingDate",properties.RollingDate!=null?CfnAnalysisRollingDateConfigurationPropertyFromCloudFormation(properties.RollingDate):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateTimeValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateString)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "DateTimeValueWhenUnsetConfigurationProperty"')}function convertCfnAnalysisDateTimeValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateTimeValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().stringToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnAnalysisDateTimeValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getString(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDateTimeParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnAnalysisDateTimeDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnAnalysisMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnAnalysisDateTimeValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "DateTimeParameterDeclarationProperty"')}function convertCfnAnalysisDateTimeParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDateTimeParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnAnalysisDateTimeDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnAnalysisMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity),ValueWhenUnset:convertCfnAnalysisDateTimeValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnAnalysisDateTimeParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnAnalysisDateTimeDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnAnalysisDateTimeValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDecimalDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnAnalysisDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateNumber))(properties.staticValues)),errors.wrap('supplied properties not correct for "DecimalDefaultValuesProperty"')}function convertCfnAnalysisDecimalDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDecimalDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnAnalysisDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),StaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.staticValues)}):properties}function CfnAnalysisDecimalDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnAnalysisDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDecimalValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateNumber)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "DecimalValueWhenUnsetConfigurationProperty"')}function convertCfnAnalysisDecimalValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDecimalValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().numberToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnAnalysisDecimalValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisDecimalParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnAnalysisDecimalDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnAnalysisMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().requiredValidator)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().validateString)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnAnalysisDecimalValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "DecimalParameterDeclarationProperty"')}function convertCfnAnalysisDecimalParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisDecimalParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnAnalysisDecimalDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnAnalysisMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),ParameterValueType:cdk().stringToCloudFormation(properties.parameterValueType),ValueWhenUnset:convertCfnAnalysisDecimalValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnAnalysisDecimalParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnAnalysisDecimalDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterValueType","ParameterValueType",properties.ParameterValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValueType):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnAnalysisDecimalValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisIntegerDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnAnalysisDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateNumber))(properties.staticValues)),errors.wrap('supplied properties not correct for "IntegerDefaultValuesProperty"')}function convertCfnAnalysisIntegerDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisIntegerDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnAnalysisDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),StaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.staticValues)}):properties}function CfnAnalysisIntegerDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnAnalysisDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisIntegerValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateNumber)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "IntegerValueWhenUnsetConfigurationProperty"')}function convertCfnAnalysisIntegerValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisIntegerValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().numberToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnAnalysisIntegerValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisIntegerParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnAnalysisIntegerDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnAnalysisMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().requiredValidator)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().validateString)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnAnalysisIntegerValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "IntegerParameterDeclarationProperty"')}function convertCfnAnalysisIntegerParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisIntegerParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnAnalysisIntegerDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnAnalysisMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),ParameterValueType:cdk().stringToCloudFormation(properties.parameterValueType),ValueWhenUnset:convertCfnAnalysisIntegerValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnAnalysisIntegerParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnAnalysisIntegerDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterValueType","ParameterValueType",properties.ParameterValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValueType):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnAnalysisIntegerValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeParameterDeclaration",CfnAnalysisDateTimeParameterDeclarationPropertyValidator)(properties.dateTimeParameterDeclaration)),errors.collect(cdk().propertyValidator("decimalParameterDeclaration",CfnAnalysisDecimalParameterDeclarationPropertyValidator)(properties.decimalParameterDeclaration)),errors.collect(cdk().propertyValidator("integerParameterDeclaration",CfnAnalysisIntegerParameterDeclarationPropertyValidator)(properties.integerParameterDeclaration)),errors.collect(cdk().propertyValidator("stringParameterDeclaration",CfnAnalysisStringParameterDeclarationPropertyValidator)(properties.stringParameterDeclaration)),errors.wrap('supplied properties not correct for "ParameterDeclarationProperty"')}function convertCfnAnalysisParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisParameterDeclarationPropertyValidator(properties).assertSuccess(),{DateTimeParameterDeclaration:convertCfnAnalysisDateTimeParameterDeclarationPropertyToCloudFormation(properties.dateTimeParameterDeclaration),DecimalParameterDeclaration:convertCfnAnalysisDecimalParameterDeclarationPropertyToCloudFormation(properties.decimalParameterDeclaration),IntegerParameterDeclaration:convertCfnAnalysisIntegerParameterDeclarationPropertyToCloudFormation(properties.integerParameterDeclaration),StringParameterDeclaration:convertCfnAnalysisStringParameterDeclarationPropertyToCloudFormation(properties.stringParameterDeclaration)}):properties}function CfnAnalysisParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeParameterDeclaration","DateTimeParameterDeclaration",properties.DateTimeParameterDeclaration!=null?CfnAnalysisDateTimeParameterDeclarationPropertyFromCloudFormation(properties.DateTimeParameterDeclaration):void 0),ret.addPropertyResult("decimalParameterDeclaration","DecimalParameterDeclaration",properties.DecimalParameterDeclaration!=null?CfnAnalysisDecimalParameterDeclarationPropertyFromCloudFormation(properties.DecimalParameterDeclaration):void 0),ret.addPropertyResult("integerParameterDeclaration","IntegerParameterDeclaration",properties.IntegerParameterDeclaration!=null?CfnAnalysisIntegerParameterDeclarationPropertyFromCloudFormation(properties.IntegerParameterDeclaration):void 0),ret.addPropertyResult("stringParameterDeclaration","StringParameterDeclaration",properties.StringParameterDeclaration!=null?CfnAnalysisStringParameterDeclarationPropertyFromCloudFormation(properties.StringParameterDeclaration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAssetOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("timezone",cdk().validateString)(properties.timezone)),errors.collect(cdk().propertyValidator("weekStart",cdk().validateString)(properties.weekStart)),errors.wrap('supplied properties not correct for "AssetOptionsProperty"')}function convertCfnAnalysisAssetOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAssetOptionsPropertyValidator(properties).assertSuccess(),{Timezone:cdk().stringToCloudFormation(properties.timezone),WeekStart:cdk().stringToCloudFormation(properties.weekStart)}):properties}function CfnAnalysisAssetOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("timezone","Timezone",properties.Timezone!=null?cfn_parse().FromCloudFormation.getString(properties.Timezone):void 0),ret.addPropertyResult("weekStart","WeekStart",properties.WeekStart!=null?cfn_parse().FromCloudFormation.getString(properties.WeekStart):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisQueryExecutionOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("queryExecutionMode",cdk().validateString)(properties.queryExecutionMode)),errors.wrap('supplied properties not correct for "QueryExecutionOptionsProperty"')}function convertCfnAnalysisQueryExecutionOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisQueryExecutionOptionsPropertyValidator(properties).assertSuccess(),{QueryExecutionMode:cdk().stringToCloudFormation(properties.queryExecutionMode)}):properties}function CfnAnalysisQueryExecutionOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("queryExecutionMode","QueryExecutionMode",properties.QueryExecutionMode!=null?cfn_parse().FromCloudFormation.getString(properties.QueryExecutionMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisStaticFileUrlSourceOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("url",cdk().requiredValidator)(properties.url)),errors.collect(cdk().propertyValidator("url",cdk().validateString)(properties.url)),errors.wrap('supplied properties not correct for "StaticFileUrlSourceOptionsProperty"')}function convertCfnAnalysisStaticFileUrlSourceOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisStaticFileUrlSourceOptionsPropertyValidator(properties).assertSuccess(),{Url:cdk().stringToCloudFormation(properties.url)}):properties}function CfnAnalysisStaticFileUrlSourceOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("url","Url",properties.Url!=null?cfn_parse().FromCloudFormation.getString(properties.Url):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisStaticFileS3SourceOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("objectKey",cdk().requiredValidator)(properties.objectKey)),errors.collect(cdk().propertyValidator("objectKey",cdk().validateString)(properties.objectKey)),errors.collect(cdk().propertyValidator("region",cdk().requiredValidator)(properties.region)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.wrap('supplied properties not correct for "StaticFileS3SourceOptionsProperty"')}function convertCfnAnalysisStaticFileS3SourceOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisStaticFileS3SourceOptionsPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),ObjectKey:cdk().stringToCloudFormation(properties.objectKey),Region:cdk().stringToCloudFormation(properties.region)}):properties}function CfnAnalysisStaticFileS3SourceOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("objectKey","ObjectKey",properties.ObjectKey!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectKey):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisStaticFileSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("s3Options",CfnAnalysisStaticFileS3SourceOptionsPropertyValidator)(properties.s3Options)),errors.collect(cdk().propertyValidator("urlOptions",CfnAnalysisStaticFileUrlSourceOptionsPropertyValidator)(properties.urlOptions)),errors.wrap('supplied properties not correct for "StaticFileSourceProperty"')}function convertCfnAnalysisStaticFileSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisStaticFileSourcePropertyValidator(properties).assertSuccess(),{S3Options:convertCfnAnalysisStaticFileS3SourceOptionsPropertyToCloudFormation(properties.s3Options),UrlOptions:convertCfnAnalysisStaticFileUrlSourceOptionsPropertyToCloudFormation(properties.urlOptions)}):properties}function CfnAnalysisStaticFileSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("s3Options","S3Options",properties.S3Options!=null?CfnAnalysisStaticFileS3SourceOptionsPropertyFromCloudFormation(properties.S3Options):void 0),ret.addPropertyResult("urlOptions","UrlOptions",properties.UrlOptions!=null?CfnAnalysisStaticFileUrlSourceOptionsPropertyFromCloudFormation(properties.UrlOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisImageStaticFilePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("source",CfnAnalysisStaticFileSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("staticFileId",cdk().requiredValidator)(properties.staticFileId)),errors.collect(cdk().propertyValidator("staticFileId",cdk().validateString)(properties.staticFileId)),errors.wrap('supplied properties not correct for "ImageStaticFileProperty"')}function convertCfnAnalysisImageStaticFilePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisImageStaticFilePropertyValidator(properties).assertSuccess(),{Source:convertCfnAnalysisStaticFileSourcePropertyToCloudFormation(properties.source),StaticFileId:cdk().stringToCloudFormation(properties.staticFileId)}):properties}function CfnAnalysisImageStaticFilePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("source","Source",properties.Source!=null?CfnAnalysisStaticFileSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("staticFileId","StaticFileId",properties.StaticFileId!=null?cfn_parse().FromCloudFormation.getString(properties.StaticFileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSpatialStaticFilePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("source",CfnAnalysisStaticFileSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("staticFileId",cdk().requiredValidator)(properties.staticFileId)),errors.collect(cdk().propertyValidator("staticFileId",cdk().validateString)(properties.staticFileId)),errors.wrap('supplied properties not correct for "SpatialStaticFileProperty"')}function convertCfnAnalysisSpatialStaticFilePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSpatialStaticFilePropertyValidator(properties).assertSuccess(),{Source:convertCfnAnalysisStaticFileSourcePropertyToCloudFormation(properties.source),StaticFileId:cdk().stringToCloudFormation(properties.staticFileId)}):properties}function CfnAnalysisSpatialStaticFilePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("source","Source",properties.Source!=null?CfnAnalysisStaticFileSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("staticFileId","StaticFileId",properties.StaticFileId!=null?cfn_parse().FromCloudFormation.getString(properties.StaticFileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisStaticFilePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("imageStaticFile",CfnAnalysisImageStaticFilePropertyValidator)(properties.imageStaticFile)),errors.collect(cdk().propertyValidator("spatialStaticFile",CfnAnalysisSpatialStaticFilePropertyValidator)(properties.spatialStaticFile)),errors.wrap('supplied properties not correct for "StaticFileProperty"')}function convertCfnAnalysisStaticFilePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisStaticFilePropertyValidator(properties).assertSuccess(),{ImageStaticFile:convertCfnAnalysisImageStaticFilePropertyToCloudFormation(properties.imageStaticFile),SpatialStaticFile:convertCfnAnalysisSpatialStaticFilePropertyToCloudFormation(properties.spatialStaticFile)}):properties}function CfnAnalysisStaticFilePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("imageStaticFile","ImageStaticFile",properties.ImageStaticFile!=null?CfnAnalysisImageStaticFilePropertyFromCloudFormation(properties.ImageStaticFile):void 0),ret.addPropertyResult("spatialStaticFile","SpatialStaticFile",properties.SpatialStaticFile!=null?CfnAnalysisSpatialStaticFilePropertyFromCloudFormation(properties.SpatialStaticFile):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAnalysisDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("analysisDefaults",CfnAnalysisAnalysisDefaultsPropertyValidator)(properties.analysisDefaults)),errors.collect(cdk().propertyValidator("calculatedFields",cdk().listValidator(CfnAnalysisCalculatedFieldPropertyValidator))(properties.calculatedFields)),errors.collect(cdk().propertyValidator("columnConfigurations",cdk().listValidator(CfnAnalysisColumnConfigurationPropertyValidator))(properties.columnConfigurations)),errors.collect(cdk().propertyValidator("dataSetIdentifierDeclarations",cdk().requiredValidator)(properties.dataSetIdentifierDeclarations)),errors.collect(cdk().propertyValidator("dataSetIdentifierDeclarations",cdk().listValidator(CfnAnalysisDataSetIdentifierDeclarationPropertyValidator))(properties.dataSetIdentifierDeclarations)),errors.collect(cdk().propertyValidator("filterGroups",cdk().listValidator(CfnAnalysisFilterGroupPropertyValidator))(properties.filterGroups)),errors.collect(cdk().propertyValidator("options",CfnAnalysisAssetOptionsPropertyValidator)(properties.options)),errors.collect(cdk().propertyValidator("parameterDeclarations",cdk().listValidator(CfnAnalysisParameterDeclarationPropertyValidator))(properties.parameterDeclarations)),errors.collect(cdk().propertyValidator("queryExecutionOptions",CfnAnalysisQueryExecutionOptionsPropertyValidator)(properties.queryExecutionOptions)),errors.collect(cdk().propertyValidator("sheets",cdk().listValidator(CfnAnalysisSheetDefinitionPropertyValidator))(properties.sheets)),errors.collect(cdk().propertyValidator("staticFiles",cdk().listValidator(CfnAnalysisStaticFilePropertyValidator))(properties.staticFiles)),errors.wrap('supplied properties not correct for "AnalysisDefinitionProperty"')}function convertCfnAnalysisAnalysisDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAnalysisDefinitionPropertyValidator(properties).assertSuccess(),{AnalysisDefaults:convertCfnAnalysisAnalysisDefaultsPropertyToCloudFormation(properties.analysisDefaults),CalculatedFields:cdk().listMapper(convertCfnAnalysisCalculatedFieldPropertyToCloudFormation)(properties.calculatedFields),ColumnConfigurations:cdk().listMapper(convertCfnAnalysisColumnConfigurationPropertyToCloudFormation)(properties.columnConfigurations),DataSetIdentifierDeclarations:cdk().listMapper(convertCfnAnalysisDataSetIdentifierDeclarationPropertyToCloudFormation)(properties.dataSetIdentifierDeclarations),FilterGroups:cdk().listMapper(convertCfnAnalysisFilterGroupPropertyToCloudFormation)(properties.filterGroups),Options:convertCfnAnalysisAssetOptionsPropertyToCloudFormation(properties.options),ParameterDeclarations:cdk().listMapper(convertCfnAnalysisParameterDeclarationPropertyToCloudFormation)(properties.parameterDeclarations),QueryExecutionOptions:convertCfnAnalysisQueryExecutionOptionsPropertyToCloudFormation(properties.queryExecutionOptions),Sheets:cdk().listMapper(convertCfnAnalysisSheetDefinitionPropertyToCloudFormation)(properties.sheets),StaticFiles:cdk().listMapper(convertCfnAnalysisStaticFilePropertyToCloudFormation)(properties.staticFiles)}):properties}function CfnAnalysisAnalysisDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("analysisDefaults","AnalysisDefaults",properties.AnalysisDefaults!=null?CfnAnalysisAnalysisDefaultsPropertyFromCloudFormation(properties.AnalysisDefaults):void 0),ret.addPropertyResult("calculatedFields","CalculatedFields",properties.CalculatedFields!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisCalculatedFieldPropertyFromCloudFormation)(properties.CalculatedFields):void 0),ret.addPropertyResult("columnConfigurations","ColumnConfigurations",properties.ColumnConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisColumnConfigurationPropertyFromCloudFormation)(properties.ColumnConfigurations):void 0),ret.addPropertyResult("dataSetIdentifierDeclarations","DataSetIdentifierDeclarations",properties.DataSetIdentifierDeclarations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisDataSetIdentifierDeclarationPropertyFromCloudFormation)(properties.DataSetIdentifierDeclarations):void 0),ret.addPropertyResult("filterGroups","FilterGroups",properties.FilterGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisFilterGroupPropertyFromCloudFormation)(properties.FilterGroups):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?CfnAnalysisAssetOptionsPropertyFromCloudFormation(properties.Options):void 0),ret.addPropertyResult("parameterDeclarations","ParameterDeclarations",properties.ParameterDeclarations!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisParameterDeclarationPropertyFromCloudFormation)(properties.ParameterDeclarations):void 0),ret.addPropertyResult("queryExecutionOptions","QueryExecutionOptions",properties.QueryExecutionOptions!=null?CfnAnalysisQueryExecutionOptionsPropertyFromCloudFormation(properties.QueryExecutionOptions):void 0),ret.addPropertyResult("sheets","Sheets",properties.Sheets!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisSheetDefinitionPropertyFromCloudFormation)(properties.Sheets):void 0),ret.addPropertyResult("staticFiles","StaticFiles",properties.StaticFiles!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisStaticFilePropertyFromCloudFormation)(properties.StaticFiles):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisResourcePermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("principal",cdk().requiredValidator)(properties.principal)),errors.collect(cdk().propertyValidator("principal",cdk().validateString)(properties.principal)),errors.collect(cdk().propertyValidator("resource",cdk().validateString)(properties.resource)),errors.wrap('supplied properties not correct for "ResourcePermissionProperty"')}function convertCfnAnalysisResourcePermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisResourcePermissionPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),Principal:cdk().stringToCloudFormation(properties.principal),Resource:cdk().stringToCloudFormation(properties.resource)}):properties}function CfnAnalysisResourcePermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getString(properties.Principal):void 0),ret.addPropertyResult("resource","Resource",properties.Resource!=null?cfn_parse().FromCloudFormation.getString(properties.Resource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisValidationStrategyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("mode",cdk().requiredValidator)(properties.mode)),errors.collect(cdk().propertyValidator("mode",cdk().validateString)(properties.mode)),errors.wrap('supplied properties not correct for "ValidationStrategyProperty"')}function convertCfnAnalysisValidationStrategyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisValidationStrategyPropertyValidator(properties).assertSuccess(),{Mode:cdk().stringToCloudFormation(properties.mode)}):properties}function CfnAnalysisValidationStrategyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("mode","Mode",properties.Mode!=null?cfn_parse().FromCloudFormation.getString(properties.Mode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisEntityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.wrap('supplied properties not correct for "EntityProperty"')}function convertCfnAnalysisEntityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisEntityPropertyValidator(properties).assertSuccess(),{Path:cdk().stringToCloudFormation(properties.path)}):properties}function CfnAnalysisEntityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisAnalysisErrorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("violatedEntities",cdk().listValidator(CfnAnalysisEntityPropertyValidator))(properties.violatedEntities)),errors.wrap('supplied properties not correct for "AnalysisErrorProperty"')}function convertCfnAnalysisAnalysisErrorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisAnalysisErrorPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message),Type:cdk().stringToCloudFormation(properties.type),ViolatedEntities:cdk().listMapper(convertCfnAnalysisEntityPropertyToCloudFormation)(properties.violatedEntities)}):properties}function CfnAnalysisAnalysisErrorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("violatedEntities","ViolatedEntities",properties.ViolatedEntities!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisEntityPropertyFromCloudFormation)(properties.ViolatedEntities):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisSheetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sheetId",cdk().validateString)(properties.sheetId)),errors.wrap('supplied properties not correct for "SheetProperty"')}function convertCfnAnalysisSheetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisSheetPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),SheetId:cdk().stringToCloudFormation(properties.sheetId)}):properties}function CfnAnalysisSheetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("sheetId","SheetId",properties.SheetId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAnalysisPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("analysisId",cdk().requiredValidator)(properties.analysisId)),errors.collect(cdk().propertyValidator("analysisId",cdk().validateString)(properties.analysisId)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().requiredValidator)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("definition",CfnAnalysisAnalysisDefinitionPropertyValidator)(properties.definition)),errors.collect(cdk().propertyValidator("errors",cdk().listValidator(CfnAnalysisAnalysisErrorPropertyValidator))(properties.errors)),errors.collect(cdk().propertyValidator("folderArns",cdk().listValidator(cdk().validateString))(properties.folderArns)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameters",CfnAnalysisParametersPropertyValidator)(properties.parameters)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(CfnAnalysisResourcePermissionPropertyValidator))(properties.permissions)),errors.collect(cdk().propertyValidator("sheets",cdk().listValidator(CfnAnalysisSheetPropertyValidator))(properties.sheets)),errors.collect(cdk().propertyValidator("sourceEntity",CfnAnalysisAnalysisSourceEntityPropertyValidator)(properties.sourceEntity)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("themeArn",cdk().validateString)(properties.themeArn)),errors.collect(cdk().propertyValidator("validationStrategy",CfnAnalysisValidationStrategyPropertyValidator)(properties.validationStrategy)),errors.wrap('supplied properties not correct for "CfnAnalysisProps"')}function convertCfnAnalysisPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAnalysisPropsValidator(properties).assertSuccess(),{AnalysisId:cdk().stringToCloudFormation(properties.analysisId),AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),Definition:convertCfnAnalysisAnalysisDefinitionPropertyToCloudFormation(properties.definition),Errors:cdk().listMapper(convertCfnAnalysisAnalysisErrorPropertyToCloudFormation)(properties.errors),FolderArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.folderArns),Name:cdk().stringToCloudFormation(properties.name),Parameters:convertCfnAnalysisParametersPropertyToCloudFormation(properties.parameters),Permissions:cdk().listMapper(convertCfnAnalysisResourcePermissionPropertyToCloudFormation)(properties.permissions),Sheets:cdk().listMapper(convertCfnAnalysisSheetPropertyToCloudFormation)(properties.sheets),SourceEntity:convertCfnAnalysisAnalysisSourceEntityPropertyToCloudFormation(properties.sourceEntity),Status:cdk().stringToCloudFormation(properties.status),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),ThemeArn:cdk().stringToCloudFormation(properties.themeArn),ValidationStrategy:convertCfnAnalysisValidationStrategyPropertyToCloudFormation(properties.validationStrategy)}):properties}function CfnAnalysisPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("analysisId","AnalysisId",properties.AnalysisId!=null?cfn_parse().FromCloudFormation.getString(properties.AnalysisId):void 0),ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("definition","Definition",properties.Definition!=null?CfnAnalysisAnalysisDefinitionPropertyFromCloudFormation(properties.Definition):void 0),ret.addPropertyResult("errors","Errors",properties.Errors!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisAnalysisErrorPropertyFromCloudFormation)(properties.Errors):void 0),ret.addPropertyResult("folderArns","FolderArns",properties.FolderArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FolderArns):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?CfnAnalysisParametersPropertyFromCloudFormation(properties.Parameters):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisResourcePermissionPropertyFromCloudFormation)(properties.Permissions):void 0),ret.addPropertyResult("sheets","Sheets",properties.Sheets!=null?cfn_parse().FromCloudFormation.getArray(CfnAnalysisSheetPropertyFromCloudFormation)(properties.Sheets):void 0),ret.addPropertyResult("sourceEntity","SourceEntity",properties.SourceEntity!=null?CfnAnalysisAnalysisSourceEntityPropertyFromCloudFormation(properties.SourceEntity):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("themeArn","ThemeArn",properties.ThemeArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThemeArn):void 0),ret.addPropertyResult("validationStrategy","ValidationStrategy",properties.ValidationStrategy!=null?CfnAnalysisValidationStrategyPropertyFromCloudFormation(properties.ValidationStrategy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDashboard extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnDashboard",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::Dashboard";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDashboardPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDashboard(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDashboard(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDashboard.CFN_RESOURCE_TYPE_NAME}static arnForDashboard(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_IDashboardRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDashboard),error}return resource.dashboardRef.dashboardArn}_awsAccountId;_dashboardId;_dashboardPublishOptions;_definition;_folderArns;_linkEntities;_linkSharingConfiguration;_name;_parameters;_permissions;_sourceEntity;tags;_tagsRaw;_themeArn;_validationStrategy;_versionDescription;cfnPropertyNames={awsAccountId:"AwsAccountId",dashboardId:"DashboardId",dashboardPublishOptions:"DashboardPublishOptions",definition:"Definition",folderArns:"FolderArns",linkEntities:"LinkEntities",linkSharingConfiguration:"LinkSharingConfiguration",name:"Name",parameters:"Parameters",permissions:"Permissions",sourceEntity:"SourceEntity",tags:"Tags",themeArn:"ThemeArn",validationStrategy:"ValidationStrategy",versionDescription:"VersionDescription"};constructor(scope,id,props){super(scope,id,{type:CfnDashboard.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnDashboardProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDashboard),error}cdk().requireProperty(props,"awsAccountId",this),cdk().requireProperty(props,"dashboardId",this),cdk().requireProperty(props,"name",this),this._awsAccountId=props.awsAccountId,this._dashboardId=props.dashboardId,this._dashboardPublishOptions=props.dashboardPublishOptions,this._definition=props.definition,this._folderArns=props.folderArns,this._linkEntities=props.linkEntities,this._linkSharingConfiguration=props.linkSharingConfiguration,this._name=props.name,this._parameters=props.parameters,this._permissions=props.permissions,this._sourceEntity=props.sourceEntity,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::Dashboard",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._themeArn=cdk().getRefProperty(props.themeArn?.themeRef,"themeArn")??cdk().ensureStringOrUndefined(props.themeArn,"themeArn","quicksight.IThemeRef | string"),this._validationStrategy=props.validationStrategy,this._versionDescription=props.versionDescription}get dashboardRef(){return{awsAccountId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),dashboardId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),dashboardArn:this.attrArn}}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get dashboardId(){return this._dashboardId}set dashboardId(value){cdk().traceProperty(this.node,"DashboardId"),this._dashboardId=value}get dashboardPublishOptions(){return this._dashboardPublishOptions}set dashboardPublishOptions(value){cdk().traceProperty(this.node,"DashboardPublishOptions"),this._dashboardPublishOptions=value}get definition(){return this._definition}set definition(value){cdk().traceProperty(this.node,"Definition"),this._definition=value}get folderArns(){return this._folderArns}set folderArns(value){cdk().traceProperty(this.node,"FolderArns"),this._folderArns=value}get linkEntities(){return this._linkEntities}set linkEntities(value){cdk().traceProperty(this.node,"LinkEntities"),this._linkEntities=value}get linkSharingConfiguration(){return this._linkSharingConfiguration}set linkSharingConfiguration(value){cdk().traceProperty(this.node,"LinkSharingConfiguration"),this._linkSharingConfiguration=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get parameters(){return this._parameters}set parameters(value){cdk().traceProperty(this.node,"Parameters"),this._parameters=value}get permissions(){return this._permissions}set permissions(value){cdk().traceProperty(this.node,"Permissions"),this._permissions=value}get sourceEntity(){return this._sourceEntity}set sourceEntity(value){cdk().traceProperty(this.node,"SourceEntity"),this._sourceEntity=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get themeArn(){return this._themeArn}set themeArn(value){cdk().traceProperty(this.node,"ThemeArn"),this._themeArn=value}get validationStrategy(){return this._validationStrategy}set validationStrategy(value){cdk().traceProperty(this.node,"ValidationStrategy"),this._validationStrategy=value}get versionDescription(){return this._versionDescription}set versionDescription(value){cdk().traceProperty(this.node,"VersionDescription"),this._versionDescription=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrLastPublishedTime(){return cdk().Token.asString(this.getAtt("LastPublishedTime",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return this.getAtt("Version")}get attrVersionArn(){return cdk().Token.asString(this.getAtt("Version.Arn",cdk().ResolutionTypeHint.STRING))}get attrVersionCreatedTime(){return cdk().Token.asString(this.getAtt("Version.CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrVersionDataSetArns(){return cdk().Token.asList(this.getAtt("Version.DataSetArns",cdk().ResolutionTypeHint.STRING_LIST))}get attrVersionDescription(){return cdk().Token.asString(this.getAtt("Version.Description",cdk().ResolutionTypeHint.STRING))}get attrVersionErrors(){return this.getAtt("Version.Errors")}get attrVersionSheets(){return this.getAtt("Version.Sheets")}get attrVersionSourceEntityArn(){return cdk().Token.asString(this.getAtt("Version.SourceEntityArn",cdk().ResolutionTypeHint.STRING))}get attrVersionStatus(){return cdk().Token.asString(this.getAtt("Version.Status",cdk().ResolutionTypeHint.STRING))}get attrVersionThemeArn(){return cdk().Token.asString(this.getAtt("Version.ThemeArn",cdk().ResolutionTypeHint.STRING))}get attrVersionVersionNumber(){return this.getAtt("Version.VersionNumber",cdk().ResolutionTypeHint.NUMBER)}get cfnProperties(){return{awsAccountId:this._awsAccountId,dashboardId:this._dashboardId,dashboardPublishOptions:this._dashboardPublishOptions,definition:this._definition,folderArns:this._folderArns,linkEntities:this._linkEntities,linkSharingConfiguration:this._linkSharingConfiguration,name:this._name,parameters:this._parameters,permissions:this._permissions,sourceEntity:this._sourceEntity,tags:this.tags.renderTags(),themeArn:this._themeArn,validationStrategy:this._validationStrategy,versionDescription:this._versionDescription}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDashboard.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDashboardPropsToCloudFormation(props)}}exports.CfnDashboard=CfnDashboard;function CfnDashboardSheetControlsOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibilityState",cdk().validateString)(properties.visibilityState)),errors.wrap('supplied properties not correct for "SheetControlsOptionProperty"')}function convertCfnDashboardSheetControlsOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetControlsOptionPropertyValidator(properties).assertSuccess(),{VisibilityState:cdk().stringToCloudFormation(properties.visibilityState)}):properties}function CfnDashboardSheetControlsOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibilityState","VisibilityState",properties.VisibilityState!=null?cfn_parse().FromCloudFormation.getString(properties.VisibilityState):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardExportToCSVOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ExportToCSVOptionProperty"')}function convertCfnDashboardExportToCSVOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardExportToCSVOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardExportToCSVOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataPointMenuLabelOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "DataPointMenuLabelOptionProperty"')}function convertCfnDashboardDataPointMenuLabelOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataPointMenuLabelOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardDataPointMenuLabelOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataPointDrillUpDownOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "DataPointDrillUpDownOptionProperty"')}function convertCfnDashboardDataPointDrillUpDownOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataPointDrillUpDownOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardDataPointDrillUpDownOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAdHocFilteringOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "AdHocFilteringOptionProperty"')}function convertCfnDashboardAdHocFilteringOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAdHocFilteringOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardAdHocFilteringOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardExportHiddenFieldsOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ExportHiddenFieldsOptionProperty"')}function convertCfnDashboardExportHiddenFieldsOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardExportHiddenFieldsOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardExportHiddenFieldsOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDashboardVisualPublishOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("exportHiddenFieldsOption",CfnDashboardExportHiddenFieldsOptionPropertyValidator)(properties.exportHiddenFieldsOption)),errors.wrap('supplied properties not correct for "DashboardVisualPublishOptionsProperty"')}function convertCfnDashboardDashboardVisualPublishOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDashboardVisualPublishOptionsPropertyValidator(properties).assertSuccess(),{ExportHiddenFieldsOption:convertCfnDashboardExportHiddenFieldsOptionPropertyToCloudFormation(properties.exportHiddenFieldsOption)}):properties}function CfnDashboardDashboardVisualPublishOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("exportHiddenFieldsOption","ExportHiddenFieldsOption",properties.ExportHiddenFieldsOption!=null?CfnDashboardExportHiddenFieldsOptionPropertyFromCloudFormation(properties.ExportHiddenFieldsOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisualMenuOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "VisualMenuOptionProperty"')}function convertCfnDashboardVisualMenuOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisualMenuOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardVisualMenuOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataPointTooltipOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "DataPointTooltipOptionProperty"')}function convertCfnDashboardDataPointTooltipOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataPointTooltipOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardDataPointTooltipOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisualAxisSortOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "VisualAxisSortOptionProperty"')}function convertCfnDashboardVisualAxisSortOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisualAxisSortOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardVisualAxisSortOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardExportWithHiddenFieldsOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ExportWithHiddenFieldsOptionProperty"')}function convertCfnDashboardExportWithHiddenFieldsOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardExportWithHiddenFieldsOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardExportWithHiddenFieldsOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetLayoutElementMaximizationOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "SheetLayoutElementMaximizationOptionProperty"')}function convertCfnDashboardSheetLayoutElementMaximizationOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetLayoutElementMaximizationOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardSheetLayoutElementMaximizationOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataStoriesSharingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "DataStoriesSharingOptionProperty"')}function convertCfnDashboardDataStoriesSharingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataStoriesSharingOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardDataStoriesSharingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardQuickSuiteActionsOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "QuickSuiteActionsOptionProperty"')}function convertCfnDashboardQuickSuiteActionsOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardQuickSuiteActionsOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardQuickSuiteActionsOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardExecutiveSummaryOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ExecutiveSummaryOptionProperty"')}function convertCfnDashboardExecutiveSummaryOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardExecutiveSummaryOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardExecutiveSummaryOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataQAEnabledOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "DataQAEnabledOptionProperty"')}function convertCfnDashboardDataQAEnabledOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataQAEnabledOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardDataQAEnabledOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDashboardPublishOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("adHocFilteringOption",CfnDashboardAdHocFilteringOptionPropertyValidator)(properties.adHocFilteringOption)),errors.collect(cdk().propertyValidator("dataPointDrillUpDownOption",CfnDashboardDataPointDrillUpDownOptionPropertyValidator)(properties.dataPointDrillUpDownOption)),errors.collect(cdk().propertyValidator("dataPointMenuLabelOption",CfnDashboardDataPointMenuLabelOptionPropertyValidator)(properties.dataPointMenuLabelOption)),errors.collect(cdk().propertyValidator("dataPointTooltipOption",CfnDashboardDataPointTooltipOptionPropertyValidator)(properties.dataPointTooltipOption)),errors.collect(cdk().propertyValidator("dataQaEnabledOption",CfnDashboardDataQAEnabledOptionPropertyValidator)(properties.dataQaEnabledOption)),errors.collect(cdk().propertyValidator("dataStoriesSharingOption",CfnDashboardDataStoriesSharingOptionPropertyValidator)(properties.dataStoriesSharingOption)),errors.collect(cdk().propertyValidator("executiveSummaryOption",CfnDashboardExecutiveSummaryOptionPropertyValidator)(properties.executiveSummaryOption)),errors.collect(cdk().propertyValidator("exportToCsvOption",CfnDashboardExportToCSVOptionPropertyValidator)(properties.exportToCsvOption)),errors.collect(cdk().propertyValidator("exportWithHiddenFieldsOption",CfnDashboardExportWithHiddenFieldsOptionPropertyValidator)(properties.exportWithHiddenFieldsOption)),errors.collect(cdk().propertyValidator("quickSuiteActionsOption",CfnDashboardQuickSuiteActionsOptionPropertyValidator)(properties.quickSuiteActionsOption)),errors.collect(cdk().propertyValidator("sheetControlsOption",CfnDashboardSheetControlsOptionPropertyValidator)(properties.sheetControlsOption)),errors.collect(cdk().propertyValidator("sheetLayoutElementMaximizationOption",CfnDashboardSheetLayoutElementMaximizationOptionPropertyValidator)(properties.sheetLayoutElementMaximizationOption)),errors.collect(cdk().propertyValidator("visualAxisSortOption",CfnDashboardVisualAxisSortOptionPropertyValidator)(properties.visualAxisSortOption)),errors.collect(cdk().propertyValidator("visualMenuOption",CfnDashboardVisualMenuOptionPropertyValidator)(properties.visualMenuOption)),errors.collect(cdk().propertyValidator("visualPublishOptions",CfnDashboardDashboardVisualPublishOptionsPropertyValidator)(properties.visualPublishOptions)),errors.wrap('supplied properties not correct for "DashboardPublishOptionsProperty"')}function convertCfnDashboardDashboardPublishOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDashboardPublishOptionsPropertyValidator(properties).assertSuccess(),{AdHocFilteringOption:convertCfnDashboardAdHocFilteringOptionPropertyToCloudFormation(properties.adHocFilteringOption),DataPointDrillUpDownOption:convertCfnDashboardDataPointDrillUpDownOptionPropertyToCloudFormation(properties.dataPointDrillUpDownOption),DataPointMenuLabelOption:convertCfnDashboardDataPointMenuLabelOptionPropertyToCloudFormation(properties.dataPointMenuLabelOption),DataPointTooltipOption:convertCfnDashboardDataPointTooltipOptionPropertyToCloudFormation(properties.dataPointTooltipOption),DataQAEnabledOption:convertCfnDashboardDataQAEnabledOptionPropertyToCloudFormation(properties.dataQaEnabledOption),DataStoriesSharingOption:convertCfnDashboardDataStoriesSharingOptionPropertyToCloudFormation(properties.dataStoriesSharingOption),ExecutiveSummaryOption:convertCfnDashboardExecutiveSummaryOptionPropertyToCloudFormation(properties.executiveSummaryOption),ExportToCSVOption:convertCfnDashboardExportToCSVOptionPropertyToCloudFormation(properties.exportToCsvOption),ExportWithHiddenFieldsOption:convertCfnDashboardExportWithHiddenFieldsOptionPropertyToCloudFormation(properties.exportWithHiddenFieldsOption),QuickSuiteActionsOption:convertCfnDashboardQuickSuiteActionsOptionPropertyToCloudFormation(properties.quickSuiteActionsOption),SheetControlsOption:convertCfnDashboardSheetControlsOptionPropertyToCloudFormation(properties.sheetControlsOption),SheetLayoutElementMaximizationOption:convertCfnDashboardSheetLayoutElementMaximizationOptionPropertyToCloudFormation(properties.sheetLayoutElementMaximizationOption),VisualAxisSortOption:convertCfnDashboardVisualAxisSortOptionPropertyToCloudFormation(properties.visualAxisSortOption),VisualMenuOption:convertCfnDashboardVisualMenuOptionPropertyToCloudFormation(properties.visualMenuOption),VisualPublishOptions:convertCfnDashboardDashboardVisualPublishOptionsPropertyToCloudFormation(properties.visualPublishOptions)}):properties}function CfnDashboardDashboardPublishOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("adHocFilteringOption","AdHocFilteringOption",properties.AdHocFilteringOption!=null?CfnDashboardAdHocFilteringOptionPropertyFromCloudFormation(properties.AdHocFilteringOption):void 0),ret.addPropertyResult("dataPointDrillUpDownOption","DataPointDrillUpDownOption",properties.DataPointDrillUpDownOption!=null?CfnDashboardDataPointDrillUpDownOptionPropertyFromCloudFormation(properties.DataPointDrillUpDownOption):void 0),ret.addPropertyResult("dataPointMenuLabelOption","DataPointMenuLabelOption",properties.DataPointMenuLabelOption!=null?CfnDashboardDataPointMenuLabelOptionPropertyFromCloudFormation(properties.DataPointMenuLabelOption):void 0),ret.addPropertyResult("dataPointTooltipOption","DataPointTooltipOption",properties.DataPointTooltipOption!=null?CfnDashboardDataPointTooltipOptionPropertyFromCloudFormation(properties.DataPointTooltipOption):void 0),ret.addPropertyResult("dataQaEnabledOption","DataQAEnabledOption",properties.DataQAEnabledOption!=null?CfnDashboardDataQAEnabledOptionPropertyFromCloudFormation(properties.DataQAEnabledOption):void 0),ret.addPropertyResult("dataStoriesSharingOption","DataStoriesSharingOption",properties.DataStoriesSharingOption!=null?CfnDashboardDataStoriesSharingOptionPropertyFromCloudFormation(properties.DataStoriesSharingOption):void 0),ret.addPropertyResult("executiveSummaryOption","ExecutiveSummaryOption",properties.ExecutiveSummaryOption!=null?CfnDashboardExecutiveSummaryOptionPropertyFromCloudFormation(properties.ExecutiveSummaryOption):void 0),ret.addPropertyResult("exportToCsvOption","ExportToCSVOption",properties.ExportToCSVOption!=null?CfnDashboardExportToCSVOptionPropertyFromCloudFormation(properties.ExportToCSVOption):void 0),ret.addPropertyResult("exportWithHiddenFieldsOption","ExportWithHiddenFieldsOption",properties.ExportWithHiddenFieldsOption!=null?CfnDashboardExportWithHiddenFieldsOptionPropertyFromCloudFormation(properties.ExportWithHiddenFieldsOption):void 0),ret.addPropertyResult("quickSuiteActionsOption","QuickSuiteActionsOption",properties.QuickSuiteActionsOption!=null?CfnDashboardQuickSuiteActionsOptionPropertyFromCloudFormation(properties.QuickSuiteActionsOption):void 0),ret.addPropertyResult("sheetControlsOption","SheetControlsOption",properties.SheetControlsOption!=null?CfnDashboardSheetControlsOptionPropertyFromCloudFormation(properties.SheetControlsOption):void 0),ret.addPropertyResult("sheetLayoutElementMaximizationOption","SheetLayoutElementMaximizationOption",properties.SheetLayoutElementMaximizationOption!=null?CfnDashboardSheetLayoutElementMaximizationOptionPropertyFromCloudFormation(properties.SheetLayoutElementMaximizationOption):void 0),ret.addPropertyResult("visualAxisSortOption","VisualAxisSortOption",properties.VisualAxisSortOption!=null?CfnDashboardVisualAxisSortOptionPropertyFromCloudFormation(properties.VisualAxisSortOption):void 0),ret.addPropertyResult("visualMenuOption","VisualMenuOption",properties.VisualMenuOption!=null?CfnDashboardVisualMenuOptionPropertyFromCloudFormation(properties.VisualMenuOption):void 0),ret.addPropertyResult("visualPublishOptions","VisualPublishOptions",properties.VisualPublishOptions!=null?CfnDashboardDashboardVisualPublishOptionsPropertyFromCloudFormation(properties.VisualPublishOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardStringParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "StringParameterProperty"')}function convertCfnDashboardStringParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardStringParameterPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnDashboardStringParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDecimalParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateNumber))(properties.values)),errors.wrap('supplied properties not correct for "DecimalParameterProperty"')}function convertCfnDashboardDecimalParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDecimalParameterPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().numberToCloudFormation)(properties.values)}):properties}function CfnDashboardDecimalParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardIntegerParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateNumber))(properties.values)),errors.wrap('supplied properties not correct for "IntegerParameterProperty"')}function convertCfnDashboardIntegerParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardIntegerParameterPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().numberToCloudFormation)(properties.values)}):properties}function CfnDashboardIntegerParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateTimeParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "DateTimeParameterProperty"')}function convertCfnDashboardDateTimeParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateTimeParameterPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnDashboardDateTimeParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeParameters",cdk().listValidator(CfnDashboardDateTimeParameterPropertyValidator))(properties.dateTimeParameters)),errors.collect(cdk().propertyValidator("decimalParameters",cdk().listValidator(CfnDashboardDecimalParameterPropertyValidator))(properties.decimalParameters)),errors.collect(cdk().propertyValidator("integerParameters",cdk().listValidator(CfnDashboardIntegerParameterPropertyValidator))(properties.integerParameters)),errors.collect(cdk().propertyValidator("stringParameters",cdk().listValidator(CfnDashboardStringParameterPropertyValidator))(properties.stringParameters)),errors.wrap('supplied properties not correct for "ParametersProperty"')}function convertCfnDashboardParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParametersPropertyValidator(properties).assertSuccess(),{DateTimeParameters:cdk().listMapper(convertCfnDashboardDateTimeParameterPropertyToCloudFormation)(properties.dateTimeParameters),DecimalParameters:cdk().listMapper(convertCfnDashboardDecimalParameterPropertyToCloudFormation)(properties.decimalParameters),IntegerParameters:cdk().listMapper(convertCfnDashboardIntegerParameterPropertyToCloudFormation)(properties.integerParameters),StringParameters:cdk().listMapper(convertCfnDashboardStringParameterPropertyToCloudFormation)(properties.stringParameters)}):properties}function CfnDashboardParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeParameters","DateTimeParameters",properties.DateTimeParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDateTimeParameterPropertyFromCloudFormation)(properties.DateTimeParameters):void 0),ret.addPropertyResult("decimalParameters","DecimalParameters",properties.DecimalParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDecimalParameterPropertyFromCloudFormation)(properties.DecimalParameters):void 0),ret.addPropertyResult("integerParameters","IntegerParameters",properties.IntegerParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardIntegerParameterPropertyFromCloudFormation)(properties.IntegerParameters):void 0),ret.addPropertyResult("stringParameters","StringParameters",properties.StringParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardStringParameterPropertyFromCloudFormation)(properties.StringParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataSetReferencePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetArn",cdk().requiredValidator)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("dataSetArn",cdk().validateString)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("dataSetPlaceholder",cdk().requiredValidator)(properties.dataSetPlaceholder)),errors.collect(cdk().propertyValidator("dataSetPlaceholder",cdk().validateString)(properties.dataSetPlaceholder)),errors.wrap('supplied properties not correct for "DataSetReferenceProperty"')}function convertCfnDashboardDataSetReferencePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataSetReferencePropertyValidator(properties).assertSuccess(),{DataSetArn:cdk().stringToCloudFormation(properties.dataSetArn),DataSetPlaceholder:cdk().stringToCloudFormation(properties.dataSetPlaceholder)}):properties}function CfnDashboardDataSetReferencePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetArn","DataSetArn",properties.DataSetArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetArn):void 0),ret.addPropertyResult("dataSetPlaceholder","DataSetPlaceholder",properties.DataSetPlaceholder!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetPlaceholder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDashboardSourceTemplatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("dataSetReferences",cdk().requiredValidator)(properties.dataSetReferences)),errors.collect(cdk().propertyValidator("dataSetReferences",cdk().listValidator(CfnDashboardDataSetReferencePropertyValidator))(properties.dataSetReferences)),errors.wrap('supplied properties not correct for "DashboardSourceTemplateProperty"')}function convertCfnDashboardDashboardSourceTemplatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDashboardSourceTemplatePropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),DataSetReferences:cdk().listMapper(convertCfnDashboardDataSetReferencePropertyToCloudFormation)(properties.dataSetReferences)}):properties}function CfnDashboardDashboardSourceTemplatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("dataSetReferences","DataSetReferences",properties.DataSetReferences!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDataSetReferencePropertyFromCloudFormation)(properties.DataSetReferences):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDashboardSourceEntityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sourceTemplate",CfnDashboardDashboardSourceTemplatePropertyValidator)(properties.sourceTemplate)),errors.wrap('supplied properties not correct for "DashboardSourceEntityProperty"')}function convertCfnDashboardDashboardSourceEntityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDashboardSourceEntityPropertyValidator(properties).assertSuccess(),{SourceTemplate:convertCfnDashboardDashboardSourceTemplatePropertyToCloudFormation(properties.sourceTemplate)}):properties}function CfnDashboardDashboardSourceEntityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sourceTemplate","SourceTemplate",properties.SourceTemplate!=null?CfnDashboardDashboardSourceTemplatePropertyFromCloudFormation(properties.SourceTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAttributeAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("simpleAttributeAggregation",cdk().validateString)(properties.simpleAttributeAggregation)),errors.collect(cdk().propertyValidator("valueForMultipleValues",cdk().validateString)(properties.valueForMultipleValues)),errors.wrap('supplied properties not correct for "AttributeAggregationFunctionProperty"')}function convertCfnDashboardAttributeAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAttributeAggregationFunctionPropertyValidator(properties).assertSuccess(),{SimpleAttributeAggregation:cdk().stringToCloudFormation(properties.simpleAttributeAggregation),ValueForMultipleValues:cdk().stringToCloudFormation(properties.valueForMultipleValues)}):properties}function CfnDashboardAttributeAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("simpleAttributeAggregation","SimpleAttributeAggregation",properties.SimpleAttributeAggregation!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleAttributeAggregation):void 0),ret.addPropertyResult("valueForMultipleValues","ValueForMultipleValues",properties.ValueForMultipleValues!=null?cfn_parse().FromCloudFormation.getString(properties.ValueForMultipleValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPercentileAggregationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("percentileValue",cdk().validateNumber)(properties.percentileValue)),errors.wrap('supplied properties not correct for "PercentileAggregationProperty"')}function convertCfnDashboardPercentileAggregationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPercentileAggregationPropertyValidator(properties).assertSuccess(),{PercentileValue:cdk().numberToCloudFormation(properties.percentileValue)}):properties}function CfnDashboardPercentileAggregationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("percentileValue","PercentileValue",properties.PercentileValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.PercentileValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericalAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("percentileAggregation",CfnDashboardPercentileAggregationPropertyValidator)(properties.percentileAggregation)),errors.collect(cdk().propertyValidator("simpleNumericalAggregation",cdk().validateString)(properties.simpleNumericalAggregation)),errors.wrap('supplied properties not correct for "NumericalAggregationFunctionProperty"')}function convertCfnDashboardNumericalAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericalAggregationFunctionPropertyValidator(properties).assertSuccess(),{PercentileAggregation:convertCfnDashboardPercentileAggregationPropertyToCloudFormation(properties.percentileAggregation),SimpleNumericalAggregation:cdk().stringToCloudFormation(properties.simpleNumericalAggregation)}):properties}function CfnDashboardNumericalAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("percentileAggregation","PercentileAggregation",properties.PercentileAggregation!=null?CfnDashboardPercentileAggregationPropertyFromCloudFormation(properties.PercentileAggregation):void 0),ret.addPropertyResult("simpleNumericalAggregation","SimpleNumericalAggregation",properties.SimpleNumericalAggregation!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleNumericalAggregation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("attributeAggregationFunction",CfnDashboardAttributeAggregationFunctionPropertyValidator)(properties.attributeAggregationFunction)),errors.collect(cdk().propertyValidator("categoricalAggregationFunction",cdk().validateString)(properties.categoricalAggregationFunction)),errors.collect(cdk().propertyValidator("dateAggregationFunction",cdk().validateString)(properties.dateAggregationFunction)),errors.collect(cdk().propertyValidator("numericalAggregationFunction",CfnDashboardNumericalAggregationFunctionPropertyValidator)(properties.numericalAggregationFunction)),errors.wrap('supplied properties not correct for "AggregationFunctionProperty"')}function convertCfnDashboardAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAggregationFunctionPropertyValidator(properties).assertSuccess(),{AttributeAggregationFunction:convertCfnDashboardAttributeAggregationFunctionPropertyToCloudFormation(properties.attributeAggregationFunction),CategoricalAggregationFunction:cdk().stringToCloudFormation(properties.categoricalAggregationFunction),DateAggregationFunction:cdk().stringToCloudFormation(properties.dateAggregationFunction),NumericalAggregationFunction:convertCfnDashboardNumericalAggregationFunctionPropertyToCloudFormation(properties.numericalAggregationFunction)}):properties}function CfnDashboardAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("attributeAggregationFunction","AttributeAggregationFunction",properties.AttributeAggregationFunction!=null?CfnDashboardAttributeAggregationFunctionPropertyFromCloudFormation(properties.AttributeAggregationFunction):void 0),ret.addPropertyResult("categoricalAggregationFunction","CategoricalAggregationFunction",properties.CategoricalAggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.CategoricalAggregationFunction):void 0),ret.addPropertyResult("dateAggregationFunction","DateAggregationFunction",properties.DateAggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.DateAggregationFunction):void 0),ret.addPropertyResult("numericalAggregationFunction","NumericalAggregationFunction",properties.NumericalAggregationFunction!=null?CfnDashboardNumericalAggregationFunctionPropertyFromCloudFormation(properties.NumericalAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardColumnIdentifierPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.wrap('supplied properties not correct for "ColumnIdentifierProperty"')}function convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardColumnIdentifierPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier)}):properties}function CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFontSizePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("absolute",cdk().validateString)(properties.absolute)),errors.collect(cdk().propertyValidator("relative",cdk().validateString)(properties.relative)),errors.wrap('supplied properties not correct for "FontSizeProperty"')}function convertCfnDashboardFontSizePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFontSizePropertyValidator(properties).assertSuccess(),{Absolute:cdk().stringToCloudFormation(properties.absolute),Relative:cdk().stringToCloudFormation(properties.relative)}):properties}function CfnDashboardFontSizePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("absolute","Absolute",properties.Absolute!=null?cfn_parse().FromCloudFormation.getString(properties.Absolute):void 0),ret.addPropertyResult("relative","Relative",properties.Relative!=null?cfn_parse().FromCloudFormation.getString(properties.Relative):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFontWeightPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "FontWeightProperty"')}function convertCfnDashboardFontWeightPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFontWeightPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnDashboardFontWeightPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFontConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontColor",cdk().validateString)(properties.fontColor)),errors.collect(cdk().propertyValidator("fontDecoration",cdk().validateString)(properties.fontDecoration)),errors.collect(cdk().propertyValidator("fontFamily",cdk().validateString)(properties.fontFamily)),errors.collect(cdk().propertyValidator("fontSize",CfnDashboardFontSizePropertyValidator)(properties.fontSize)),errors.collect(cdk().propertyValidator("fontStyle",cdk().validateString)(properties.fontStyle)),errors.collect(cdk().propertyValidator("fontWeight",CfnDashboardFontWeightPropertyValidator)(properties.fontWeight)),errors.wrap('supplied properties not correct for "FontConfigurationProperty"')}function convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFontConfigurationPropertyValidator(properties).assertSuccess(),{FontColor:cdk().stringToCloudFormation(properties.fontColor),FontDecoration:cdk().stringToCloudFormation(properties.fontDecoration),FontFamily:cdk().stringToCloudFormation(properties.fontFamily),FontSize:convertCfnDashboardFontSizePropertyToCloudFormation(properties.fontSize),FontStyle:cdk().stringToCloudFormation(properties.fontStyle),FontWeight:convertCfnDashboardFontWeightPropertyToCloudFormation(properties.fontWeight)}):properties}function CfnDashboardFontConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontColor","FontColor",properties.FontColor!=null?cfn_parse().FromCloudFormation.getString(properties.FontColor):void 0),ret.addPropertyResult("fontDecoration","FontDecoration",properties.FontDecoration!=null?cfn_parse().FromCloudFormation.getString(properties.FontDecoration):void 0),ret.addPropertyResult("fontFamily","FontFamily",properties.FontFamily!=null?cfn_parse().FromCloudFormation.getString(properties.FontFamily):void 0),ret.addPropertyResult("fontSize","FontSize",properties.FontSize!=null?CfnDashboardFontSizePropertyFromCloudFormation(properties.FontSize):void 0),ret.addPropertyResult("fontStyle","FontStyle",properties.FontStyle!=null?cfn_parse().FromCloudFormation.getString(properties.FontStyle):void 0),ret.addPropertyResult("fontWeight","FontWeight",properties.FontWeight!=null?CfnDashboardFontWeightPropertyFromCloudFormation(properties.FontWeight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "LabelOptionsProperty"')}function convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLabelOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetControlInfoIconLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconText",cdk().validateString)(properties.infoIconText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SheetControlInfoIconLabelOptionsProperty"')}function convertCfnDashboardSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetControlInfoIconLabelOptionsPropertyValidator(properties).assertSuccess(),{InfoIconText:cdk().stringToCloudFormation(properties.infoIconText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconText","InfoIconText",properties.InfoIconText!=null?cfn_parse().FromCloudFormation.getString(properties.InfoIconText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSliderControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnDashboardSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnDashboardLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "SliderControlDisplayOptionsProperty"')}function convertCfnDashboardSliderControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSliderControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnDashboardSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),TitleOptions:convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnDashboardSliderControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnDashboardSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnDashboardLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultSliderControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardSliderControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("maximumValue",cdk().requiredValidator)(properties.maximumValue)),errors.collect(cdk().propertyValidator("maximumValue",cdk().validateNumber)(properties.maximumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().requiredValidator)(properties.minimumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().validateNumber)(properties.minimumValue)),errors.collect(cdk().propertyValidator("stepSize",cdk().requiredValidator)(properties.stepSize)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultSliderControlOptionsProperty"')}function convertCfnDashboardDefaultSliderControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultSliderControlOptionsPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnDashboardSliderControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),MaximumValue:cdk().numberToCloudFormation(properties.maximumValue),MinimumValue:cdk().numberToCloudFormation(properties.minimumValue),StepSize:cdk().numberToCloudFormation(properties.stepSize),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardDefaultSliderControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardSliderControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("maximumValue","MaximumValue",properties.MaximumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumValue):void 0),ret.addPropertyResult("minimumValue","MinimumValue",properties.MinimumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumValue):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRelativeDateTimeControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeFormat",cdk().validateString)(properties.dateTimeFormat)),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnDashboardSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnDashboardLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "RelativeDateTimeControlDisplayOptionsProperty"')}function convertCfnDashboardRelativeDateTimeControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRelativeDateTimeControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{DateTimeFormat:cdk().stringToCloudFormation(properties.dateTimeFormat),InfoIconLabelOptions:convertCfnDashboardSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),TitleOptions:convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnDashboardRelativeDateTimeControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeFormat","DateTimeFormat",properties.DateTimeFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateTimeFormat):void 0),ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnDashboardSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnDashboardLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultRelativeDateTimeControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardRelativeDateTimeControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.wrap('supplied properties not correct for "DefaultRelativeDateTimeControlOptionsProperty"')}function convertCfnDashboardDefaultRelativeDateTimeControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultRelativeDateTimeControlOptionsPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnDashboardRelativeDateTimeControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions)}):properties}function CfnDashboardDefaultRelativeDateTimeControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardRelativeDateTimeControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTextControlPlaceholderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "TextControlPlaceholderOptionsProperty"')}function convertCfnDashboardTextControlPlaceholderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTextControlPlaceholderOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardTextControlPlaceholderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTextFieldControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnDashboardSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("placeholderOptions",CfnDashboardTextControlPlaceholderOptionsPropertyValidator)(properties.placeholderOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnDashboardLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "TextFieldControlDisplayOptionsProperty"')}function convertCfnDashboardTextFieldControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTextFieldControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnDashboardSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),PlaceholderOptions:convertCfnDashboardTextControlPlaceholderOptionsPropertyToCloudFormation(properties.placeholderOptions),TitleOptions:convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnDashboardTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnDashboardSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("placeholderOptions","PlaceholderOptions",properties.PlaceholderOptions!=null?CfnDashboardTextControlPlaceholderOptionsPropertyFromCloudFormation(properties.PlaceholderOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnDashboardLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultTextFieldControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardTextFieldControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.wrap('supplied properties not correct for "DefaultTextFieldControlOptionsProperty"')}function convertCfnDashboardDefaultTextFieldControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultTextFieldControlOptionsPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnDashboardTextFieldControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions)}):properties}function CfnDashboardDefaultTextFieldControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTextAreaControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnDashboardSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("placeholderOptions",CfnDashboardTextControlPlaceholderOptionsPropertyValidator)(properties.placeholderOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnDashboardLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "TextAreaControlDisplayOptionsProperty"')}function convertCfnDashboardTextAreaControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTextAreaControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnDashboardSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),PlaceholderOptions:convertCfnDashboardTextControlPlaceholderOptionsPropertyToCloudFormation(properties.placeholderOptions),TitleOptions:convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnDashboardTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnDashboardSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("placeholderOptions","PlaceholderOptions",properties.PlaceholderOptions!=null?CfnDashboardTextControlPlaceholderOptionsPropertyFromCloudFormation(properties.PlaceholderOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnDashboardLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultTextAreaControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardTextAreaControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.wrap('supplied properties not correct for "DefaultTextAreaControlOptionsProperty"')}function convertCfnDashboardDefaultTextAreaControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultTextAreaControlOptionsPropertyValidator(properties).assertSuccess(),{Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisplayOptions:convertCfnDashboardTextAreaControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions)}):properties}function CfnDashboardDefaultTextAreaControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardListControlSelectAllOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ListControlSelectAllOptionsProperty"')}function convertCfnDashboardListControlSelectAllOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardListControlSelectAllOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardListControlSelectAllOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDropDownControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnDashboardSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("selectAllOptions",CfnDashboardListControlSelectAllOptionsPropertyValidator)(properties.selectAllOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnDashboardLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "DropDownControlDisplayOptionsProperty"')}function convertCfnDashboardDropDownControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDropDownControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnDashboardSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),SelectAllOptions:convertCfnDashboardListControlSelectAllOptionsPropertyToCloudFormation(properties.selectAllOptions),TitleOptions:convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnDashboardDropDownControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnDashboardSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?CfnDashboardListControlSelectAllOptionsPropertyFromCloudFormation(properties.SelectAllOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnDashboardLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterSelectableValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "FilterSelectableValuesProperty"')}function convertCfnDashboardFilterSelectableValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterSelectableValuesPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnDashboardFilterSelectableValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultFilterDropDownControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardDropDownControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("selectableValues",CfnDashboardFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultFilterDropDownControlOptionsProperty"')}function convertCfnDashboardDefaultFilterDropDownControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultFilterDropDownControlOptionsPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnDashboardDropDownControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),SelectableValues:convertCfnDashboardFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardDefaultFilterDropDownControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardDropDownControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnDashboardFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateTimePickerControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateIconVisibility",cdk().validateString)(properties.dateIconVisibility)),errors.collect(cdk().propertyValidator("dateTimeFormat",cdk().validateString)(properties.dateTimeFormat)),errors.collect(cdk().propertyValidator("helperTextVisibility",cdk().validateString)(properties.helperTextVisibility)),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnDashboardSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnDashboardLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "DateTimePickerControlDisplayOptionsProperty"')}function convertCfnDashboardDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateTimePickerControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{DateIconVisibility:cdk().stringToCloudFormation(properties.dateIconVisibility),DateTimeFormat:cdk().stringToCloudFormation(properties.dateTimeFormat),HelperTextVisibility:cdk().stringToCloudFormation(properties.helperTextVisibility),InfoIconLabelOptions:convertCfnDashboardSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),TitleOptions:convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnDashboardDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateIconVisibility","DateIconVisibility",properties.DateIconVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.DateIconVisibility):void 0),ret.addPropertyResult("dateTimeFormat","DateTimeFormat",properties.DateTimeFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateTimeFormat):void 0),ret.addPropertyResult("helperTextVisibility","HelperTextVisibility",properties.HelperTextVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.HelperTextVisibility):void 0),ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnDashboardSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnDashboardLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultDateTimePickerControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardDateTimePickerControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultDateTimePickerControlOptionsProperty"')}function convertCfnDashboardDefaultDateTimePickerControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultDateTimePickerControlOptionsPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnDashboardDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardDefaultDateTimePickerControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardListControlSearchOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ListControlSearchOptionsProperty"')}function convertCfnDashboardListControlSearchOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardListControlSearchOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardListControlSearchOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardListControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnDashboardSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("searchOptions",CfnDashboardListControlSearchOptionsPropertyValidator)(properties.searchOptions)),errors.collect(cdk().propertyValidator("selectAllOptions",CfnDashboardListControlSelectAllOptionsPropertyValidator)(properties.selectAllOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnDashboardLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "ListControlDisplayOptionsProperty"')}function convertCfnDashboardListControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardListControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnDashboardSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),SearchOptions:convertCfnDashboardListControlSearchOptionsPropertyToCloudFormation(properties.searchOptions),SelectAllOptions:convertCfnDashboardListControlSelectAllOptionsPropertyToCloudFormation(properties.selectAllOptions),TitleOptions:convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnDashboardListControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnDashboardSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("searchOptions","SearchOptions",properties.SearchOptions!=null?CfnDashboardListControlSearchOptionsPropertyFromCloudFormation(properties.SearchOptions):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?CfnDashboardListControlSelectAllOptionsPropertyFromCloudFormation(properties.SelectAllOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnDashboardLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultFilterListControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardListControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("selectableValues",CfnDashboardFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultFilterListControlOptionsProperty"')}function convertCfnDashboardDefaultFilterListControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultFilterListControlOptionsPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnDashboardListControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),SelectableValues:convertCfnDashboardFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardDefaultFilterListControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardListControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnDashboardFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultFilterControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultDateTimePickerOptions",CfnDashboardDefaultDateTimePickerControlOptionsPropertyValidator)(properties.defaultDateTimePickerOptions)),errors.collect(cdk().propertyValidator("defaultDropdownOptions",CfnDashboardDefaultFilterDropDownControlOptionsPropertyValidator)(properties.defaultDropdownOptions)),errors.collect(cdk().propertyValidator("defaultListOptions",CfnDashboardDefaultFilterListControlOptionsPropertyValidator)(properties.defaultListOptions)),errors.collect(cdk().propertyValidator("defaultRelativeDateTimeOptions",CfnDashboardDefaultRelativeDateTimeControlOptionsPropertyValidator)(properties.defaultRelativeDateTimeOptions)),errors.collect(cdk().propertyValidator("defaultSliderOptions",CfnDashboardDefaultSliderControlOptionsPropertyValidator)(properties.defaultSliderOptions)),errors.collect(cdk().propertyValidator("defaultTextAreaOptions",CfnDashboardDefaultTextAreaControlOptionsPropertyValidator)(properties.defaultTextAreaOptions)),errors.collect(cdk().propertyValidator("defaultTextFieldOptions",CfnDashboardDefaultTextFieldControlOptionsPropertyValidator)(properties.defaultTextFieldOptions)),errors.wrap('supplied properties not correct for "DefaultFilterControlOptionsProperty"')}function convertCfnDashboardDefaultFilterControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultFilterControlOptionsPropertyValidator(properties).assertSuccess(),{DefaultDateTimePickerOptions:convertCfnDashboardDefaultDateTimePickerControlOptionsPropertyToCloudFormation(properties.defaultDateTimePickerOptions),DefaultDropdownOptions:convertCfnDashboardDefaultFilterDropDownControlOptionsPropertyToCloudFormation(properties.defaultDropdownOptions),DefaultListOptions:convertCfnDashboardDefaultFilterListControlOptionsPropertyToCloudFormation(properties.defaultListOptions),DefaultRelativeDateTimeOptions:convertCfnDashboardDefaultRelativeDateTimeControlOptionsPropertyToCloudFormation(properties.defaultRelativeDateTimeOptions),DefaultSliderOptions:convertCfnDashboardDefaultSliderControlOptionsPropertyToCloudFormation(properties.defaultSliderOptions),DefaultTextAreaOptions:convertCfnDashboardDefaultTextAreaControlOptionsPropertyToCloudFormation(properties.defaultTextAreaOptions),DefaultTextFieldOptions:convertCfnDashboardDefaultTextFieldControlOptionsPropertyToCloudFormation(properties.defaultTextFieldOptions)}):properties}function CfnDashboardDefaultFilterControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultDateTimePickerOptions","DefaultDateTimePickerOptions",properties.DefaultDateTimePickerOptions!=null?CfnDashboardDefaultDateTimePickerControlOptionsPropertyFromCloudFormation(properties.DefaultDateTimePickerOptions):void 0),ret.addPropertyResult("defaultDropdownOptions","DefaultDropdownOptions",properties.DefaultDropdownOptions!=null?CfnDashboardDefaultFilterDropDownControlOptionsPropertyFromCloudFormation(properties.DefaultDropdownOptions):void 0),ret.addPropertyResult("defaultListOptions","DefaultListOptions",properties.DefaultListOptions!=null?CfnDashboardDefaultFilterListControlOptionsPropertyFromCloudFormation(properties.DefaultListOptions):void 0),ret.addPropertyResult("defaultRelativeDateTimeOptions","DefaultRelativeDateTimeOptions",properties.DefaultRelativeDateTimeOptions!=null?CfnDashboardDefaultRelativeDateTimeControlOptionsPropertyFromCloudFormation(properties.DefaultRelativeDateTimeOptions):void 0),ret.addPropertyResult("defaultSliderOptions","DefaultSliderOptions",properties.DefaultSliderOptions!=null?CfnDashboardDefaultSliderControlOptionsPropertyFromCloudFormation(properties.DefaultSliderOptions):void 0),ret.addPropertyResult("defaultTextAreaOptions","DefaultTextAreaOptions",properties.DefaultTextAreaOptions!=null?CfnDashboardDefaultTextAreaControlOptionsPropertyFromCloudFormation(properties.DefaultTextAreaOptions):void 0),ret.addPropertyResult("defaultTextFieldOptions","DefaultTextFieldOptions",properties.DefaultTextFieldOptions!=null?CfnDashboardDefaultTextFieldControlOptionsPropertyFromCloudFormation(properties.DefaultTextFieldOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultFilterControlConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("controlOptions",cdk().requiredValidator)(properties.controlOptions)),errors.collect(cdk().propertyValidator("controlOptions",CfnDashboardDefaultFilterControlOptionsPropertyValidator)(properties.controlOptions)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "DefaultFilterControlConfigurationProperty"')}function convertCfnDashboardDefaultFilterControlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultFilterControlConfigurationPropertyValidator(properties).assertSuccess(),{ControlOptions:convertCfnDashboardDefaultFilterControlOptionsPropertyToCloudFormation(properties.controlOptions),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnDashboardDefaultFilterControlConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("controlOptions","ControlOptions",properties.ControlOptions!=null?CfnDashboardDefaultFilterControlOptionsPropertyFromCloudFormation(properties.ControlOptions):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericEqualityFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnDashboardAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnDashboardDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "NumericEqualityFilterProperty"')}function convertCfnDashboardNumericEqualityFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericEqualityFilterPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnDashboardAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnDashboardDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnDashboardNumericEqualityFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnDashboardAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnDashboardDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericRangeFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameter",cdk().validateString)(properties.parameter)),errors.collect(cdk().propertyValidator("staticValue",cdk().validateNumber)(properties.staticValue)),errors.wrap('supplied properties not correct for "NumericRangeFilterValueProperty"')}function convertCfnDashboardNumericRangeFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericRangeFilterValuePropertyValidator(properties).assertSuccess(),{Parameter:cdk().stringToCloudFormation(properties.parameter),StaticValue:cdk().numberToCloudFormation(properties.staticValue)}):properties}function CfnDashboardNumericRangeFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameter","Parameter",properties.Parameter!=null?cfn_parse().FromCloudFormation.getString(properties.Parameter):void 0),ret.addPropertyResult("staticValue","StaticValue",properties.StaticValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.StaticValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericRangeFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnDashboardAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnDashboardDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("includeMaximum",cdk().validateBoolean)(properties.includeMaximum)),errors.collect(cdk().propertyValidator("includeMinimum",cdk().validateBoolean)(properties.includeMinimum)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("rangeMaximum",CfnDashboardNumericRangeFilterValuePropertyValidator)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMinimum",CfnDashboardNumericRangeFilterValuePropertyValidator)(properties.rangeMinimum)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "NumericRangeFilterProperty"')}function convertCfnDashboardNumericRangeFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericRangeFilterPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnDashboardAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnDashboardDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),IncludeMaximum:cdk().booleanToCloudFormation(properties.includeMaximum),IncludeMinimum:cdk().booleanToCloudFormation(properties.includeMinimum),NullOption:cdk().stringToCloudFormation(properties.nullOption),RangeMaximum:convertCfnDashboardNumericRangeFilterValuePropertyToCloudFormation(properties.rangeMaximum),RangeMinimum:convertCfnDashboardNumericRangeFilterValuePropertyToCloudFormation(properties.rangeMinimum),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnDashboardNumericRangeFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnDashboardAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnDashboardDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("includeMaximum","IncludeMaximum",properties.IncludeMaximum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMaximum):void 0),ret.addPropertyResult("includeMinimum","IncludeMinimum",properties.IncludeMinimum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMinimum):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("rangeMaximum","RangeMaximum",properties.RangeMaximum!=null?CfnDashboardNumericRangeFilterValuePropertyFromCloudFormation(properties.RangeMaximum):void 0),ret.addPropertyResult("rangeMinimum","RangeMinimum",properties.RangeMinimum!=null?CfnDashboardNumericRangeFilterValuePropertyFromCloudFormation(properties.RangeMinimum):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRollingDateConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "RollingDateConfigurationProperty"')}function convertCfnDashboardRollingDateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRollingDateConfigurationPropertyValidator(properties).assertSuccess(),{DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnDashboardRollingDateConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTimeRangeFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameter",cdk().validateString)(properties.parameter)),errors.collect(cdk().propertyValidator("rollingDate",CfnDashboardRollingDateConfigurationPropertyValidator)(properties.rollingDate)),errors.collect(cdk().propertyValidator("staticValue",cdk().validateString)(properties.staticValue)),errors.wrap('supplied properties not correct for "TimeRangeFilterValueProperty"')}function convertCfnDashboardTimeRangeFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTimeRangeFilterValuePropertyValidator(properties).assertSuccess(),{Parameter:cdk().stringToCloudFormation(properties.parameter),RollingDate:convertCfnDashboardRollingDateConfigurationPropertyToCloudFormation(properties.rollingDate),StaticValue:cdk().stringToCloudFormation(properties.staticValue)}):properties}function CfnDashboardTimeRangeFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameter","Parameter",properties.Parameter!=null?cfn_parse().FromCloudFormation.getString(properties.Parameter):void 0),ret.addPropertyResult("rollingDate","RollingDate",properties.RollingDate!=null?CfnDashboardRollingDateConfigurationPropertyFromCloudFormation(properties.RollingDate):void 0),ret.addPropertyResult("staticValue","StaticValue",properties.StaticValue!=null?cfn_parse().FromCloudFormation.getString(properties.StaticValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardExcludePeriodConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("amount",cdk().requiredValidator)(properties.amount)),errors.collect(cdk().propertyValidator("amount",cdk().validateNumber)(properties.amount)),errors.collect(cdk().propertyValidator("granularity",cdk().requiredValidator)(properties.granularity)),errors.collect(cdk().propertyValidator("granularity",cdk().validateString)(properties.granularity)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "ExcludePeriodConfigurationProperty"')}function convertCfnDashboardExcludePeriodConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardExcludePeriodConfigurationPropertyValidator(properties).assertSuccess(),{Amount:cdk().numberToCloudFormation(properties.amount),Granularity:cdk().stringToCloudFormation(properties.granularity),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnDashboardExcludePeriodConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("amount","Amount",properties.Amount!=null?cfn_parse().FromCloudFormation.getNumber(properties.Amount):void 0),ret.addPropertyResult("granularity","Granularity",properties.Granularity!=null?cfn_parse().FromCloudFormation.getString(properties.Granularity):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTimeRangeFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnDashboardDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("excludePeriodConfiguration",CfnDashboardExcludePeriodConfigurationPropertyValidator)(properties.excludePeriodConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("includeMaximum",cdk().validateBoolean)(properties.includeMaximum)),errors.collect(cdk().propertyValidator("includeMinimum",cdk().validateBoolean)(properties.includeMinimum)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("rangeMaximumValue",CfnDashboardTimeRangeFilterValuePropertyValidator)(properties.rangeMaximumValue)),errors.collect(cdk().propertyValidator("rangeMinimumValue",CfnDashboardTimeRangeFilterValuePropertyValidator)(properties.rangeMinimumValue)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TimeRangeFilterProperty"')}function convertCfnDashboardTimeRangeFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTimeRangeFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnDashboardDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),ExcludePeriodConfiguration:convertCfnDashboardExcludePeriodConfigurationPropertyToCloudFormation(properties.excludePeriodConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),IncludeMaximum:cdk().booleanToCloudFormation(properties.includeMaximum),IncludeMinimum:cdk().booleanToCloudFormation(properties.includeMinimum),NullOption:cdk().stringToCloudFormation(properties.nullOption),RangeMaximumValue:convertCfnDashboardTimeRangeFilterValuePropertyToCloudFormation(properties.rangeMaximumValue),RangeMinimumValue:convertCfnDashboardTimeRangeFilterValuePropertyToCloudFormation(properties.rangeMinimumValue),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnDashboardTimeRangeFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnDashboardDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("excludePeriodConfiguration","ExcludePeriodConfiguration",properties.ExcludePeriodConfiguration!=null?CfnDashboardExcludePeriodConfigurationPropertyFromCloudFormation(properties.ExcludePeriodConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("includeMaximum","IncludeMaximum",properties.IncludeMaximum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMaximum):void 0),ret.addPropertyResult("includeMinimum","IncludeMinimum",properties.IncludeMinimum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMinimum):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("rangeMaximumValue","RangeMaximumValue",properties.RangeMaximumValue!=null?CfnDashboardTimeRangeFilterValuePropertyFromCloudFormation(properties.RangeMaximumValue):void 0),ret.addPropertyResult("rangeMinimumValue","RangeMinimumValue",properties.RangeMinimumValue!=null?CfnDashboardTimeRangeFilterValuePropertyFromCloudFormation(properties.RangeMinimumValue):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAnchorDateConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("anchorOption",cdk().validateString)(properties.anchorOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.wrap('supplied properties not correct for "AnchorDateConfigurationProperty"')}function convertCfnDashboardAnchorDateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAnchorDateConfigurationPropertyValidator(properties).assertSuccess(),{AnchorOption:cdk().stringToCloudFormation(properties.anchorOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName)}):properties}function CfnDashboardAnchorDateConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("anchorOption","AnchorOption",properties.AnchorOption!=null?cfn_parse().FromCloudFormation.getString(properties.AnchorOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRelativeDatesFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("anchorDateConfiguration",cdk().requiredValidator)(properties.anchorDateConfiguration)),errors.collect(cdk().propertyValidator("anchorDateConfiguration",CfnDashboardAnchorDateConfigurationPropertyValidator)(properties.anchorDateConfiguration)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnDashboardDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("excludePeriodConfiguration",CfnDashboardExcludePeriodConfigurationPropertyValidator)(properties.excludePeriodConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("minimumGranularity",cdk().validateString)(properties.minimumGranularity)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("relativeDateType",cdk().requiredValidator)(properties.relativeDateType)),errors.collect(cdk().propertyValidator("relativeDateType",cdk().validateString)(properties.relativeDateType)),errors.collect(cdk().propertyValidator("relativeDateValue",cdk().validateNumber)(properties.relativeDateValue)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().requiredValidator)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "RelativeDatesFilterProperty"')}function convertCfnDashboardRelativeDatesFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRelativeDatesFilterPropertyValidator(properties).assertSuccess(),{AnchorDateConfiguration:convertCfnDashboardAnchorDateConfigurationPropertyToCloudFormation(properties.anchorDateConfiguration),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnDashboardDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),ExcludePeriodConfiguration:convertCfnDashboardExcludePeriodConfigurationPropertyToCloudFormation(properties.excludePeriodConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),MinimumGranularity:cdk().stringToCloudFormation(properties.minimumGranularity),NullOption:cdk().stringToCloudFormation(properties.nullOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName),RelativeDateType:cdk().stringToCloudFormation(properties.relativeDateType),RelativeDateValue:cdk().numberToCloudFormation(properties.relativeDateValue),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnDashboardRelativeDatesFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("anchorDateConfiguration","AnchorDateConfiguration",properties.AnchorDateConfiguration!=null?CfnDashboardAnchorDateConfigurationPropertyFromCloudFormation(properties.AnchorDateConfiguration):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnDashboardDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("excludePeriodConfiguration","ExcludePeriodConfiguration",properties.ExcludePeriodConfiguration!=null?CfnDashboardExcludePeriodConfigurationPropertyFromCloudFormation(properties.ExcludePeriodConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("minimumGranularity","MinimumGranularity",properties.MinimumGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.MinimumGranularity):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("relativeDateType","RelativeDateType",properties.RelativeDateType!=null?cfn_parse().FromCloudFormation.getString(properties.RelativeDateType):void 0),ret.addPropertyResult("relativeDateValue","RelativeDateValue",properties.RelativeDateValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.RelativeDateValue):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAggregationSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnDashboardAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("sortDirection",cdk().requiredValidator)(properties.sortDirection)),errors.collect(cdk().propertyValidator("sortDirection",cdk().validateString)(properties.sortDirection)),errors.wrap('supplied properties not correct for "AggregationSortConfigurationProperty"')}function convertCfnDashboardAggregationSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAggregationSortConfigurationPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnDashboardAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),SortDirection:cdk().stringToCloudFormation(properties.sortDirection)}):properties}function CfnDashboardAggregationSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnDashboardAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("sortDirection","SortDirection",properties.SortDirection!=null?cfn_parse().FromCloudFormation.getString(properties.SortDirection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTopBottomFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationSortConfigurations",cdk().requiredValidator)(properties.aggregationSortConfigurations)),errors.collect(cdk().propertyValidator("aggregationSortConfigurations",cdk().listValidator(CfnDashboardAggregationSortConfigurationPropertyValidator))(properties.aggregationSortConfigurations)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnDashboardDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("limit",cdk().validateNumber)(properties.limit)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TopBottomFilterProperty"')}function convertCfnDashboardTopBottomFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTopBottomFilterPropertyValidator(properties).assertSuccess(),{AggregationSortConfigurations:cdk().listMapper(convertCfnDashboardAggregationSortConfigurationPropertyToCloudFormation)(properties.aggregationSortConfigurations),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnDashboardDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),Limit:cdk().numberToCloudFormation(properties.limit),ParameterName:cdk().stringToCloudFormation(properties.parameterName),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnDashboardTopBottomFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationSortConfigurations","AggregationSortConfigurations",properties.AggregationSortConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardAggregationSortConfigurationPropertyFromCloudFormation)(properties.AggregationSortConfigurations):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnDashboardDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("limit","Limit",properties.Limit!=null?cfn_parse().FromCloudFormation.getNumber(properties.Limit):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTimeEqualityFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnDashboardDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("rollingDate",CfnDashboardRollingDateConfigurationPropertyValidator)(properties.rollingDate)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TimeEqualityFilterProperty"')}function convertCfnDashboardTimeEqualityFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTimeEqualityFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnDashboardDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),ParameterName:cdk().stringToCloudFormation(properties.parameterName),RollingDate:convertCfnDashboardRollingDateConfigurationPropertyToCloudFormation(properties.rollingDate),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnDashboardTimeEqualityFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnDashboardDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("rollingDate","RollingDate",properties.RollingDate!=null?CfnDashboardRollingDateConfigurationPropertyFromCloudFormation(properties.RollingDate):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomFilterListConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValues",cdk().listValidator(cdk().validateString))(properties.categoryValues)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "CustomFilterListConfigurationProperty"')}function convertCfnDashboardCustomFilterListConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomFilterListConfigurationPropertyValidator(properties).assertSuccess(),{CategoryValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.categoryValues),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnDashboardCustomFilterListConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValues","CategoryValues",properties.CategoryValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CategoryValues):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomFilterConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValue",cdk().validateString)(properties.categoryValue)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "CustomFilterConfigurationProperty"')}function convertCfnDashboardCustomFilterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomFilterConfigurationPropertyValidator(properties).assertSuccess(),{CategoryValue:cdk().stringToCloudFormation(properties.categoryValue),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnDashboardCustomFilterConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValue","CategoryValue",properties.CategoryValue!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryValue):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterListConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValues",cdk().listValidator(cdk().validateString))(properties.categoryValues)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "FilterListConfigurationProperty"')}function convertCfnDashboardFilterListConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterListConfigurationPropertyValidator(properties).assertSuccess(),{CategoryValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.categoryValues),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnDashboardFilterListConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValues","CategoryValues",properties.CategoryValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CategoryValues):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCategoryFilterConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customFilterConfiguration",CfnDashboardCustomFilterConfigurationPropertyValidator)(properties.customFilterConfiguration)),errors.collect(cdk().propertyValidator("customFilterListConfiguration",CfnDashboardCustomFilterListConfigurationPropertyValidator)(properties.customFilterListConfiguration)),errors.collect(cdk().propertyValidator("filterListConfiguration",CfnDashboardFilterListConfigurationPropertyValidator)(properties.filterListConfiguration)),errors.wrap('supplied properties not correct for "CategoryFilterConfigurationProperty"')}function convertCfnDashboardCategoryFilterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCategoryFilterConfigurationPropertyValidator(properties).assertSuccess(),{CustomFilterConfiguration:convertCfnDashboardCustomFilterConfigurationPropertyToCloudFormation(properties.customFilterConfiguration),CustomFilterListConfiguration:convertCfnDashboardCustomFilterListConfigurationPropertyToCloudFormation(properties.customFilterListConfiguration),FilterListConfiguration:convertCfnDashboardFilterListConfigurationPropertyToCloudFormation(properties.filterListConfiguration)}):properties}function CfnDashboardCategoryFilterConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customFilterConfiguration","CustomFilterConfiguration",properties.CustomFilterConfiguration!=null?CfnDashboardCustomFilterConfigurationPropertyFromCloudFormation(properties.CustomFilterConfiguration):void 0),ret.addPropertyResult("customFilterListConfiguration","CustomFilterListConfiguration",properties.CustomFilterListConfiguration!=null?CfnDashboardCustomFilterListConfigurationPropertyFromCloudFormation(properties.CustomFilterListConfiguration):void 0),ret.addPropertyResult("filterListConfiguration","FilterListConfiguration",properties.FilterListConfiguration!=null?CfnDashboardFilterListConfigurationPropertyFromCloudFormation(properties.FilterListConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCategoryFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnDashboardCategoryFilterConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnDashboardDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.wrap('supplied properties not correct for "CategoryFilterProperty"')}function convertCfnDashboardCategoryFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCategoryFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),Configuration:convertCfnDashboardCategoryFilterConfigurationPropertyToCloudFormation(properties.configuration),DefaultFilterControlConfiguration:convertCfnDashboardDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId)}):properties}function CfnDashboardCategoryFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnDashboardCategoryFilterConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnDashboardDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCategoryInnerFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnDashboardCategoryFilterConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnDashboardDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.wrap('supplied properties not correct for "CategoryInnerFilterProperty"')}function convertCfnDashboardCategoryInnerFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCategoryInnerFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),Configuration:convertCfnDashboardCategoryFilterConfigurationPropertyToCloudFormation(properties.configuration),DefaultFilterControlConfiguration:convertCfnDashboardDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration)}):properties}function CfnDashboardCategoryInnerFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnDashboardCategoryFilterConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnDashboardDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardInnerFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryInnerFilter",CfnDashboardCategoryInnerFilterPropertyValidator)(properties.categoryInnerFilter)),errors.wrap('supplied properties not correct for "InnerFilterProperty"')}function convertCfnDashboardInnerFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardInnerFilterPropertyValidator(properties).assertSuccess(),{CategoryInnerFilter:convertCfnDashboardCategoryInnerFilterPropertyToCloudFormation(properties.categoryInnerFilter)}):properties}function CfnDashboardInnerFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryInnerFilter","CategoryInnerFilter",properties.CategoryInnerFilter!=null?CfnDashboardCategoryInnerFilterPropertyFromCloudFormation(properties.CategoryInnerFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNestedFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("includeInnerSet",cdk().requiredValidator)(properties.includeInnerSet)),errors.collect(cdk().propertyValidator("includeInnerSet",cdk().validateBoolean)(properties.includeInnerSet)),errors.collect(cdk().propertyValidator("innerFilter",cdk().requiredValidator)(properties.innerFilter)),errors.collect(cdk().propertyValidator("innerFilter",CfnDashboardInnerFilterPropertyValidator)(properties.innerFilter)),errors.wrap('supplied properties not correct for "NestedFilterProperty"')}function convertCfnDashboardNestedFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNestedFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),FilterId:cdk().stringToCloudFormation(properties.filterId),IncludeInnerSet:cdk().booleanToCloudFormation(properties.includeInnerSet),InnerFilter:convertCfnDashboardInnerFilterPropertyToCloudFormation(properties.innerFilter)}):properties}function CfnDashboardNestedFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("includeInnerSet","IncludeInnerSet",properties.IncludeInnerSet!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeInnerSet):void 0),ret.addPropertyResult("innerFilter","InnerFilter",properties.InnerFilter!=null?CfnDashboardInnerFilterPropertyFromCloudFormation(properties.InnerFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryFilter",CfnDashboardCategoryFilterPropertyValidator)(properties.categoryFilter)),errors.collect(cdk().propertyValidator("nestedFilter",CfnDashboardNestedFilterPropertyValidator)(properties.nestedFilter)),errors.collect(cdk().propertyValidator("numericEqualityFilter",CfnDashboardNumericEqualityFilterPropertyValidator)(properties.numericEqualityFilter)),errors.collect(cdk().propertyValidator("numericRangeFilter",CfnDashboardNumericRangeFilterPropertyValidator)(properties.numericRangeFilter)),errors.collect(cdk().propertyValidator("relativeDatesFilter",CfnDashboardRelativeDatesFilterPropertyValidator)(properties.relativeDatesFilter)),errors.collect(cdk().propertyValidator("timeEqualityFilter",CfnDashboardTimeEqualityFilterPropertyValidator)(properties.timeEqualityFilter)),errors.collect(cdk().propertyValidator("timeRangeFilter",CfnDashboardTimeRangeFilterPropertyValidator)(properties.timeRangeFilter)),errors.collect(cdk().propertyValidator("topBottomFilter",CfnDashboardTopBottomFilterPropertyValidator)(properties.topBottomFilter)),errors.wrap('supplied properties not correct for "FilterProperty"')}function convertCfnDashboardFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterPropertyValidator(properties).assertSuccess(),{CategoryFilter:convertCfnDashboardCategoryFilterPropertyToCloudFormation(properties.categoryFilter),NestedFilter:convertCfnDashboardNestedFilterPropertyToCloudFormation(properties.nestedFilter),NumericEqualityFilter:convertCfnDashboardNumericEqualityFilterPropertyToCloudFormation(properties.numericEqualityFilter),NumericRangeFilter:convertCfnDashboardNumericRangeFilterPropertyToCloudFormation(properties.numericRangeFilter),RelativeDatesFilter:convertCfnDashboardRelativeDatesFilterPropertyToCloudFormation(properties.relativeDatesFilter),TimeEqualityFilter:convertCfnDashboardTimeEqualityFilterPropertyToCloudFormation(properties.timeEqualityFilter),TimeRangeFilter:convertCfnDashboardTimeRangeFilterPropertyToCloudFormation(properties.timeRangeFilter),TopBottomFilter:convertCfnDashboardTopBottomFilterPropertyToCloudFormation(properties.topBottomFilter)}):properties}function CfnDashboardFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryFilter","CategoryFilter",properties.CategoryFilter!=null?CfnDashboardCategoryFilterPropertyFromCloudFormation(properties.CategoryFilter):void 0),ret.addPropertyResult("nestedFilter","NestedFilter",properties.NestedFilter!=null?CfnDashboardNestedFilterPropertyFromCloudFormation(properties.NestedFilter):void 0),ret.addPropertyResult("numericEqualityFilter","NumericEqualityFilter",properties.NumericEqualityFilter!=null?CfnDashboardNumericEqualityFilterPropertyFromCloudFormation(properties.NumericEqualityFilter):void 0),ret.addPropertyResult("numericRangeFilter","NumericRangeFilter",properties.NumericRangeFilter!=null?CfnDashboardNumericRangeFilterPropertyFromCloudFormation(properties.NumericRangeFilter):void 0),ret.addPropertyResult("relativeDatesFilter","RelativeDatesFilter",properties.RelativeDatesFilter!=null?CfnDashboardRelativeDatesFilterPropertyFromCloudFormation(properties.RelativeDatesFilter):void 0),ret.addPropertyResult("timeEqualityFilter","TimeEqualityFilter",properties.TimeEqualityFilter!=null?CfnDashboardTimeEqualityFilterPropertyFromCloudFormation(properties.TimeEqualityFilter):void 0),ret.addPropertyResult("timeRangeFilter","TimeRangeFilter",properties.TimeRangeFilter!=null?CfnDashboardTimeRangeFilterPropertyFromCloudFormation(properties.TimeRangeFilter):void 0),ret.addPropertyResult("topBottomFilter","TopBottomFilter",properties.TopBottomFilter!=null?CfnDashboardTopBottomFilterPropertyFromCloudFormation(properties.TopBottomFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetVisualScopingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scope",cdk().requiredValidator)(properties.scope)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("sheetId",cdk().requiredValidator)(properties.sheetId)),errors.collect(cdk().propertyValidator("sheetId",cdk().validateString)(properties.sheetId)),errors.collect(cdk().propertyValidator("visualIds",cdk().listValidator(cdk().validateString))(properties.visualIds)),errors.wrap('supplied properties not correct for "SheetVisualScopingConfigurationProperty"')}function convertCfnDashboardSheetVisualScopingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetVisualScopingConfigurationPropertyValidator(properties).assertSuccess(),{Scope:cdk().stringToCloudFormation(properties.scope),SheetId:cdk().stringToCloudFormation(properties.sheetId),VisualIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.visualIds)}):properties}function CfnDashboardSheetVisualScopingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("sheetId","SheetId",properties.SheetId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetId):void 0),ret.addPropertyResult("visualIds","VisualIds",properties.VisualIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VisualIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSelectedSheetsFilterScopeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sheetVisualScopingConfigurations",cdk().listValidator(CfnDashboardSheetVisualScopingConfigurationPropertyValidator))(properties.sheetVisualScopingConfigurations)),errors.wrap('supplied properties not correct for "SelectedSheetsFilterScopeConfigurationProperty"')}function convertCfnDashboardSelectedSheetsFilterScopeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSelectedSheetsFilterScopeConfigurationPropertyValidator(properties).assertSuccess(),{SheetVisualScopingConfigurations:cdk().listMapper(convertCfnDashboardSheetVisualScopingConfigurationPropertyToCloudFormation)(properties.sheetVisualScopingConfigurations)}):properties}function CfnDashboardSelectedSheetsFilterScopeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sheetVisualScopingConfigurations","SheetVisualScopingConfigurations",properties.SheetVisualScopingConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardSheetVisualScopingConfigurationPropertyFromCloudFormation)(properties.SheetVisualScopingConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterScopeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allSheets",cdk().validateObject)(properties.allSheets)),errors.collect(cdk().propertyValidator("selectedSheets",CfnDashboardSelectedSheetsFilterScopeConfigurationPropertyValidator)(properties.selectedSheets)),errors.wrap('supplied properties not correct for "FilterScopeConfigurationProperty"')}function convertCfnDashboardFilterScopeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterScopeConfigurationPropertyValidator(properties).assertSuccess(),{AllSheets:cdk().objectToCloudFormation(properties.allSheets),SelectedSheets:convertCfnDashboardSelectedSheetsFilterScopeConfigurationPropertyToCloudFormation(properties.selectedSheets)}):properties}function CfnDashboardFilterScopeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allSheets","AllSheets",properties.AllSheets!=null?cfn_parse().FromCloudFormation.getAny(properties.AllSheets):void 0),ret.addPropertyResult("selectedSheets","SelectedSheets",properties.SelectedSheets!=null?CfnDashboardSelectedSheetsFilterScopeConfigurationPropertyFromCloudFormation(properties.SelectedSheets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterGroupPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossDataset",cdk().requiredValidator)(properties.crossDataset)),errors.collect(cdk().propertyValidator("crossDataset",cdk().validateString)(properties.crossDataset)),errors.collect(cdk().propertyValidator("filterGroupId",cdk().requiredValidator)(properties.filterGroupId)),errors.collect(cdk().propertyValidator("filterGroupId",cdk().validateString)(properties.filterGroupId)),errors.collect(cdk().propertyValidator("filters",cdk().requiredValidator)(properties.filters)),errors.collect(cdk().propertyValidator("filters",cdk().listValidator(CfnDashboardFilterPropertyValidator))(properties.filters)),errors.collect(cdk().propertyValidator("scopeConfiguration",cdk().requiredValidator)(properties.scopeConfiguration)),errors.collect(cdk().propertyValidator("scopeConfiguration",CfnDashboardFilterScopeConfigurationPropertyValidator)(properties.scopeConfiguration)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "FilterGroupProperty"')}function convertCfnDashboardFilterGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterGroupPropertyValidator(properties).assertSuccess(),{CrossDataset:cdk().stringToCloudFormation(properties.crossDataset),FilterGroupId:cdk().stringToCloudFormation(properties.filterGroupId),Filters:cdk().listMapper(convertCfnDashboardFilterPropertyToCloudFormation)(properties.filters),ScopeConfiguration:convertCfnDashboardFilterScopeConfigurationPropertyToCloudFormation(properties.scopeConfiguration),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnDashboardFilterGroupPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossDataset","CrossDataset",properties.CrossDataset!=null?cfn_parse().FromCloudFormation.getString(properties.CrossDataset):void 0),ret.addPropertyResult("filterGroupId","FilterGroupId",properties.FilterGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterGroupId):void 0),ret.addPropertyResult("filters","Filters",properties.Filters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFilterPropertyFromCloudFormation)(properties.Filters):void 0),ret.addPropertyResult("scopeConfiguration","ScopeConfiguration",properties.ScopeConfiguration!=null?CfnDashboardFilterScopeConfigurationPropertyFromCloudFormation(properties.ScopeConfiguration):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCalculatedFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "CalculatedFieldProperty"')}function convertCfnDashboardCalculatedFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCalculatedFieldPropertyValidator(properties).assertSuccess(),{DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Expression:cdk().stringToCloudFormation(properties.expression),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnDashboardCalculatedFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataSetIdentifierDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetArn",cdk().requiredValidator)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("dataSetArn",cdk().validateString)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("identifier",cdk().requiredValidator)(properties.identifier)),errors.collect(cdk().propertyValidator("identifier",cdk().validateString)(properties.identifier)),errors.wrap('supplied properties not correct for "DataSetIdentifierDeclarationProperty"')}function convertCfnDashboardDataSetIdentifierDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataSetIdentifierDeclarationPropertyValidator(properties).assertSuccess(),{DataSetArn:cdk().stringToCloudFormation(properties.dataSetArn),Identifier:cdk().stringToCloudFormation(properties.identifier)}):properties}function CfnDashboardDataSetIdentifierDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetArn","DataSetArn",properties.DataSetArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetArn):void 0),ret.addPropertyResult("identifier","Identifier",properties.Identifier!=null?cfn_parse().FromCloudFormation.getString(properties.Identifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNegativeValueConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayMode",cdk().requiredValidator)(properties.displayMode)),errors.collect(cdk().propertyValidator("displayMode",cdk().validateString)(properties.displayMode)),errors.wrap('supplied properties not correct for "NegativeValueConfigurationProperty"')}function convertCfnDashboardNegativeValueConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNegativeValueConfigurationPropertyValidator(properties).assertSuccess(),{DisplayMode:cdk().stringToCloudFormation(properties.displayMode)}):properties}function CfnDashboardNegativeValueConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayMode","DisplayMode",properties.DisplayMode!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDecimalPlacesConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlaces",cdk().requiredValidator)(properties.decimalPlaces)),errors.collect(cdk().propertyValidator("decimalPlaces",cdk().validateNumber)(properties.decimalPlaces)),errors.wrap('supplied properties not correct for "DecimalPlacesConfigurationProperty"')}function convertCfnDashboardDecimalPlacesConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDecimalPlacesConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlaces:cdk().numberToCloudFormation(properties.decimalPlaces)}):properties}function CfnDashboardDecimalPlacesConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlaces","DecimalPlaces",properties.DecimalPlaces!=null?cfn_parse().FromCloudFormation.getNumber(properties.DecimalPlaces):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNullValueFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("nullString",cdk().requiredValidator)(properties.nullString)),errors.collect(cdk().propertyValidator("nullString",cdk().validateString)(properties.nullString)),errors.wrap('supplied properties not correct for "NullValueFormatConfigurationProperty"')}function convertCfnDashboardNullValueFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNullValueFormatConfigurationPropertyValidator(properties).assertSuccess(),{NullString:cdk().stringToCloudFormation(properties.nullString)}):properties}function CfnDashboardNullValueFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("nullString","NullString",properties.NullString!=null?cfn_parse().FromCloudFormation.getString(properties.NullString):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardThousandSeparatorOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupingStyle",cdk().validateString)(properties.groupingStyle)),errors.collect(cdk().propertyValidator("symbol",cdk().validateString)(properties.symbol)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ThousandSeparatorOptionsProperty"')}function convertCfnDashboardThousandSeparatorOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardThousandSeparatorOptionsPropertyValidator(properties).assertSuccess(),{GroupingStyle:cdk().stringToCloudFormation(properties.groupingStyle),Symbol:cdk().stringToCloudFormation(properties.symbol),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardThousandSeparatorOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupingStyle","GroupingStyle",properties.GroupingStyle!=null?cfn_parse().FromCloudFormation.getString(properties.GroupingStyle):void 0),ret.addPropertyResult("symbol","Symbol",properties.Symbol!=null?cfn_parse().FromCloudFormation.getString(properties.Symbol):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericSeparatorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalSeparator",cdk().validateString)(properties.decimalSeparator)),errors.collect(cdk().propertyValidator("thousandsSeparator",CfnDashboardThousandSeparatorOptionsPropertyValidator)(properties.thousandsSeparator)),errors.wrap('supplied properties not correct for "NumericSeparatorConfigurationProperty"')}function convertCfnDashboardNumericSeparatorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericSeparatorConfigurationPropertyValidator(properties).assertSuccess(),{DecimalSeparator:cdk().stringToCloudFormation(properties.decimalSeparator),ThousandsSeparator:convertCfnDashboardThousandSeparatorOptionsPropertyToCloudFormation(properties.thousandsSeparator)}):properties}function CfnDashboardNumericSeparatorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalSeparator","DecimalSeparator",properties.DecimalSeparator!=null?cfn_parse().FromCloudFormation.getString(properties.DecimalSeparator):void 0),ret.addPropertyResult("thousandsSeparator","ThousandsSeparator",properties.ThousandsSeparator!=null?CfnDashboardThousandSeparatorOptionsPropertyFromCloudFormation(properties.ThousandsSeparator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumberDisplayFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlacesConfiguration",CfnDashboardDecimalPlacesConfigurationPropertyValidator)(properties.decimalPlacesConfiguration)),errors.collect(cdk().propertyValidator("negativeValueConfiguration",CfnDashboardNegativeValueConfigurationPropertyValidator)(properties.negativeValueConfiguration)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnDashboardNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numberScale",cdk().validateString)(properties.numberScale)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("separatorConfiguration",CfnDashboardNumericSeparatorConfigurationPropertyValidator)(properties.separatorConfiguration)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "NumberDisplayFormatConfigurationProperty"')}function convertCfnDashboardNumberDisplayFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumberDisplayFormatConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlacesConfiguration:convertCfnDashboardDecimalPlacesConfigurationPropertyToCloudFormation(properties.decimalPlacesConfiguration),NegativeValueConfiguration:convertCfnDashboardNegativeValueConfigurationPropertyToCloudFormation(properties.negativeValueConfiguration),NullValueFormatConfiguration:convertCfnDashboardNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumberScale:cdk().stringToCloudFormation(properties.numberScale),Prefix:cdk().stringToCloudFormation(properties.prefix),SeparatorConfiguration:convertCfnDashboardNumericSeparatorConfigurationPropertyToCloudFormation(properties.separatorConfiguration),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnDashboardNumberDisplayFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlacesConfiguration","DecimalPlacesConfiguration",properties.DecimalPlacesConfiguration!=null?CfnDashboardDecimalPlacesConfigurationPropertyFromCloudFormation(properties.DecimalPlacesConfiguration):void 0),ret.addPropertyResult("negativeValueConfiguration","NegativeValueConfiguration",properties.NegativeValueConfiguration!=null?CfnDashboardNegativeValueConfigurationPropertyFromCloudFormation(properties.NegativeValueConfiguration):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnDashboardNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numberScale","NumberScale",properties.NumberScale!=null?cfn_parse().FromCloudFormation.getString(properties.NumberScale):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("separatorConfiguration","SeparatorConfiguration",properties.SeparatorConfiguration!=null?CfnDashboardNumericSeparatorConfigurationPropertyFromCloudFormation(properties.SeparatorConfiguration):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCurrencyDisplayFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlacesConfiguration",CfnDashboardDecimalPlacesConfigurationPropertyValidator)(properties.decimalPlacesConfiguration)),errors.collect(cdk().propertyValidator("negativeValueConfiguration",CfnDashboardNegativeValueConfigurationPropertyValidator)(properties.negativeValueConfiguration)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnDashboardNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numberScale",cdk().validateString)(properties.numberScale)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("separatorConfiguration",CfnDashboardNumericSeparatorConfigurationPropertyValidator)(properties.separatorConfiguration)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.collect(cdk().propertyValidator("symbol",cdk().validateString)(properties.symbol)),errors.wrap('supplied properties not correct for "CurrencyDisplayFormatConfigurationProperty"')}function convertCfnDashboardCurrencyDisplayFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCurrencyDisplayFormatConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlacesConfiguration:convertCfnDashboardDecimalPlacesConfigurationPropertyToCloudFormation(properties.decimalPlacesConfiguration),NegativeValueConfiguration:convertCfnDashboardNegativeValueConfigurationPropertyToCloudFormation(properties.negativeValueConfiguration),NullValueFormatConfiguration:convertCfnDashboardNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumberScale:cdk().stringToCloudFormation(properties.numberScale),Prefix:cdk().stringToCloudFormation(properties.prefix),SeparatorConfiguration:convertCfnDashboardNumericSeparatorConfigurationPropertyToCloudFormation(properties.separatorConfiguration),Suffix:cdk().stringToCloudFormation(properties.suffix),Symbol:cdk().stringToCloudFormation(properties.symbol)}):properties}function CfnDashboardCurrencyDisplayFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlacesConfiguration","DecimalPlacesConfiguration",properties.DecimalPlacesConfiguration!=null?CfnDashboardDecimalPlacesConfigurationPropertyFromCloudFormation(properties.DecimalPlacesConfiguration):void 0),ret.addPropertyResult("negativeValueConfiguration","NegativeValueConfiguration",properties.NegativeValueConfiguration!=null?CfnDashboardNegativeValueConfigurationPropertyFromCloudFormation(properties.NegativeValueConfiguration):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnDashboardNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numberScale","NumberScale",properties.NumberScale!=null?cfn_parse().FromCloudFormation.getString(properties.NumberScale):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("separatorConfiguration","SeparatorConfiguration",properties.SeparatorConfiguration!=null?CfnDashboardNumericSeparatorConfigurationPropertyFromCloudFormation(properties.SeparatorConfiguration):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addPropertyResult("symbol","Symbol",properties.Symbol!=null?cfn_parse().FromCloudFormation.getString(properties.Symbol):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPercentageDisplayFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlacesConfiguration",CfnDashboardDecimalPlacesConfigurationPropertyValidator)(properties.decimalPlacesConfiguration)),errors.collect(cdk().propertyValidator("negativeValueConfiguration",CfnDashboardNegativeValueConfigurationPropertyValidator)(properties.negativeValueConfiguration)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnDashboardNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("separatorConfiguration",CfnDashboardNumericSeparatorConfigurationPropertyValidator)(properties.separatorConfiguration)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "PercentageDisplayFormatConfigurationProperty"')}function convertCfnDashboardPercentageDisplayFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPercentageDisplayFormatConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlacesConfiguration:convertCfnDashboardDecimalPlacesConfigurationPropertyToCloudFormation(properties.decimalPlacesConfiguration),NegativeValueConfiguration:convertCfnDashboardNegativeValueConfigurationPropertyToCloudFormation(properties.negativeValueConfiguration),NullValueFormatConfiguration:convertCfnDashboardNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),Prefix:cdk().stringToCloudFormation(properties.prefix),SeparatorConfiguration:convertCfnDashboardNumericSeparatorConfigurationPropertyToCloudFormation(properties.separatorConfiguration),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnDashboardPercentageDisplayFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlacesConfiguration","DecimalPlacesConfiguration",properties.DecimalPlacesConfiguration!=null?CfnDashboardDecimalPlacesConfigurationPropertyFromCloudFormation(properties.DecimalPlacesConfiguration):void 0),ret.addPropertyResult("negativeValueConfiguration","NegativeValueConfiguration",properties.NegativeValueConfiguration!=null?CfnDashboardNegativeValueConfigurationPropertyFromCloudFormation(properties.NegativeValueConfiguration):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnDashboardNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("separatorConfiguration","SeparatorConfiguration",properties.SeparatorConfiguration!=null?CfnDashboardNumericSeparatorConfigurationPropertyFromCloudFormation(properties.SeparatorConfiguration):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("currencyDisplayFormatConfiguration",CfnDashboardCurrencyDisplayFormatConfigurationPropertyValidator)(properties.currencyDisplayFormatConfiguration)),errors.collect(cdk().propertyValidator("numberDisplayFormatConfiguration",CfnDashboardNumberDisplayFormatConfigurationPropertyValidator)(properties.numberDisplayFormatConfiguration)),errors.collect(cdk().propertyValidator("percentageDisplayFormatConfiguration",CfnDashboardPercentageDisplayFormatConfigurationPropertyValidator)(properties.percentageDisplayFormatConfiguration)),errors.wrap('supplied properties not correct for "NumericFormatConfigurationProperty"')}function convertCfnDashboardNumericFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericFormatConfigurationPropertyValidator(properties).assertSuccess(),{CurrencyDisplayFormatConfiguration:convertCfnDashboardCurrencyDisplayFormatConfigurationPropertyToCloudFormation(properties.currencyDisplayFormatConfiguration),NumberDisplayFormatConfiguration:convertCfnDashboardNumberDisplayFormatConfigurationPropertyToCloudFormation(properties.numberDisplayFormatConfiguration),PercentageDisplayFormatConfiguration:convertCfnDashboardPercentageDisplayFormatConfigurationPropertyToCloudFormation(properties.percentageDisplayFormatConfiguration)}):properties}function CfnDashboardNumericFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("currencyDisplayFormatConfiguration","CurrencyDisplayFormatConfiguration",properties.CurrencyDisplayFormatConfiguration!=null?CfnDashboardCurrencyDisplayFormatConfigurationPropertyFromCloudFormation(properties.CurrencyDisplayFormatConfiguration):void 0),ret.addPropertyResult("numberDisplayFormatConfiguration","NumberDisplayFormatConfiguration",properties.NumberDisplayFormatConfiguration!=null?CfnDashboardNumberDisplayFormatConfigurationPropertyFromCloudFormation(properties.NumberDisplayFormatConfiguration):void 0),ret.addPropertyResult("percentageDisplayFormatConfiguration","PercentageDisplayFormatConfiguration",properties.PercentageDisplayFormatConfiguration!=null?CfnDashboardPercentageDisplayFormatConfigurationPropertyFromCloudFormation(properties.PercentageDisplayFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumberFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardNumericFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "NumberFormatConfigurationProperty"')}function convertCfnDashboardNumberFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumberFormatConfigurationPropertyValidator(properties).assertSuccess(),{FormatConfiguration:convertCfnDashboardNumericFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnDashboardNumberFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardNumericFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateTimeFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeFormat",cdk().validateString)(properties.dateTimeFormat)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnDashboardNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numericFormatConfiguration",CfnDashboardNumericFormatConfigurationPropertyValidator)(properties.numericFormatConfiguration)),errors.wrap('supplied properties not correct for "DateTimeFormatConfigurationProperty"')}function convertCfnDashboardDateTimeFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateTimeFormatConfigurationPropertyValidator(properties).assertSuccess(),{DateTimeFormat:cdk().stringToCloudFormation(properties.dateTimeFormat),NullValueFormatConfiguration:convertCfnDashboardNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumericFormatConfiguration:convertCfnDashboardNumericFormatConfigurationPropertyToCloudFormation(properties.numericFormatConfiguration)}):properties}function CfnDashboardDateTimeFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeFormat","DateTimeFormat",properties.DateTimeFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateTimeFormat):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnDashboardNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numericFormatConfiguration","NumericFormatConfiguration",properties.NumericFormatConfiguration!=null?CfnDashboardNumericFormatConfigurationPropertyFromCloudFormation(properties.NumericFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardStringFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnDashboardNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numericFormatConfiguration",CfnDashboardNumericFormatConfigurationPropertyValidator)(properties.numericFormatConfiguration)),errors.wrap('supplied properties not correct for "StringFormatConfigurationProperty"')}function convertCfnDashboardStringFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardStringFormatConfigurationPropertyValidator(properties).assertSuccess(),{NullValueFormatConfiguration:convertCfnDashboardNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumericFormatConfiguration:convertCfnDashboardNumericFormatConfigurationPropertyToCloudFormation(properties.numericFormatConfiguration)}):properties}function CfnDashboardStringFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnDashboardNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numericFormatConfiguration","NumericFormatConfiguration",properties.NumericFormatConfiguration!=null?CfnDashboardNumericFormatConfigurationPropertyFromCloudFormation(properties.NumericFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeFormatConfiguration",CfnDashboardDateTimeFormatConfigurationPropertyValidator)(properties.dateTimeFormatConfiguration)),errors.collect(cdk().propertyValidator("numberFormatConfiguration",CfnDashboardNumberFormatConfigurationPropertyValidator)(properties.numberFormatConfiguration)),errors.collect(cdk().propertyValidator("stringFormatConfiguration",CfnDashboardStringFormatConfigurationPropertyValidator)(properties.stringFormatConfiguration)),errors.wrap('supplied properties not correct for "FormatConfigurationProperty"')}function convertCfnDashboardFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFormatConfigurationPropertyValidator(properties).assertSuccess(),{DateTimeFormatConfiguration:convertCfnDashboardDateTimeFormatConfigurationPropertyToCloudFormation(properties.dateTimeFormatConfiguration),NumberFormatConfiguration:convertCfnDashboardNumberFormatConfigurationPropertyToCloudFormation(properties.numberFormatConfiguration),StringFormatConfiguration:convertCfnDashboardStringFormatConfigurationPropertyToCloudFormation(properties.stringFormatConfiguration)}):properties}function CfnDashboardFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeFormatConfiguration","DateTimeFormatConfiguration",properties.DateTimeFormatConfiguration!=null?CfnDashboardDateTimeFormatConfigurationPropertyFromCloudFormation(properties.DateTimeFormatConfiguration):void 0),ret.addPropertyResult("numberFormatConfiguration","NumberFormatConfiguration",properties.NumberFormatConfiguration!=null?CfnDashboardNumberFormatConfigurationPropertyFromCloudFormation(properties.NumberFormatConfiguration):void 0),ret.addPropertyResult("stringFormatConfiguration","StringFormatConfiguration",properties.StringFormatConfiguration!=null?CfnDashboardStringFormatConfigurationPropertyFromCloudFormation(properties.StringFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.collect(cdk().propertyValidator("specialValue",cdk().validateString)(properties.specialValue)),errors.wrap('supplied properties not correct for "CustomColorProperty"')}function convertCfnDashboardCustomColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),FieldValue:cdk().stringToCloudFormation(properties.fieldValue),SpecialValue:cdk().stringToCloudFormation(properties.specialValue)}):properties}function CfnDashboardCustomColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addPropertyResult("specialValue","SpecialValue",properties.SpecialValue!=null?cfn_parse().FromCloudFormation.getString(properties.SpecialValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardColorsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customColors",cdk().listValidator(CfnDashboardCustomColorPropertyValidator))(properties.customColors)),errors.wrap('supplied properties not correct for "ColorsConfigurationProperty"')}function convertCfnDashboardColorsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardColorsConfigurationPropertyValidator(properties).assertSuccess(),{CustomColors:cdk().listMapper(convertCfnDashboardCustomColorPropertyToCloudFormation)(properties.customColors)}):properties}function CfnDashboardColorsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customColors","CustomColors",properties.CustomColors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardCustomColorPropertyFromCloudFormation)(properties.CustomColors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardColumnConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorsConfiguration",CfnDashboardColorsConfigurationPropertyValidator)(properties.colorsConfiguration)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "ColumnConfigurationProperty"')}function convertCfnDashboardColumnConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardColumnConfigurationPropertyValidator(properties).assertSuccess(),{ColorsConfiguration:convertCfnDashboardColorsConfigurationPropertyToCloudFormation(properties.colorsConfiguration),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),FormatConfiguration:convertCfnDashboardFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnDashboardColumnConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorsConfiguration","ColorsConfiguration",properties.ColorsConfiguration!=null?CfnDashboardColorsConfigurationPropertyFromCloudFormation(properties.ColorsConfiguration):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFreeFormLayoutScreenCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("optimizedViewPortWidth",cdk().requiredValidator)(properties.optimizedViewPortWidth)),errors.collect(cdk().propertyValidator("optimizedViewPortWidth",cdk().validateString)(properties.optimizedViewPortWidth)),errors.wrap('supplied properties not correct for "FreeFormLayoutScreenCanvasSizeOptionsProperty"')}function convertCfnDashboardFreeFormLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFreeFormLayoutScreenCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{OptimizedViewPortWidth:cdk().stringToCloudFormation(properties.optimizedViewPortWidth)}):properties}function CfnDashboardFreeFormLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("optimizedViewPortWidth","OptimizedViewPortWidth",properties.OptimizedViewPortWidth!=null?cfn_parse().FromCloudFormation.getString(properties.OptimizedViewPortWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("screenCanvasSizeOptions",CfnDashboardFreeFormLayoutScreenCanvasSizeOptionsPropertyValidator)(properties.screenCanvasSizeOptions)),errors.wrap('supplied properties not correct for "FreeFormLayoutCanvasSizeOptionsProperty"')}function convertCfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{ScreenCanvasSizeOptions:convertCfnDashboardFreeFormLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties.screenCanvasSizeOptions)}):properties}function CfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("screenCanvasSizeOptions","ScreenCanvasSizeOptions",properties.ScreenCanvasSizeOptions!=null?CfnDashboardFreeFormLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties.ScreenCanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultFreeFormLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.wrap('supplied properties not correct for "DefaultFreeFormLayoutConfigurationProperty"')}function convertCfnDashboardDefaultFreeFormLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultFreeFormLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions)}):properties}function CfnDashboardDefaultFreeFormLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGridLayoutScreenCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("optimizedViewPortWidth",cdk().validateString)(properties.optimizedViewPortWidth)),errors.collect(cdk().propertyValidator("resizeOption",cdk().requiredValidator)(properties.resizeOption)),errors.collect(cdk().propertyValidator("resizeOption",cdk().validateString)(properties.resizeOption)),errors.wrap('supplied properties not correct for "GridLayoutScreenCanvasSizeOptionsProperty"')}function convertCfnDashboardGridLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGridLayoutScreenCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{OptimizedViewPortWidth:cdk().stringToCloudFormation(properties.optimizedViewPortWidth),ResizeOption:cdk().stringToCloudFormation(properties.resizeOption)}):properties}function CfnDashboardGridLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("optimizedViewPortWidth","OptimizedViewPortWidth",properties.OptimizedViewPortWidth!=null?cfn_parse().FromCloudFormation.getString(properties.OptimizedViewPortWidth):void 0),ret.addPropertyResult("resizeOption","ResizeOption",properties.ResizeOption!=null?cfn_parse().FromCloudFormation.getString(properties.ResizeOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGridLayoutCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("screenCanvasSizeOptions",CfnDashboardGridLayoutScreenCanvasSizeOptionsPropertyValidator)(properties.screenCanvasSizeOptions)),errors.wrap('supplied properties not correct for "GridLayoutCanvasSizeOptionsProperty"')}function convertCfnDashboardGridLayoutCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGridLayoutCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{ScreenCanvasSizeOptions:convertCfnDashboardGridLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties.screenCanvasSizeOptions)}):properties}function CfnDashboardGridLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("screenCanvasSizeOptions","ScreenCanvasSizeOptions",properties.ScreenCanvasSizeOptions!=null?CfnDashboardGridLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties.ScreenCanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultGridLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnDashboardGridLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.wrap('supplied properties not correct for "DefaultGridLayoutConfigurationProperty"')}function convertCfnDashboardDefaultGridLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultGridLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnDashboardGridLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions)}):properties}function CfnDashboardDefaultGridLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnDashboardGridLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultInteractiveLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("freeForm",CfnDashboardDefaultFreeFormLayoutConfigurationPropertyValidator)(properties.freeForm)),errors.collect(cdk().propertyValidator("grid",CfnDashboardDefaultGridLayoutConfigurationPropertyValidator)(properties.grid)),errors.wrap('supplied properties not correct for "DefaultInteractiveLayoutConfigurationProperty"')}function convertCfnDashboardDefaultInteractiveLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultInteractiveLayoutConfigurationPropertyValidator(properties).assertSuccess(),{FreeForm:convertCfnDashboardDefaultFreeFormLayoutConfigurationPropertyToCloudFormation(properties.freeForm),Grid:convertCfnDashboardDefaultGridLayoutConfigurationPropertyToCloudFormation(properties.grid)}):properties}function CfnDashboardDefaultInteractiveLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("freeForm","FreeForm",properties.FreeForm!=null?CfnDashboardDefaultFreeFormLayoutConfigurationPropertyFromCloudFormation(properties.FreeForm):void 0),ret.addPropertyResult("grid","Grid",properties.Grid!=null?CfnDashboardDefaultGridLayoutConfigurationPropertyFromCloudFormation(properties.Grid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSpacingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bottom",cdk().validateString)(properties.bottom)),errors.collect(cdk().propertyValidator("left",cdk().validateString)(properties.left)),errors.collect(cdk().propertyValidator("right",cdk().validateString)(properties.right)),errors.collect(cdk().propertyValidator("top",cdk().validateString)(properties.top)),errors.wrap('supplied properties not correct for "SpacingProperty"')}function convertCfnDashboardSpacingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSpacingPropertyValidator(properties).assertSuccess(),{Bottom:cdk().stringToCloudFormation(properties.bottom),Left:cdk().stringToCloudFormation(properties.left),Right:cdk().stringToCloudFormation(properties.right),Top:cdk().stringToCloudFormation(properties.top)}):properties}function CfnDashboardSpacingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bottom","Bottom",properties.Bottom!=null?cfn_parse().FromCloudFormation.getString(properties.Bottom):void 0),ret.addPropertyResult("left","Left",properties.Left!=null?cfn_parse().FromCloudFormation.getString(properties.Left):void 0),ret.addPropertyResult("right","Right",properties.Right!=null?cfn_parse().FromCloudFormation.getString(properties.Right):void 0),ret.addPropertyResult("top","Top",properties.Top!=null?cfn_parse().FromCloudFormation.getString(properties.Top):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSectionBasedLayoutPaperCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("paperMargin",CfnDashboardSpacingPropertyValidator)(properties.paperMargin)),errors.collect(cdk().propertyValidator("paperOrientation",cdk().validateString)(properties.paperOrientation)),errors.collect(cdk().propertyValidator("paperSize",cdk().validateString)(properties.paperSize)),errors.wrap('supplied properties not correct for "SectionBasedLayoutPaperCanvasSizeOptionsProperty"')}function convertCfnDashboardSectionBasedLayoutPaperCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSectionBasedLayoutPaperCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{PaperMargin:convertCfnDashboardSpacingPropertyToCloudFormation(properties.paperMargin),PaperOrientation:cdk().stringToCloudFormation(properties.paperOrientation),PaperSize:cdk().stringToCloudFormation(properties.paperSize)}):properties}function CfnDashboardSectionBasedLayoutPaperCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("paperMargin","PaperMargin",properties.PaperMargin!=null?CfnDashboardSpacingPropertyFromCloudFormation(properties.PaperMargin):void 0),ret.addPropertyResult("paperOrientation","PaperOrientation",properties.PaperOrientation!=null?cfn_parse().FromCloudFormation.getString(properties.PaperOrientation):void 0),ret.addPropertyResult("paperSize","PaperSize",properties.PaperSize!=null?cfn_parse().FromCloudFormation.getString(properties.PaperSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("paperCanvasSizeOptions",CfnDashboardSectionBasedLayoutPaperCanvasSizeOptionsPropertyValidator)(properties.paperCanvasSizeOptions)),errors.wrap('supplied properties not correct for "SectionBasedLayoutCanvasSizeOptionsProperty"')}function convertCfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{PaperCanvasSizeOptions:convertCfnDashboardSectionBasedLayoutPaperCanvasSizeOptionsPropertyToCloudFormation(properties.paperCanvasSizeOptions)}):properties}function CfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("paperCanvasSizeOptions","PaperCanvasSizeOptions",properties.PaperCanvasSizeOptions!=null?CfnDashboardSectionBasedLayoutPaperCanvasSizeOptionsPropertyFromCloudFormation(properties.PaperCanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultSectionBasedLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.wrap('supplied properties not correct for "DefaultSectionBasedLayoutConfigurationProperty"')}function convertCfnDashboardDefaultSectionBasedLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultSectionBasedLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions)}):properties}function CfnDashboardDefaultSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultPaginatedLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sectionBased",CfnDashboardDefaultSectionBasedLayoutConfigurationPropertyValidator)(properties.sectionBased)),errors.wrap('supplied properties not correct for "DefaultPaginatedLayoutConfigurationProperty"')}function convertCfnDashboardDefaultPaginatedLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultPaginatedLayoutConfigurationPropertyValidator(properties).assertSuccess(),{SectionBased:convertCfnDashboardDefaultSectionBasedLayoutConfigurationPropertyToCloudFormation(properties.sectionBased)}):properties}function CfnDashboardDefaultPaginatedLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sectionBased","SectionBased",properties.SectionBased!=null?CfnDashboardDefaultSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties.SectionBased):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDefaultNewSheetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("interactiveLayoutConfiguration",CfnDashboardDefaultInteractiveLayoutConfigurationPropertyValidator)(properties.interactiveLayoutConfiguration)),errors.collect(cdk().propertyValidator("paginatedLayoutConfiguration",CfnDashboardDefaultPaginatedLayoutConfigurationPropertyValidator)(properties.paginatedLayoutConfiguration)),errors.collect(cdk().propertyValidator("sheetContentType",cdk().validateString)(properties.sheetContentType)),errors.wrap('supplied properties not correct for "DefaultNewSheetConfigurationProperty"')}function convertCfnDashboardDefaultNewSheetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDefaultNewSheetConfigurationPropertyValidator(properties).assertSuccess(),{InteractiveLayoutConfiguration:convertCfnDashboardDefaultInteractiveLayoutConfigurationPropertyToCloudFormation(properties.interactiveLayoutConfiguration),PaginatedLayoutConfiguration:convertCfnDashboardDefaultPaginatedLayoutConfigurationPropertyToCloudFormation(properties.paginatedLayoutConfiguration),SheetContentType:cdk().stringToCloudFormation(properties.sheetContentType)}):properties}function CfnDashboardDefaultNewSheetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("interactiveLayoutConfiguration","InteractiveLayoutConfiguration",properties.InteractiveLayoutConfiguration!=null?CfnDashboardDefaultInteractiveLayoutConfigurationPropertyFromCloudFormation(properties.InteractiveLayoutConfiguration):void 0),ret.addPropertyResult("paginatedLayoutConfiguration","PaginatedLayoutConfiguration",properties.PaginatedLayoutConfiguration!=null?CfnDashboardDefaultPaginatedLayoutConfigurationPropertyFromCloudFormation(properties.PaginatedLayoutConfiguration):void 0),ret.addPropertyResult("sheetContentType","SheetContentType",properties.SheetContentType!=null?cfn_parse().FromCloudFormation.getString(properties.SheetContentType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAnalysisDefaultsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultNewSheetConfiguration",cdk().requiredValidator)(properties.defaultNewSheetConfiguration)),errors.collect(cdk().propertyValidator("defaultNewSheetConfiguration",CfnDashboardDefaultNewSheetConfigurationPropertyValidator)(properties.defaultNewSheetConfiguration)),errors.wrap('supplied properties not correct for "AnalysisDefaultsProperty"')}function convertCfnDashboardAnalysisDefaultsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAnalysisDefaultsPropertyValidator(properties).assertSuccess(),{DefaultNewSheetConfiguration:convertCfnDashboardDefaultNewSheetConfigurationPropertyToCloudFormation(properties.defaultNewSheetConfiguration)}):properties}function CfnDashboardAnalysisDefaultsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultNewSheetConfiguration","DefaultNewSheetConfiguration",properties.DefaultNewSheetConfiguration!=null?CfnDashboardDefaultNewSheetConfigurationPropertyFromCloudFormation(properties.DefaultNewSheetConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParameterSliderControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardSliderControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("maximumValue",cdk().requiredValidator)(properties.maximumValue)),errors.collect(cdk().propertyValidator("maximumValue",cdk().validateNumber)(properties.maximumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().requiredValidator)(properties.minimumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().validateNumber)(properties.minimumValue)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("stepSize",cdk().requiredValidator)(properties.stepSize)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterSliderControlProperty"')}function convertCfnDashboardParameterSliderControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParameterSliderControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnDashboardSliderControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),MaximumValue:cdk().numberToCloudFormation(properties.maximumValue),MinimumValue:cdk().numberToCloudFormation(properties.minimumValue),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),StepSize:cdk().numberToCloudFormation(properties.stepSize),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnDashboardParameterSliderControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardSliderControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("maximumValue","MaximumValue",properties.MaximumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumValue):void 0),ret.addPropertyResult("minimumValue","MinimumValue",properties.MinimumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumValue):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParameterTextAreaControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardTextAreaControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterTextAreaControlProperty"')}function convertCfnDashboardParameterTextAreaControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParameterTextAreaControlPropertyValidator(properties).assertSuccess(),{Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisplayOptions:convertCfnDashboardTextAreaControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnDashboardParameterTextAreaControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCascadingControlSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnToMatch",CfnDashboardColumnIdentifierPropertyValidator)(properties.columnToMatch)),errors.collect(cdk().propertyValidator("sourceSheetControlId",cdk().validateString)(properties.sourceSheetControlId)),errors.wrap('supplied properties not correct for "CascadingControlSourceProperty"')}function convertCfnDashboardCascadingControlSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCascadingControlSourcePropertyValidator(properties).assertSuccess(),{ColumnToMatch:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.columnToMatch),SourceSheetControlId:cdk().stringToCloudFormation(properties.sourceSheetControlId)}):properties}function CfnDashboardCascadingControlSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnToMatch","ColumnToMatch",properties.ColumnToMatch!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.ColumnToMatch):void 0),ret.addPropertyResult("sourceSheetControlId","SourceSheetControlId",properties.SourceSheetControlId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceSheetControlId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCascadingControlConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sourceControls",cdk().listValidator(CfnDashboardCascadingControlSourcePropertyValidator))(properties.sourceControls)),errors.wrap('supplied properties not correct for "CascadingControlConfigurationProperty"')}function convertCfnDashboardCascadingControlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCascadingControlConfigurationPropertyValidator(properties).assertSuccess(),{SourceControls:cdk().listMapper(convertCfnDashboardCascadingControlSourcePropertyToCloudFormation)(properties.sourceControls)}):properties}function CfnDashboardCascadingControlConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sourceControls","SourceControls",properties.SourceControls!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardCascadingControlSourcePropertyFromCloudFormation)(properties.SourceControls):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParameterSelectableValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("linkToDataSetColumn",CfnDashboardColumnIdentifierPropertyValidator)(properties.linkToDataSetColumn)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "ParameterSelectableValuesProperty"')}function convertCfnDashboardParameterSelectableValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParameterSelectableValuesPropertyValidator(properties).assertSuccess(),{LinkToDataSetColumn:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.linkToDataSetColumn),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnDashboardParameterSelectableValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("linkToDataSetColumn","LinkToDataSetColumn",properties.LinkToDataSetColumn!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.LinkToDataSetColumn):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParameterDropDownControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnDashboardCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardDropDownControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnDashboardParameterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ParameterDropDownControlProperty"')}function convertCfnDashboardParameterDropDownControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParameterDropDownControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnDashboardCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnDashboardDropDownControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SelectableValues:convertCfnDashboardParameterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardParameterDropDownControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnDashboardCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardDropDownControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnDashboardParameterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParameterTextFieldControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardTextFieldControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterTextFieldControlProperty"')}function convertCfnDashboardParameterTextFieldControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParameterTextFieldControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnDashboardTextFieldControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnDashboardParameterTextFieldControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParameterListControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnDashboardCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardListControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnDashboardParameterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ParameterListControlProperty"')}function convertCfnDashboardParameterListControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParameterListControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnDashboardCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),DisplayOptions:convertCfnDashboardListControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SelectableValues:convertCfnDashboardParameterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardParameterListControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnDashboardCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardListControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnDashboardParameterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParameterDateTimePickerControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardDateTimePickerControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterDateTimePickerControlProperty"')}function convertCfnDashboardParameterDateTimePickerControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParameterDateTimePickerControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnDashboardDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnDashboardParameterDateTimePickerControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParameterControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimePicker",CfnDashboardParameterDateTimePickerControlPropertyValidator)(properties.dateTimePicker)),errors.collect(cdk().propertyValidator("dropdown",CfnDashboardParameterDropDownControlPropertyValidator)(properties.dropdown)),errors.collect(cdk().propertyValidator("list",CfnDashboardParameterListControlPropertyValidator)(properties.list)),errors.collect(cdk().propertyValidator("slider",CfnDashboardParameterSliderControlPropertyValidator)(properties.slider)),errors.collect(cdk().propertyValidator("textArea",CfnDashboardParameterTextAreaControlPropertyValidator)(properties.textArea)),errors.collect(cdk().propertyValidator("textField",CfnDashboardParameterTextFieldControlPropertyValidator)(properties.textField)),errors.wrap('supplied properties not correct for "ParameterControlProperty"')}function convertCfnDashboardParameterControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParameterControlPropertyValidator(properties).assertSuccess(),{DateTimePicker:convertCfnDashboardParameterDateTimePickerControlPropertyToCloudFormation(properties.dateTimePicker),Dropdown:convertCfnDashboardParameterDropDownControlPropertyToCloudFormation(properties.dropdown),List:convertCfnDashboardParameterListControlPropertyToCloudFormation(properties.list),Slider:convertCfnDashboardParameterSliderControlPropertyToCloudFormation(properties.slider),TextArea:convertCfnDashboardParameterTextAreaControlPropertyToCloudFormation(properties.textArea),TextField:convertCfnDashboardParameterTextFieldControlPropertyToCloudFormation(properties.textField)}):properties}function CfnDashboardParameterControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimePicker","DateTimePicker",properties.DateTimePicker!=null?CfnDashboardParameterDateTimePickerControlPropertyFromCloudFormation(properties.DateTimePicker):void 0),ret.addPropertyResult("dropdown","Dropdown",properties.Dropdown!=null?CfnDashboardParameterDropDownControlPropertyFromCloudFormation(properties.Dropdown):void 0),ret.addPropertyResult("list","List",properties.List!=null?CfnDashboardParameterListControlPropertyFromCloudFormation(properties.List):void 0),ret.addPropertyResult("slider","Slider",properties.Slider!=null?CfnDashboardParameterSliderControlPropertyFromCloudFormation(properties.Slider):void 0),ret.addPropertyResult("textArea","TextArea",properties.TextArea!=null?CfnDashboardParameterTextAreaControlPropertyFromCloudFormation(properties.TextArea):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?CfnDashboardParameterTextFieldControlPropertyFromCloudFormation(properties.TextField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetTextBoxPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("content",cdk().validateString)(properties.content)),errors.collect(cdk().propertyValidator("sheetTextBoxId",cdk().requiredValidator)(properties.sheetTextBoxId)),errors.collect(cdk().propertyValidator("sheetTextBoxId",cdk().validateString)(properties.sheetTextBoxId)),errors.wrap('supplied properties not correct for "SheetTextBoxProperty"')}function convertCfnDashboardSheetTextBoxPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetTextBoxPropertyValidator(properties).assertSuccess(),{Content:cdk().stringToCloudFormation(properties.content),SheetTextBoxId:cdk().stringToCloudFormation(properties.sheetTextBoxId)}):properties}function CfnDashboardSheetTextBoxPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("content","Content",properties.Content!=null?cfn_parse().FromCloudFormation.getString(properties.Content):void 0),ret.addPropertyResult("sheetTextBoxId","SheetTextBoxId",properties.SheetTextBoxId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetTextBoxId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGridLayoutElementBorderStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "GridLayoutElementBorderStyleProperty"')}function convertCfnDashboardGridLayoutElementBorderStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGridLayoutElementBorderStylePropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnDashboardGridLayoutElementBorderStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLoadingAnimationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "LoadingAnimationProperty"')}function convertCfnDashboardLoadingAnimationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLoadingAnimationPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardLoadingAnimationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGridLayoutElementBackgroundStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "GridLayoutElementBackgroundStyleProperty"')}function convertCfnDashboardGridLayoutElementBackgroundStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGridLayoutElementBackgroundStylePropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardGridLayoutElementBackgroundStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGridLayoutElementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundStyle",CfnDashboardGridLayoutElementBackgroundStylePropertyValidator)(properties.backgroundStyle)),errors.collect(cdk().propertyValidator("borderRadius",cdk().validateString)(properties.borderRadius)),errors.collect(cdk().propertyValidator("borderStyle",CfnDashboardGridLayoutElementBorderStylePropertyValidator)(properties.borderStyle)),errors.collect(cdk().propertyValidator("columnIndex",cdk().validateNumber)(properties.columnIndex)),errors.collect(cdk().propertyValidator("columnSpan",cdk().requiredValidator)(properties.columnSpan)),errors.collect(cdk().propertyValidator("columnSpan",cdk().validateNumber)(properties.columnSpan)),errors.collect(cdk().propertyValidator("elementId",cdk().requiredValidator)(properties.elementId)),errors.collect(cdk().propertyValidator("elementId",cdk().validateString)(properties.elementId)),errors.collect(cdk().propertyValidator("elementType",cdk().requiredValidator)(properties.elementType)),errors.collect(cdk().propertyValidator("elementType",cdk().validateString)(properties.elementType)),errors.collect(cdk().propertyValidator("loadingAnimation",CfnDashboardLoadingAnimationPropertyValidator)(properties.loadingAnimation)),errors.collect(cdk().propertyValidator("padding",cdk().validateString)(properties.padding)),errors.collect(cdk().propertyValidator("rowIndex",cdk().validateNumber)(properties.rowIndex)),errors.collect(cdk().propertyValidator("rowSpan",cdk().requiredValidator)(properties.rowSpan)),errors.collect(cdk().propertyValidator("rowSpan",cdk().validateNumber)(properties.rowSpan)),errors.collect(cdk().propertyValidator("selectedBorderStyle",CfnDashboardGridLayoutElementBorderStylePropertyValidator)(properties.selectedBorderStyle)),errors.wrap('supplied properties not correct for "GridLayoutElementProperty"')}function convertCfnDashboardGridLayoutElementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGridLayoutElementPropertyValidator(properties).assertSuccess(),{BackgroundStyle:convertCfnDashboardGridLayoutElementBackgroundStylePropertyToCloudFormation(properties.backgroundStyle),BorderRadius:cdk().stringToCloudFormation(properties.borderRadius),BorderStyle:convertCfnDashboardGridLayoutElementBorderStylePropertyToCloudFormation(properties.borderStyle),ColumnIndex:cdk().numberToCloudFormation(properties.columnIndex),ColumnSpan:cdk().numberToCloudFormation(properties.columnSpan),ElementId:cdk().stringToCloudFormation(properties.elementId),ElementType:cdk().stringToCloudFormation(properties.elementType),LoadingAnimation:convertCfnDashboardLoadingAnimationPropertyToCloudFormation(properties.loadingAnimation),Padding:cdk().stringToCloudFormation(properties.padding),RowIndex:cdk().numberToCloudFormation(properties.rowIndex),RowSpan:cdk().numberToCloudFormation(properties.rowSpan),SelectedBorderStyle:convertCfnDashboardGridLayoutElementBorderStylePropertyToCloudFormation(properties.selectedBorderStyle)}):properties}function CfnDashboardGridLayoutElementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundStyle","BackgroundStyle",properties.BackgroundStyle!=null?CfnDashboardGridLayoutElementBackgroundStylePropertyFromCloudFormation(properties.BackgroundStyle):void 0),ret.addPropertyResult("borderRadius","BorderRadius",properties.BorderRadius!=null?cfn_parse().FromCloudFormation.getString(properties.BorderRadius):void 0),ret.addPropertyResult("borderStyle","BorderStyle",properties.BorderStyle!=null?CfnDashboardGridLayoutElementBorderStylePropertyFromCloudFormation(properties.BorderStyle):void 0),ret.addPropertyResult("columnIndex","ColumnIndex",properties.ColumnIndex!=null?cfn_parse().FromCloudFormation.getNumber(properties.ColumnIndex):void 0),ret.addPropertyResult("columnSpan","ColumnSpan",properties.ColumnSpan!=null?cfn_parse().FromCloudFormation.getNumber(properties.ColumnSpan):void 0),ret.addPropertyResult("elementId","ElementId",properties.ElementId!=null?cfn_parse().FromCloudFormation.getString(properties.ElementId):void 0),ret.addPropertyResult("elementType","ElementType",properties.ElementType!=null?cfn_parse().FromCloudFormation.getString(properties.ElementType):void 0),ret.addPropertyResult("loadingAnimation","LoadingAnimation",properties.LoadingAnimation!=null?CfnDashboardLoadingAnimationPropertyFromCloudFormation(properties.LoadingAnimation):void 0),ret.addPropertyResult("padding","Padding",properties.Padding!=null?cfn_parse().FromCloudFormation.getString(properties.Padding):void 0),ret.addPropertyResult("rowIndex","RowIndex",properties.RowIndex!=null?cfn_parse().FromCloudFormation.getNumber(properties.RowIndex):void 0),ret.addPropertyResult("rowSpan","RowSpan",properties.RowSpan!=null?cfn_parse().FromCloudFormation.getNumber(properties.RowSpan):void 0),ret.addPropertyResult("selectedBorderStyle","SelectedBorderStyle",properties.SelectedBorderStyle!=null?CfnDashboardGridLayoutElementBorderStylePropertyFromCloudFormation(properties.SelectedBorderStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGridLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnDashboardGridLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("elements",cdk().requiredValidator)(properties.elements)),errors.collect(cdk().propertyValidator("elements",cdk().listValidator(CfnDashboardGridLayoutElementPropertyValidator))(properties.elements)),errors.wrap('supplied properties not correct for "GridLayoutConfigurationProperty"')}function convertCfnDashboardGridLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGridLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnDashboardGridLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions),Elements:cdk().listMapper(convertCfnDashboardGridLayoutElementPropertyToCloudFormation)(properties.elements)}):properties}function CfnDashboardGridLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnDashboardGridLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addPropertyResult("elements","Elements",properties.Elements!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGridLayoutElementPropertyFromCloudFormation)(properties.Elements):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFreeFormLayoutElementBorderStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "FreeFormLayoutElementBorderStyleProperty"')}function convertCfnDashboardFreeFormLayoutElementBorderStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFreeFormLayoutElementBorderStylePropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnDashboardFreeFormLayoutElementBorderStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetElementConfigurationOverridesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SheetElementConfigurationOverridesProperty"')}function convertCfnDashboardSheetElementConfigurationOverridesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetElementConfigurationOverridesPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardSheetElementConfigurationOverridesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetElementRenderingRulePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("configurationOverrides",cdk().requiredValidator)(properties.configurationOverrides)),errors.collect(cdk().propertyValidator("configurationOverrides",CfnDashboardSheetElementConfigurationOverridesPropertyValidator)(properties.configurationOverrides)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "SheetElementRenderingRuleProperty"')}function convertCfnDashboardSheetElementRenderingRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetElementRenderingRulePropertyValidator(properties).assertSuccess(),{ConfigurationOverrides:convertCfnDashboardSheetElementConfigurationOverridesPropertyToCloudFormation(properties.configurationOverrides),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnDashboardSheetElementRenderingRulePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("configurationOverrides","ConfigurationOverrides",properties.ConfigurationOverrides!=null?CfnDashboardSheetElementConfigurationOverridesPropertyFromCloudFormation(properties.ConfigurationOverrides):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFreeFormLayoutElementBackgroundStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FreeFormLayoutElementBackgroundStyleProperty"')}function convertCfnDashboardFreeFormLayoutElementBackgroundStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFreeFormLayoutElementBackgroundStylePropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardFreeFormLayoutElementBackgroundStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFreeFormLayoutElementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundStyle",CfnDashboardFreeFormLayoutElementBackgroundStylePropertyValidator)(properties.backgroundStyle)),errors.collect(cdk().propertyValidator("borderRadius",cdk().validateString)(properties.borderRadius)),errors.collect(cdk().propertyValidator("borderStyle",CfnDashboardFreeFormLayoutElementBorderStylePropertyValidator)(properties.borderStyle)),errors.collect(cdk().propertyValidator("elementId",cdk().requiredValidator)(properties.elementId)),errors.collect(cdk().propertyValidator("elementId",cdk().validateString)(properties.elementId)),errors.collect(cdk().propertyValidator("elementType",cdk().requiredValidator)(properties.elementType)),errors.collect(cdk().propertyValidator("elementType",cdk().validateString)(properties.elementType)),errors.collect(cdk().propertyValidator("height",cdk().requiredValidator)(properties.height)),errors.collect(cdk().propertyValidator("height",cdk().validateString)(properties.height)),errors.collect(cdk().propertyValidator("loadingAnimation",CfnDashboardLoadingAnimationPropertyValidator)(properties.loadingAnimation)),errors.collect(cdk().propertyValidator("padding",cdk().validateString)(properties.padding)),errors.collect(cdk().propertyValidator("renderingRules",cdk().listValidator(CfnDashboardSheetElementRenderingRulePropertyValidator))(properties.renderingRules)),errors.collect(cdk().propertyValidator("selectedBorderStyle",CfnDashboardFreeFormLayoutElementBorderStylePropertyValidator)(properties.selectedBorderStyle)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().requiredValidator)(properties.width)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.collect(cdk().propertyValidator("xAxisLocation",cdk().requiredValidator)(properties.xAxisLocation)),errors.collect(cdk().propertyValidator("xAxisLocation",cdk().validateString)(properties.xAxisLocation)),errors.collect(cdk().propertyValidator("yAxisLocation",cdk().requiredValidator)(properties.yAxisLocation)),errors.collect(cdk().propertyValidator("yAxisLocation",cdk().validateString)(properties.yAxisLocation)),errors.wrap('supplied properties not correct for "FreeFormLayoutElementProperty"')}function convertCfnDashboardFreeFormLayoutElementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFreeFormLayoutElementPropertyValidator(properties).assertSuccess(),{BackgroundStyle:convertCfnDashboardFreeFormLayoutElementBackgroundStylePropertyToCloudFormation(properties.backgroundStyle),BorderRadius:cdk().stringToCloudFormation(properties.borderRadius),BorderStyle:convertCfnDashboardFreeFormLayoutElementBorderStylePropertyToCloudFormation(properties.borderStyle),ElementId:cdk().stringToCloudFormation(properties.elementId),ElementType:cdk().stringToCloudFormation(properties.elementType),Height:cdk().stringToCloudFormation(properties.height),LoadingAnimation:convertCfnDashboardLoadingAnimationPropertyToCloudFormation(properties.loadingAnimation),Padding:cdk().stringToCloudFormation(properties.padding),RenderingRules:cdk().listMapper(convertCfnDashboardSheetElementRenderingRulePropertyToCloudFormation)(properties.renderingRules),SelectedBorderStyle:convertCfnDashboardFreeFormLayoutElementBorderStylePropertyToCloudFormation(properties.selectedBorderStyle),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width),XAxisLocation:cdk().stringToCloudFormation(properties.xAxisLocation),YAxisLocation:cdk().stringToCloudFormation(properties.yAxisLocation)}):properties}function CfnDashboardFreeFormLayoutElementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundStyle","BackgroundStyle",properties.BackgroundStyle!=null?CfnDashboardFreeFormLayoutElementBackgroundStylePropertyFromCloudFormation(properties.BackgroundStyle):void 0),ret.addPropertyResult("borderRadius","BorderRadius",properties.BorderRadius!=null?cfn_parse().FromCloudFormation.getString(properties.BorderRadius):void 0),ret.addPropertyResult("borderStyle","BorderStyle",properties.BorderStyle!=null?CfnDashboardFreeFormLayoutElementBorderStylePropertyFromCloudFormation(properties.BorderStyle):void 0),ret.addPropertyResult("elementId","ElementId",properties.ElementId!=null?cfn_parse().FromCloudFormation.getString(properties.ElementId):void 0),ret.addPropertyResult("elementType","ElementType",properties.ElementType!=null?cfn_parse().FromCloudFormation.getString(properties.ElementType):void 0),ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getString(properties.Height):void 0),ret.addPropertyResult("loadingAnimation","LoadingAnimation",properties.LoadingAnimation!=null?CfnDashboardLoadingAnimationPropertyFromCloudFormation(properties.LoadingAnimation):void 0),ret.addPropertyResult("padding","Padding",properties.Padding!=null?cfn_parse().FromCloudFormation.getString(properties.Padding):void 0),ret.addPropertyResult("renderingRules","RenderingRules",properties.RenderingRules!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardSheetElementRenderingRulePropertyFromCloudFormation)(properties.RenderingRules):void 0),ret.addPropertyResult("selectedBorderStyle","SelectedBorderStyle",properties.SelectedBorderStyle!=null?CfnDashboardFreeFormLayoutElementBorderStylePropertyFromCloudFormation(properties.SelectedBorderStyle):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addPropertyResult("xAxisLocation","XAxisLocation",properties.XAxisLocation!=null?cfn_parse().FromCloudFormation.getString(properties.XAxisLocation):void 0),ret.addPropertyResult("yAxisLocation","YAxisLocation",properties.YAxisLocation!=null?cfn_parse().FromCloudFormation.getString(properties.YAxisLocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFreeFormLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("elements",cdk().requiredValidator)(properties.elements)),errors.collect(cdk().propertyValidator("elements",cdk().listValidator(CfnDashboardFreeFormLayoutElementPropertyValidator))(properties.elements)),errors.wrap('supplied properties not correct for "FreeFormLayoutConfigurationProperty"')}function convertCfnDashboardFreeFormLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFreeFormLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions),Elements:cdk().listMapper(convertCfnDashboardFreeFormLayoutElementPropertyToCloudFormation)(properties.elements)}):properties}function CfnDashboardFreeFormLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnDashboardFreeFormLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addPropertyResult("elements","Elements",properties.Elements!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFreeFormLayoutElementPropertyFromCloudFormation)(properties.Elements):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFreeFormSectionLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("elements",cdk().requiredValidator)(properties.elements)),errors.collect(cdk().propertyValidator("elements",cdk().listValidator(CfnDashboardFreeFormLayoutElementPropertyValidator))(properties.elements)),errors.wrap('supplied properties not correct for "FreeFormSectionLayoutConfigurationProperty"')}function convertCfnDashboardFreeFormSectionLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFreeFormSectionLayoutConfigurationPropertyValidator(properties).assertSuccess(),{Elements:cdk().listMapper(convertCfnDashboardFreeFormLayoutElementPropertyToCloudFormation)(properties.elements)}):properties}function CfnDashboardFreeFormSectionLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("elements","Elements",properties.Elements!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFreeFormLayoutElementPropertyFromCloudFormation)(properties.Elements):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSectionLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("freeFormLayout",cdk().requiredValidator)(properties.freeFormLayout)),errors.collect(cdk().propertyValidator("freeFormLayout",CfnDashboardFreeFormSectionLayoutConfigurationPropertyValidator)(properties.freeFormLayout)),errors.wrap('supplied properties not correct for "SectionLayoutConfigurationProperty"')}function convertCfnDashboardSectionLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSectionLayoutConfigurationPropertyValidator(properties).assertSuccess(),{FreeFormLayout:convertCfnDashboardFreeFormSectionLayoutConfigurationPropertyToCloudFormation(properties.freeFormLayout)}):properties}function CfnDashboardSectionLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("freeFormLayout","FreeFormLayout",properties.FreeFormLayout!=null?CfnDashboardFreeFormSectionLayoutConfigurationPropertyFromCloudFormation(properties.FreeFormLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSectionStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("height",cdk().validateString)(properties.height)),errors.collect(cdk().propertyValidator("padding",CfnDashboardSpacingPropertyValidator)(properties.padding)),errors.wrap('supplied properties not correct for "SectionStyleProperty"')}function convertCfnDashboardSectionStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSectionStylePropertyValidator(properties).assertSuccess(),{Height:cdk().stringToCloudFormation(properties.height),Padding:convertCfnDashboardSpacingPropertyToCloudFormation(properties.padding)}):properties}function CfnDashboardSectionStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getString(properties.Height):void 0),ret.addPropertyResult("padding","Padding",properties.Padding!=null?CfnDashboardSpacingPropertyFromCloudFormation(properties.Padding):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHeaderFooterSectionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("layout",cdk().requiredValidator)(properties.layout)),errors.collect(cdk().propertyValidator("layout",CfnDashboardSectionLayoutConfigurationPropertyValidator)(properties.layout)),errors.collect(cdk().propertyValidator("sectionId",cdk().requiredValidator)(properties.sectionId)),errors.collect(cdk().propertyValidator("sectionId",cdk().validateString)(properties.sectionId)),errors.collect(cdk().propertyValidator("style",CfnDashboardSectionStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "HeaderFooterSectionConfigurationProperty"')}function convertCfnDashboardHeaderFooterSectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHeaderFooterSectionConfigurationPropertyValidator(properties).assertSuccess(),{Layout:convertCfnDashboardSectionLayoutConfigurationPropertyToCloudFormation(properties.layout),SectionId:cdk().stringToCloudFormation(properties.sectionId),Style:convertCfnDashboardSectionStylePropertyToCloudFormation(properties.style)}):properties}function CfnDashboardHeaderFooterSectionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("layout","Layout",properties.Layout!=null?CfnDashboardSectionLayoutConfigurationPropertyFromCloudFormation(properties.Layout):void 0),ret.addPropertyResult("sectionId","SectionId",properties.SectionId!=null?cfn_parse().FromCloudFormation.getString(properties.SectionId):void 0),ret.addPropertyResult("style","Style",properties.Style!=null?CfnDashboardSectionStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBodySectionContentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("layout",CfnDashboardSectionLayoutConfigurationPropertyValidator)(properties.layout)),errors.wrap('supplied properties not correct for "BodySectionContentProperty"')}function convertCfnDashboardBodySectionContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBodySectionContentPropertyValidator(properties).assertSuccess(),{Layout:convertCfnDashboardSectionLayoutConfigurationPropertyToCloudFormation(properties.layout)}):properties}function CfnDashboardBodySectionContentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("layout","Layout",properties.Layout!=null?CfnDashboardSectionLayoutConfigurationPropertyFromCloudFormation(properties.Layout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSectionAfterPageBreakPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "SectionAfterPageBreakProperty"')}function convertCfnDashboardSectionAfterPageBreakPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSectionAfterPageBreakPropertyValidator(properties).assertSuccess(),{Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnDashboardSectionAfterPageBreakPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSectionPageBreakConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("after",CfnDashboardSectionAfterPageBreakPropertyValidator)(properties.after)),errors.wrap('supplied properties not correct for "SectionPageBreakConfigurationProperty"')}function convertCfnDashboardSectionPageBreakConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSectionPageBreakConfigurationPropertyValidator(properties).assertSuccess(),{After:convertCfnDashboardSectionAfterPageBreakPropertyToCloudFormation(properties.after)}):properties}function CfnDashboardSectionPageBreakConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("after","After",properties.After!=null?CfnDashboardSectionAfterPageBreakPropertyFromCloudFormation(properties.After):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardColumnSortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnDashboardAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("sortBy",cdk().requiredValidator)(properties.sortBy)),errors.collect(cdk().propertyValidator("sortBy",CfnDashboardColumnIdentifierPropertyValidator)(properties.sortBy)),errors.wrap('supplied properties not correct for "ColumnSortProperty"')}function convertCfnDashboardColumnSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardColumnSortPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnDashboardAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Direction:cdk().stringToCloudFormation(properties.direction),SortBy:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.sortBy)}):properties}function CfnDashboardColumnSortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnDashboardAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("sortBy","SortBy",properties.SortBy!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.SortBy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBodySectionDynamicNumericDimensionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("limit",cdk().validateNumber)(properties.limit)),errors.collect(cdk().propertyValidator("sortByMetrics",cdk().listValidator(CfnDashboardColumnSortPropertyValidator))(properties.sortByMetrics)),errors.wrap('supplied properties not correct for "BodySectionDynamicNumericDimensionConfigurationProperty"')}function convertCfnDashboardBodySectionDynamicNumericDimensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBodySectionDynamicNumericDimensionConfigurationPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),Limit:cdk().numberToCloudFormation(properties.limit),SortByMetrics:cdk().listMapper(convertCfnDashboardColumnSortPropertyToCloudFormation)(properties.sortByMetrics)}):properties}function CfnDashboardBodySectionDynamicNumericDimensionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("limit","Limit",properties.Limit!=null?cfn_parse().FromCloudFormation.getNumber(properties.Limit):void 0),ret.addPropertyResult("sortByMetrics","SortByMetrics",properties.SortByMetrics!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnSortPropertyFromCloudFormation)(properties.SortByMetrics):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBodySectionDynamicCategoryDimensionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("limit",cdk().validateNumber)(properties.limit)),errors.collect(cdk().propertyValidator("sortByMetrics",cdk().listValidator(CfnDashboardColumnSortPropertyValidator))(properties.sortByMetrics)),errors.wrap('supplied properties not correct for "BodySectionDynamicCategoryDimensionConfigurationProperty"')}function convertCfnDashboardBodySectionDynamicCategoryDimensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBodySectionDynamicCategoryDimensionConfigurationPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),Limit:cdk().numberToCloudFormation(properties.limit),SortByMetrics:cdk().listMapper(convertCfnDashboardColumnSortPropertyToCloudFormation)(properties.sortByMetrics)}):properties}function CfnDashboardBodySectionDynamicCategoryDimensionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("limit","Limit",properties.Limit!=null?cfn_parse().FromCloudFormation.getNumber(properties.Limit):void 0),ret.addPropertyResult("sortByMetrics","SortByMetrics",properties.SortByMetrics!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnSortPropertyFromCloudFormation)(properties.SortByMetrics):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBodySectionRepeatDimensionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicCategoryDimensionConfiguration",CfnDashboardBodySectionDynamicCategoryDimensionConfigurationPropertyValidator)(properties.dynamicCategoryDimensionConfiguration)),errors.collect(cdk().propertyValidator("dynamicNumericDimensionConfiguration",CfnDashboardBodySectionDynamicNumericDimensionConfigurationPropertyValidator)(properties.dynamicNumericDimensionConfiguration)),errors.wrap('supplied properties not correct for "BodySectionRepeatDimensionConfigurationProperty"')}function convertCfnDashboardBodySectionRepeatDimensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBodySectionRepeatDimensionConfigurationPropertyValidator(properties).assertSuccess(),{DynamicCategoryDimensionConfiguration:convertCfnDashboardBodySectionDynamicCategoryDimensionConfigurationPropertyToCloudFormation(properties.dynamicCategoryDimensionConfiguration),DynamicNumericDimensionConfiguration:convertCfnDashboardBodySectionDynamicNumericDimensionConfigurationPropertyToCloudFormation(properties.dynamicNumericDimensionConfiguration)}):properties}function CfnDashboardBodySectionRepeatDimensionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicCategoryDimensionConfiguration","DynamicCategoryDimensionConfiguration",properties.DynamicCategoryDimensionConfiguration!=null?CfnDashboardBodySectionDynamicCategoryDimensionConfigurationPropertyFromCloudFormation(properties.DynamicCategoryDimensionConfiguration):void 0),ret.addPropertyResult("dynamicNumericDimensionConfiguration","DynamicNumericDimensionConfiguration",properties.DynamicNumericDimensionConfiguration!=null?CfnDashboardBodySectionDynamicNumericDimensionConfigurationPropertyFromCloudFormation(properties.DynamicNumericDimensionConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBodySectionRepeatPageBreakConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("after",CfnDashboardSectionAfterPageBreakPropertyValidator)(properties.after)),errors.wrap('supplied properties not correct for "BodySectionRepeatPageBreakConfigurationProperty"')}function convertCfnDashboardBodySectionRepeatPageBreakConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBodySectionRepeatPageBreakConfigurationPropertyValidator(properties).assertSuccess(),{After:convertCfnDashboardSectionAfterPageBreakPropertyToCloudFormation(properties.after)}):properties}function CfnDashboardBodySectionRepeatPageBreakConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("after","After",properties.After!=null?CfnDashboardSectionAfterPageBreakPropertyFromCloudFormation(properties.After):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBodySectionRepeatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dimensionConfigurations",cdk().listValidator(CfnDashboardBodySectionRepeatDimensionConfigurationPropertyValidator))(properties.dimensionConfigurations)),errors.collect(cdk().propertyValidator("nonRepeatingVisuals",cdk().listValidator(cdk().validateString))(properties.nonRepeatingVisuals)),errors.collect(cdk().propertyValidator("pageBreakConfiguration",CfnDashboardBodySectionRepeatPageBreakConfigurationPropertyValidator)(properties.pageBreakConfiguration)),errors.wrap('supplied properties not correct for "BodySectionRepeatConfigurationProperty"')}function convertCfnDashboardBodySectionRepeatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBodySectionRepeatConfigurationPropertyValidator(properties).assertSuccess(),{DimensionConfigurations:cdk().listMapper(convertCfnDashboardBodySectionRepeatDimensionConfigurationPropertyToCloudFormation)(properties.dimensionConfigurations),NonRepeatingVisuals:cdk().listMapper(cdk().stringToCloudFormation)(properties.nonRepeatingVisuals),PageBreakConfiguration:convertCfnDashboardBodySectionRepeatPageBreakConfigurationPropertyToCloudFormation(properties.pageBreakConfiguration)}):properties}function CfnDashboardBodySectionRepeatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dimensionConfigurations","DimensionConfigurations",properties.DimensionConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardBodySectionRepeatDimensionConfigurationPropertyFromCloudFormation)(properties.DimensionConfigurations):void 0),ret.addPropertyResult("nonRepeatingVisuals","NonRepeatingVisuals",properties.NonRepeatingVisuals!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NonRepeatingVisuals):void 0),ret.addPropertyResult("pageBreakConfiguration","PageBreakConfiguration",properties.PageBreakConfiguration!=null?CfnDashboardBodySectionRepeatPageBreakConfigurationPropertyFromCloudFormation(properties.PageBreakConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBodySectionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",CfnDashboardBodySectionContentPropertyValidator)(properties.content)),errors.collect(cdk().propertyValidator("pageBreakConfiguration",CfnDashboardSectionPageBreakConfigurationPropertyValidator)(properties.pageBreakConfiguration)),errors.collect(cdk().propertyValidator("repeatConfiguration",CfnDashboardBodySectionRepeatConfigurationPropertyValidator)(properties.repeatConfiguration)),errors.collect(cdk().propertyValidator("sectionId",cdk().requiredValidator)(properties.sectionId)),errors.collect(cdk().propertyValidator("sectionId",cdk().validateString)(properties.sectionId)),errors.collect(cdk().propertyValidator("style",CfnDashboardSectionStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "BodySectionConfigurationProperty"')}function convertCfnDashboardBodySectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBodySectionConfigurationPropertyValidator(properties).assertSuccess(),{Content:convertCfnDashboardBodySectionContentPropertyToCloudFormation(properties.content),PageBreakConfiguration:convertCfnDashboardSectionPageBreakConfigurationPropertyToCloudFormation(properties.pageBreakConfiguration),RepeatConfiguration:convertCfnDashboardBodySectionRepeatConfigurationPropertyToCloudFormation(properties.repeatConfiguration),SectionId:cdk().stringToCloudFormation(properties.sectionId),Style:convertCfnDashboardSectionStylePropertyToCloudFormation(properties.style)}):properties}function CfnDashboardBodySectionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("content","Content",properties.Content!=null?CfnDashboardBodySectionContentPropertyFromCloudFormation(properties.Content):void 0),ret.addPropertyResult("pageBreakConfiguration","PageBreakConfiguration",properties.PageBreakConfiguration!=null?CfnDashboardSectionPageBreakConfigurationPropertyFromCloudFormation(properties.PageBreakConfiguration):void 0),ret.addPropertyResult("repeatConfiguration","RepeatConfiguration",properties.RepeatConfiguration!=null?CfnDashboardBodySectionRepeatConfigurationPropertyFromCloudFormation(properties.RepeatConfiguration):void 0),ret.addPropertyResult("sectionId","SectionId",properties.SectionId!=null?cfn_parse().FromCloudFormation.getString(properties.SectionId):void 0),ret.addPropertyResult("style","Style",properties.Style!=null?CfnDashboardSectionStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSectionBasedLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bodySections",cdk().requiredValidator)(properties.bodySections)),errors.collect(cdk().propertyValidator("bodySections",cdk().listValidator(CfnDashboardBodySectionConfigurationPropertyValidator))(properties.bodySections)),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("footerSections",cdk().requiredValidator)(properties.footerSections)),errors.collect(cdk().propertyValidator("footerSections",cdk().listValidator(CfnDashboardHeaderFooterSectionConfigurationPropertyValidator))(properties.footerSections)),errors.collect(cdk().propertyValidator("headerSections",cdk().requiredValidator)(properties.headerSections)),errors.collect(cdk().propertyValidator("headerSections",cdk().listValidator(CfnDashboardHeaderFooterSectionConfigurationPropertyValidator))(properties.headerSections)),errors.wrap('supplied properties not correct for "SectionBasedLayoutConfigurationProperty"')}function convertCfnDashboardSectionBasedLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSectionBasedLayoutConfigurationPropertyValidator(properties).assertSuccess(),{BodySections:cdk().listMapper(convertCfnDashboardBodySectionConfigurationPropertyToCloudFormation)(properties.bodySections),CanvasSizeOptions:convertCfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions),FooterSections:cdk().listMapper(convertCfnDashboardHeaderFooterSectionConfigurationPropertyToCloudFormation)(properties.footerSections),HeaderSections:cdk().listMapper(convertCfnDashboardHeaderFooterSectionConfigurationPropertyToCloudFormation)(properties.headerSections)}):properties}function CfnDashboardSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bodySections","BodySections",properties.BodySections!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardBodySectionConfigurationPropertyFromCloudFormation)(properties.BodySections):void 0),ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnDashboardSectionBasedLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addPropertyResult("footerSections","FooterSections",properties.FooterSections!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardHeaderFooterSectionConfigurationPropertyFromCloudFormation)(properties.FooterSections):void 0),ret.addPropertyResult("headerSections","HeaderSections",properties.HeaderSections!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardHeaderFooterSectionConfigurationPropertyFromCloudFormation)(properties.HeaderSections):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("freeFormLayout",CfnDashboardFreeFormLayoutConfigurationPropertyValidator)(properties.freeFormLayout)),errors.collect(cdk().propertyValidator("gridLayout",CfnDashboardGridLayoutConfigurationPropertyValidator)(properties.gridLayout)),errors.collect(cdk().propertyValidator("sectionBasedLayout",CfnDashboardSectionBasedLayoutConfigurationPropertyValidator)(properties.sectionBasedLayout)),errors.wrap('supplied properties not correct for "LayoutConfigurationProperty"')}function convertCfnDashboardLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLayoutConfigurationPropertyValidator(properties).assertSuccess(),{FreeFormLayout:convertCfnDashboardFreeFormLayoutConfigurationPropertyToCloudFormation(properties.freeFormLayout),GridLayout:convertCfnDashboardGridLayoutConfigurationPropertyToCloudFormation(properties.gridLayout),SectionBasedLayout:convertCfnDashboardSectionBasedLayoutConfigurationPropertyToCloudFormation(properties.sectionBasedLayout)}):properties}function CfnDashboardLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("freeFormLayout","FreeFormLayout",properties.FreeFormLayout!=null?CfnDashboardFreeFormLayoutConfigurationPropertyFromCloudFormation(properties.FreeFormLayout):void 0),ret.addPropertyResult("gridLayout","GridLayout",properties.GridLayout!=null?CfnDashboardGridLayoutConfigurationPropertyFromCloudFormation(properties.GridLayout):void 0),ret.addPropertyResult("sectionBasedLayout","SectionBasedLayout",properties.SectionBasedLayout!=null?CfnDashboardSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties.SectionBasedLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLayoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnDashboardLayoutConfigurationPropertyValidator)(properties.configuration)),errors.wrap('supplied properties not correct for "LayoutProperty"')}function convertCfnDashboardLayoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLayoutPropertyValidator(properties).assertSuccess(),{Configuration:convertCfnDashboardLayoutConfigurationPropertyToCloudFormation(properties.configuration)}):properties}function CfnDashboardLayoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnDashboardLayoutConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterSliderControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardSliderControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("maximumValue",cdk().requiredValidator)(properties.maximumValue)),errors.collect(cdk().propertyValidator("maximumValue",cdk().validateNumber)(properties.maximumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().requiredValidator)(properties.minimumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().validateNumber)(properties.minimumValue)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("stepSize",cdk().requiredValidator)(properties.stepSize)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterSliderControlProperty"')}function convertCfnDashboardFilterSliderControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterSliderControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnDashboardSliderControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),MaximumValue:cdk().numberToCloudFormation(properties.maximumValue),MinimumValue:cdk().numberToCloudFormation(properties.minimumValue),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),StepSize:cdk().numberToCloudFormation(properties.stepSize),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardFilterSliderControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardSliderControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("maximumValue","MaximumValue",properties.MaximumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumValue):void 0),ret.addPropertyResult("minimumValue","MinimumValue",properties.MinimumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumValue):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterTextAreaControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardTextAreaControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "FilterTextAreaControlProperty"')}function convertCfnDashboardFilterTextAreaControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterTextAreaControlPropertyValidator(properties).assertSuccess(),{Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisplayOptions:convertCfnDashboardTextAreaControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnDashboardFilterTextAreaControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterDropDownControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnDashboardCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardDropDownControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnDashboardFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterDropDownControlProperty"')}function convertCfnDashboardFilterDropDownControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterDropDownControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnDashboardCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnDashboardDropDownControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SelectableValues:convertCfnDashboardFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardFilterDropDownControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnDashboardCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardDropDownControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnDashboardFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterTextFieldControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardTextFieldControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "FilterTextFieldControlProperty"')}function convertCfnDashboardFilterTextFieldControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterTextFieldControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnDashboardTextFieldControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnDashboardFilterTextFieldControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterListControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnDashboardCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardListControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnDashboardFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterListControlProperty"')}function convertCfnDashboardFilterListControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterListControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnDashboardCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),DisplayOptions:convertCfnDashboardListControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SelectableValues:convertCfnDashboardFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardFilterListControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnDashboardCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardListControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnDashboardFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterDateTimePickerControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardDateTimePickerControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterDateTimePickerControlProperty"')}function convertCfnDashboardFilterDateTimePickerControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterDateTimePickerControlPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnDashboardDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardFilterDateTimePickerControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterRelativeDateTimeControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnDashboardRelativeDateTimeControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "FilterRelativeDateTimeControlProperty"')}function convertCfnDashboardFilterRelativeDateTimeControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterRelativeDateTimeControlPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnDashboardRelativeDateTimeControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnDashboardFilterRelativeDateTimeControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnDashboardRelativeDateTimeControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterCrossSheetControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnDashboardCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.wrap('supplied properties not correct for "FilterCrossSheetControlProperty"')}function convertCfnDashboardFilterCrossSheetControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterCrossSheetControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnDashboardCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId)}):properties}function CfnDashboardFilterCrossSheetControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnDashboardCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossSheet",CfnDashboardFilterCrossSheetControlPropertyValidator)(properties.crossSheet)),errors.collect(cdk().propertyValidator("dateTimePicker",CfnDashboardFilterDateTimePickerControlPropertyValidator)(properties.dateTimePicker)),errors.collect(cdk().propertyValidator("dropdown",CfnDashboardFilterDropDownControlPropertyValidator)(properties.dropdown)),errors.collect(cdk().propertyValidator("list",CfnDashboardFilterListControlPropertyValidator)(properties.list)),errors.collect(cdk().propertyValidator("relativeDateTime",CfnDashboardFilterRelativeDateTimeControlPropertyValidator)(properties.relativeDateTime)),errors.collect(cdk().propertyValidator("slider",CfnDashboardFilterSliderControlPropertyValidator)(properties.slider)),errors.collect(cdk().propertyValidator("textArea",CfnDashboardFilterTextAreaControlPropertyValidator)(properties.textArea)),errors.collect(cdk().propertyValidator("textField",CfnDashboardFilterTextFieldControlPropertyValidator)(properties.textField)),errors.wrap('supplied properties not correct for "FilterControlProperty"')}function convertCfnDashboardFilterControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterControlPropertyValidator(properties).assertSuccess(),{CrossSheet:convertCfnDashboardFilterCrossSheetControlPropertyToCloudFormation(properties.crossSheet),DateTimePicker:convertCfnDashboardFilterDateTimePickerControlPropertyToCloudFormation(properties.dateTimePicker),Dropdown:convertCfnDashboardFilterDropDownControlPropertyToCloudFormation(properties.dropdown),List:convertCfnDashboardFilterListControlPropertyToCloudFormation(properties.list),RelativeDateTime:convertCfnDashboardFilterRelativeDateTimeControlPropertyToCloudFormation(properties.relativeDateTime),Slider:convertCfnDashboardFilterSliderControlPropertyToCloudFormation(properties.slider),TextArea:convertCfnDashboardFilterTextAreaControlPropertyToCloudFormation(properties.textArea),TextField:convertCfnDashboardFilterTextFieldControlPropertyToCloudFormation(properties.textField)}):properties}function CfnDashboardFilterControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossSheet","CrossSheet",properties.CrossSheet!=null?CfnDashboardFilterCrossSheetControlPropertyFromCloudFormation(properties.CrossSheet):void 0),ret.addPropertyResult("dateTimePicker","DateTimePicker",properties.DateTimePicker!=null?CfnDashboardFilterDateTimePickerControlPropertyFromCloudFormation(properties.DateTimePicker):void 0),ret.addPropertyResult("dropdown","Dropdown",properties.Dropdown!=null?CfnDashboardFilterDropDownControlPropertyFromCloudFormation(properties.Dropdown):void 0),ret.addPropertyResult("list","List",properties.List!=null?CfnDashboardFilterListControlPropertyFromCloudFormation(properties.List):void 0),ret.addPropertyResult("relativeDateTime","RelativeDateTime",properties.RelativeDateTime!=null?CfnDashboardFilterRelativeDateTimeControlPropertyFromCloudFormation(properties.RelativeDateTime):void 0),ret.addPropertyResult("slider","Slider",properties.Slider!=null?CfnDashboardFilterSliderControlPropertyFromCloudFormation(properties.Slider):void 0),ret.addPropertyResult("textArea","TextArea",properties.TextArea!=null?CfnDashboardFilterTextAreaControlPropertyFromCloudFormation(properties.TextArea):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?CfnDashboardFilterTextFieldControlPropertyFromCloudFormation(properties.TextField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetControlLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gridLayout",CfnDashboardGridLayoutConfigurationPropertyValidator)(properties.gridLayout)),errors.wrap('supplied properties not correct for "SheetControlLayoutConfigurationProperty"')}function convertCfnDashboardSheetControlLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetControlLayoutConfigurationPropertyValidator(properties).assertSuccess(),{GridLayout:convertCfnDashboardGridLayoutConfigurationPropertyToCloudFormation(properties.gridLayout)}):properties}function CfnDashboardSheetControlLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gridLayout","GridLayout",properties.GridLayout!=null?CfnDashboardGridLayoutConfigurationPropertyFromCloudFormation(properties.GridLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetControlLayoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnDashboardSheetControlLayoutConfigurationPropertyValidator)(properties.configuration)),errors.wrap('supplied properties not correct for "SheetControlLayoutProperty"')}function convertCfnDashboardSheetControlLayoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetControlLayoutPropertyValidator(properties).assertSuccess(),{Configuration:convertCfnDashboardSheetControlLayoutConfigurationPropertyToCloudFormation(properties.configuration)}):properties}function CfnDashboardSheetControlLayoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnDashboardSheetControlLayoutConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLongFormatTextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("plainText",cdk().validateString)(properties.plainText)),errors.collect(cdk().propertyValidator("richText",cdk().validateString)(properties.richText)),errors.wrap('supplied properties not correct for "LongFormatTextProperty"')}function convertCfnDashboardLongFormatTextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLongFormatTextPropertyValidator(properties).assertSuccess(),{PlainText:cdk().stringToCloudFormation(properties.plainText),RichText:cdk().stringToCloudFormation(properties.richText)}):properties}function CfnDashboardLongFormatTextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("plainText","PlainText",properties.PlainText!=null?cfn_parse().FromCloudFormation.getString(properties.PlainText):void 0),ret.addPropertyResult("richText","RichText",properties.RichText!=null?cfn_parse().FromCloudFormation.getString(properties.RichText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisualSubtitleLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatText",CfnDashboardLongFormatTextPropertyValidator)(properties.formatText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "VisualSubtitleLabelOptionsProperty"')}function convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisualSubtitleLabelOptionsPropertyValidator(properties).assertSuccess(),{FormatText:convertCfnDashboardLongFormatTextPropertyToCloudFormation(properties.formatText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatText","FormatText",properties.FormatText!=null?CfnDashboardLongFormatTextPropertyFromCloudFormation(properties.FormatText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardItemsLimitConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("itemsLimit",cdk().validateNumber)(properties.itemsLimit)),errors.collect(cdk().propertyValidator("otherCategories",cdk().validateString)(properties.otherCategories)),errors.wrap('supplied properties not correct for "ItemsLimitConfigurationProperty"')}function convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardItemsLimitConfigurationPropertyValidator(properties).assertSuccess(),{ItemsLimit:cdk().numberToCloudFormation(properties.itemsLimit),OtherCategories:cdk().stringToCloudFormation(properties.otherCategories)}):properties}function CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("itemsLimit","ItemsLimit",properties.ItemsLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ItemsLimit):void 0),ret.addPropertyResult("otherCategories","OtherCategories",properties.OtherCategories!=null?cfn_parse().FromCloudFormation.getString(properties.OtherCategories):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFieldSortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "FieldSortProperty"')}function convertCfnDashboardFieldSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFieldSortPropertyValidator(properties).assertSuccess(),{Direction:cdk().stringToCloudFormation(properties.direction),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnDashboardFieldSortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFieldSortOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnSort",CfnDashboardColumnSortPropertyValidator)(properties.columnSort)),errors.collect(cdk().propertyValidator("fieldSort",CfnDashboardFieldSortPropertyValidator)(properties.fieldSort)),errors.wrap('supplied properties not correct for "FieldSortOptionsProperty"')}function convertCfnDashboardFieldSortOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFieldSortOptionsPropertyValidator(properties).assertSuccess(),{ColumnSort:convertCfnDashboardColumnSortPropertyToCloudFormation(properties.columnSort),FieldSort:convertCfnDashboardFieldSortPropertyToCloudFormation(properties.fieldSort)}):properties}function CfnDashboardFieldSortOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnSort","ColumnSort",properties.ColumnSort!=null?CfnDashboardColumnSortPropertyFromCloudFormation(properties.ColumnSort):void 0),ret.addPropertyResult("fieldSort","FieldSort",properties.FieldSort!=null?CfnDashboardFieldSortPropertyFromCloudFormation(properties.FieldSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFunnelChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "FunnelChartSortConfigurationProperty"')}function convertCfnDashboardFunnelChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFunnelChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnDashboardFunnelChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFunnelChartDataLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelVisibility",cdk().validateString)(properties.categoryLabelVisibility)),errors.collect(cdk().propertyValidator("labelColor",cdk().validateString)(properties.labelColor)),errors.collect(cdk().propertyValidator("labelFontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.labelFontConfiguration)),errors.collect(cdk().propertyValidator("measureDataLabelStyle",cdk().validateString)(properties.measureDataLabelStyle)),errors.collect(cdk().propertyValidator("measureLabelVisibility",cdk().validateString)(properties.measureLabelVisibility)),errors.collect(cdk().propertyValidator("position",cdk().validateString)(properties.position)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FunnelChartDataLabelOptionsProperty"')}function convertCfnDashboardFunnelChartDataLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFunnelChartDataLabelOptionsPropertyValidator(properties).assertSuccess(),{CategoryLabelVisibility:cdk().stringToCloudFormation(properties.categoryLabelVisibility),LabelColor:cdk().stringToCloudFormation(properties.labelColor),LabelFontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.labelFontConfiguration),MeasureDataLabelStyle:cdk().stringToCloudFormation(properties.measureDataLabelStyle),MeasureLabelVisibility:cdk().stringToCloudFormation(properties.measureLabelVisibility),Position:cdk().stringToCloudFormation(properties.position),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardFunnelChartDataLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelVisibility","CategoryLabelVisibility",properties.CategoryLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryLabelVisibility):void 0),ret.addPropertyResult("labelColor","LabelColor",properties.LabelColor!=null?cfn_parse().FromCloudFormation.getString(properties.LabelColor):void 0),ret.addPropertyResult("labelFontConfiguration","LabelFontConfiguration",properties.LabelFontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.LabelFontConfiguration):void 0),ret.addPropertyResult("measureDataLabelStyle","MeasureDataLabelStyle",properties.MeasureDataLabelStyle!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureDataLabelStyle):void 0),ret.addPropertyResult("measureLabelVisibility","MeasureLabelVisibility",properties.MeasureLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureLabelVisibility):void 0),ret.addPropertyResult("position","Position",properties.Position!=null?cfn_parse().FromCloudFormation.getString(properties.Position):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisLabelReferenceOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "AxisLabelReferenceOptionsProperty"')}function convertCfnDashboardAxisLabelReferenceOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisLabelReferenceOptionsPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnDashboardAxisLabelReferenceOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("applyTo",CfnDashboardAxisLabelReferenceOptionsPropertyValidator)(properties.applyTo)),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.wrap('supplied properties not correct for "AxisLabelOptionsProperty"')}function convertCfnDashboardAxisLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisLabelOptionsPropertyValidator(properties).assertSuccess(),{ApplyTo:convertCfnDashboardAxisLabelReferenceOptionsPropertyToCloudFormation(properties.applyTo),CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.fontConfiguration)}):properties}function CfnDashboardAxisLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("applyTo","ApplyTo",properties.ApplyTo!=null?CfnDashboardAxisLabelReferenceOptionsPropertyFromCloudFormation(properties.ApplyTo):void 0),ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardChartAxisLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisLabelOptions",cdk().listValidator(CfnDashboardAxisLabelOptionsPropertyValidator))(properties.axisLabelOptions)),errors.collect(cdk().propertyValidator("sortIconVisibility",cdk().validateString)(properties.sortIconVisibility)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ChartAxisLabelOptionsProperty"')}function convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardChartAxisLabelOptionsPropertyValidator(properties).assertSuccess(),{AxisLabelOptions:cdk().listMapper(convertCfnDashboardAxisLabelOptionsPropertyToCloudFormation)(properties.axisLabelOptions),SortIconVisibility:cdk().stringToCloudFormation(properties.sortIconVisibility),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisLabelOptions","AxisLabelOptions",properties.AxisLabelOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardAxisLabelOptionsPropertyFromCloudFormation)(properties.AxisLabelOptions):void 0),ret.addPropertyResult("sortIconVisibility","SortIconVisibility",properties.SortIconVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.SortIconVisibility):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("dateGranularity",cdk().validateString)(properties.dateGranularity)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardDateTimeFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "DateDimensionFieldProperty"')}function convertCfnDashboardDateDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateDimensionFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),DateGranularity:cdk().stringToCloudFormation(properties.dateGranularity),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnDashboardDateTimeFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnDashboardDateDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("dateGranularity","DateGranularity",properties.DateGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.DateGranularity):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardDateTimeFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericalDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardNumberFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "NumericalDimensionFieldProperty"')}function convertCfnDashboardNumericalDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericalDimensionFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnDashboardNumberFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnDashboardNumericalDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardNumberFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCategoricalDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardStringFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "CategoricalDimensionFieldProperty"')}function convertCfnDashboardCategoricalDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCategoricalDimensionFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnDashboardStringFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnDashboardCategoricalDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardStringFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoricalDimensionField",CfnDashboardCategoricalDimensionFieldPropertyValidator)(properties.categoricalDimensionField)),errors.collect(cdk().propertyValidator("dateDimensionField",CfnDashboardDateDimensionFieldPropertyValidator)(properties.dateDimensionField)),errors.collect(cdk().propertyValidator("numericalDimensionField",CfnDashboardNumericalDimensionFieldPropertyValidator)(properties.numericalDimensionField)),errors.wrap('supplied properties not correct for "DimensionFieldProperty"')}function convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDimensionFieldPropertyValidator(properties).assertSuccess(),{CategoricalDimensionField:convertCfnDashboardCategoricalDimensionFieldPropertyToCloudFormation(properties.categoricalDimensionField),DateDimensionField:convertCfnDashboardDateDimensionFieldPropertyToCloudFormation(properties.dateDimensionField),NumericalDimensionField:convertCfnDashboardNumericalDimensionFieldPropertyToCloudFormation(properties.numericalDimensionField)}):properties}function CfnDashboardDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoricalDimensionField","CategoricalDimensionField",properties.CategoricalDimensionField!=null?CfnDashboardCategoricalDimensionFieldPropertyFromCloudFormation(properties.CategoricalDimensionField):void 0),ret.addPropertyResult("dateDimensionField","DateDimensionField",properties.DateDimensionField!=null?CfnDashboardDateDimensionFieldPropertyFromCloudFormation(properties.DateDimensionField):void 0),ret.addPropertyResult("numericalDimensionField","NumericalDimensionField",properties.NumericalDimensionField!=null?CfnDashboardNumericalDimensionFieldPropertyFromCloudFormation(properties.NumericalDimensionField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",cdk().validateString)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardDateTimeFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "DateMeasureFieldProperty"')}function convertCfnDashboardDateMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateMeasureFieldPropertyValidator(properties).assertSuccess(),{AggregationFunction:cdk().stringToCloudFormation(properties.aggregationFunction),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnDashboardDateTimeFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnDashboardDateMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardDateTimeFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericalMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnDashboardNumericalAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardNumberFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "NumericalMeasureFieldProperty"')}function convertCfnDashboardNumericalMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericalMeasureFieldPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnDashboardNumericalAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnDashboardNumberFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnDashboardNumericalMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnDashboardNumericalAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardNumberFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCategoricalMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",cdk().validateString)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardStringFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "CategoricalMeasureFieldProperty"')}function convertCfnDashboardCategoricalMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCategoricalMeasureFieldPropertyValidator(properties).assertSuccess(),{AggregationFunction:cdk().stringToCloudFormation(properties.aggregationFunction),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnDashboardStringFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnDashboardCategoricalMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardStringFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCalculatedMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "CalculatedMeasureFieldProperty"')}function convertCfnDashboardCalculatedMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCalculatedMeasureFieldPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnDashboardCalculatedMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("calculatedMeasureField",CfnDashboardCalculatedMeasureFieldPropertyValidator)(properties.calculatedMeasureField)),errors.collect(cdk().propertyValidator("categoricalMeasureField",CfnDashboardCategoricalMeasureFieldPropertyValidator)(properties.categoricalMeasureField)),errors.collect(cdk().propertyValidator("dateMeasureField",CfnDashboardDateMeasureFieldPropertyValidator)(properties.dateMeasureField)),errors.collect(cdk().propertyValidator("numericalMeasureField",CfnDashboardNumericalMeasureFieldPropertyValidator)(properties.numericalMeasureField)),errors.wrap('supplied properties not correct for "MeasureFieldProperty"')}function convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardMeasureFieldPropertyValidator(properties).assertSuccess(),{CalculatedMeasureField:convertCfnDashboardCalculatedMeasureFieldPropertyToCloudFormation(properties.calculatedMeasureField),CategoricalMeasureField:convertCfnDashboardCategoricalMeasureFieldPropertyToCloudFormation(properties.categoricalMeasureField),DateMeasureField:convertCfnDashboardDateMeasureFieldPropertyToCloudFormation(properties.dateMeasureField),NumericalMeasureField:convertCfnDashboardNumericalMeasureFieldPropertyToCloudFormation(properties.numericalMeasureField)}):properties}function CfnDashboardMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("calculatedMeasureField","CalculatedMeasureField",properties.CalculatedMeasureField!=null?CfnDashboardCalculatedMeasureFieldPropertyFromCloudFormation(properties.CalculatedMeasureField):void 0),ret.addPropertyResult("categoricalMeasureField","CategoricalMeasureField",properties.CategoricalMeasureField!=null?CfnDashboardCategoricalMeasureFieldPropertyFromCloudFormation(properties.CategoricalMeasureField):void 0),ret.addPropertyResult("dateMeasureField","DateMeasureField",properties.DateMeasureField!=null?CfnDashboardDateMeasureFieldPropertyFromCloudFormation(properties.DateMeasureField):void 0),ret.addPropertyResult("numericalMeasureField","NumericalMeasureField",properties.NumericalMeasureField!=null?CfnDashboardNumericalMeasureFieldPropertyFromCloudFormation(properties.NumericalMeasureField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFunnelChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "FunnelChartAggregatedFieldWellsProperty"')}function convertCfnDashboardFunnelChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFunnelChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.category),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardFunnelChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFunnelChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("funnelChartAggregatedFieldWells",CfnDashboardFunnelChartAggregatedFieldWellsPropertyValidator)(properties.funnelChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "FunnelChartFieldWellsProperty"')}function convertCfnDashboardFunnelChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFunnelChartFieldWellsPropertyValidator(properties).assertSuccess(),{FunnelChartAggregatedFieldWells:convertCfnDashboardFunnelChartAggregatedFieldWellsPropertyToCloudFormation(properties.funnelChartAggregatedFieldWells)}):properties}function CfnDashboardFunnelChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("funnelChartAggregatedFieldWells","FunnelChartAggregatedFieldWells",properties.FunnelChartAggregatedFieldWells!=null?CfnDashboardFunnelChartAggregatedFieldWellsPropertyFromCloudFormation(properties.FunnelChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFieldTooltipItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("label",cdk().validateString)(properties.label)),errors.collect(cdk().propertyValidator("tooltipTarget",cdk().validateString)(properties.tooltipTarget)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FieldTooltipItemProperty"')}function convertCfnDashboardFieldTooltipItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFieldTooltipItemPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Label:cdk().stringToCloudFormation(properties.label),TooltipTarget:cdk().stringToCloudFormation(properties.tooltipTarget),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardFieldTooltipItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("tooltipTarget","TooltipTarget",properties.TooltipTarget!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipTarget):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardColumnTooltipItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregation",CfnDashboardAggregationFunctionPropertyValidator)(properties.aggregation)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("label",cdk().validateString)(properties.label)),errors.collect(cdk().propertyValidator("tooltipTarget",cdk().validateString)(properties.tooltipTarget)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ColumnTooltipItemProperty"')}function convertCfnDashboardColumnTooltipItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardColumnTooltipItemPropertyValidator(properties).assertSuccess(),{Aggregation:convertCfnDashboardAggregationFunctionPropertyToCloudFormation(properties.aggregation),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),Label:cdk().stringToCloudFormation(properties.label),TooltipTarget:cdk().stringToCloudFormation(properties.tooltipTarget),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardColumnTooltipItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregation","Aggregation",properties.Aggregation!=null?CfnDashboardAggregationFunctionPropertyFromCloudFormation(properties.Aggregation):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("tooltipTarget","TooltipTarget",properties.TooltipTarget!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipTarget):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTooltipItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnTooltipItem",CfnDashboardColumnTooltipItemPropertyValidator)(properties.columnTooltipItem)),errors.collect(cdk().propertyValidator("fieldTooltipItem",CfnDashboardFieldTooltipItemPropertyValidator)(properties.fieldTooltipItem)),errors.wrap('supplied properties not correct for "TooltipItemProperty"')}function convertCfnDashboardTooltipItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTooltipItemPropertyValidator(properties).assertSuccess(),{ColumnTooltipItem:convertCfnDashboardColumnTooltipItemPropertyToCloudFormation(properties.columnTooltipItem),FieldTooltipItem:convertCfnDashboardFieldTooltipItemPropertyToCloudFormation(properties.fieldTooltipItem)}):properties}function CfnDashboardTooltipItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnTooltipItem","ColumnTooltipItem",properties.ColumnTooltipItem!=null?CfnDashboardColumnTooltipItemPropertyFromCloudFormation(properties.ColumnTooltipItem):void 0),ret.addPropertyResult("fieldTooltipItem","FieldTooltipItem",properties.FieldTooltipItem!=null?CfnDashboardFieldTooltipItemPropertyFromCloudFormation(properties.FieldTooltipItem):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFieldBasedTooltipPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationVisibility",cdk().validateString)(properties.aggregationVisibility)),errors.collect(cdk().propertyValidator("tooltipFields",cdk().listValidator(CfnDashboardTooltipItemPropertyValidator))(properties.tooltipFields)),errors.collect(cdk().propertyValidator("tooltipTitleType",cdk().validateString)(properties.tooltipTitleType)),errors.wrap('supplied properties not correct for "FieldBasedTooltipProperty"')}function convertCfnDashboardFieldBasedTooltipPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFieldBasedTooltipPropertyValidator(properties).assertSuccess(),{AggregationVisibility:cdk().stringToCloudFormation(properties.aggregationVisibility),TooltipFields:cdk().listMapper(convertCfnDashboardTooltipItemPropertyToCloudFormation)(properties.tooltipFields),TooltipTitleType:cdk().stringToCloudFormation(properties.tooltipTitleType)}):properties}function CfnDashboardFieldBasedTooltipPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationVisibility","AggregationVisibility",properties.AggregationVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AggregationVisibility):void 0),ret.addPropertyResult("tooltipFields","TooltipFields",properties.TooltipFields!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardTooltipItemPropertyFromCloudFormation)(properties.TooltipFields):void 0),ret.addPropertyResult("tooltipTitleType","TooltipTitleType",properties.TooltipTitleType!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipTitleType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTooltipOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldBasedTooltip",CfnDashboardFieldBasedTooltipPropertyValidator)(properties.fieldBasedTooltip)),errors.collect(cdk().propertyValidator("selectedTooltipType",cdk().validateString)(properties.selectedTooltipType)),errors.collect(cdk().propertyValidator("tooltipVisibility",cdk().validateString)(properties.tooltipVisibility)),errors.wrap('supplied properties not correct for "TooltipOptionsProperty"')}function convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTooltipOptionsPropertyValidator(properties).assertSuccess(),{FieldBasedTooltip:convertCfnDashboardFieldBasedTooltipPropertyToCloudFormation(properties.fieldBasedTooltip),SelectedTooltipType:cdk().stringToCloudFormation(properties.selectedTooltipType),TooltipVisibility:cdk().stringToCloudFormation(properties.tooltipVisibility)}):properties}function CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldBasedTooltip","FieldBasedTooltip",properties.FieldBasedTooltip!=null?CfnDashboardFieldBasedTooltipPropertyFromCloudFormation(properties.FieldBasedTooltip):void 0),ret.addPropertyResult("selectedTooltipType","SelectedTooltipType",properties.SelectedTooltipType!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedTooltipType):void 0),ret.addPropertyResult("tooltipVisibility","TooltipVisibility",properties.TooltipVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataPathTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pivotTableDataPathType",cdk().validateString)(properties.pivotTableDataPathType)),errors.wrap('supplied properties not correct for "DataPathTypeProperty"')}function convertCfnDashboardDataPathTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataPathTypePropertyValidator(properties).assertSuccess(),{PivotTableDataPathType:cdk().stringToCloudFormation(properties.pivotTableDataPathType)}):properties}function CfnDashboardDataPathTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pivotTableDataPathType","PivotTableDataPathType",properties.PivotTableDataPathType!=null?cfn_parse().FromCloudFormation.getString(properties.PivotTableDataPathType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataPathValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataPathType",CfnDashboardDataPathTypePropertyValidator)(properties.dataPathType)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.wrap('supplied properties not correct for "DataPathValueProperty"')}function convertCfnDashboardDataPathValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataPathValuePropertyValidator(properties).assertSuccess(),{DataPathType:convertCfnDashboardDataPathTypePropertyToCloudFormation(properties.dataPathType),FieldId:cdk().stringToCloudFormation(properties.fieldId),FieldValue:cdk().stringToCloudFormation(properties.fieldValue)}):properties}function CfnDashboardDataPathValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataPathType","DataPathType",properties.DataPathType!=null?CfnDashboardDataPathTypePropertyFromCloudFormation(properties.DataPathType):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataPathColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("element",cdk().requiredValidator)(properties.element)),errors.collect(cdk().propertyValidator("element",CfnDashboardDataPathValuePropertyValidator)(properties.element)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "DataPathColorProperty"')}function convertCfnDashboardDataPathColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataPathColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Element:convertCfnDashboardDataPathValuePropertyToCloudFormation(properties.element),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnDashboardDataPathColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("element","Element",properties.Element!=null?CfnDashboardDataPathValuePropertyFromCloudFormation(properties.Element):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisualPalettePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("chartColor",cdk().validateString)(properties.chartColor)),errors.collect(cdk().propertyValidator("colorMap",cdk().listValidator(CfnDashboardDataPathColorPropertyValidator))(properties.colorMap)),errors.wrap('supplied properties not correct for "VisualPaletteProperty"')}function convertCfnDashboardVisualPalettePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisualPalettePropertyValidator(properties).assertSuccess(),{ChartColor:cdk().stringToCloudFormation(properties.chartColor),ColorMap:cdk().listMapper(convertCfnDashboardDataPathColorPropertyToCloudFormation)(properties.colorMap)}):properties}function CfnDashboardVisualPalettePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("chartColor","ChartColor",properties.ChartColor!=null?cfn_parse().FromCloudFormation.getString(properties.ChartColor):void 0),ret.addPropertyResult("colorMap","ColorMap",properties.ColorMap!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDataPathColorPropertyFromCloudFormation)(properties.ColorMap):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardContextMenuOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ContextMenuOptionProperty"')}function convertCfnDashboardContextMenuOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardContextMenuOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardContextMenuOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisualInteractionOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contextMenuOption",CfnDashboardContextMenuOptionPropertyValidator)(properties.contextMenuOption)),errors.collect(cdk().propertyValidator("visualMenuOption",CfnDashboardVisualMenuOptionPropertyValidator)(properties.visualMenuOption)),errors.wrap('supplied properties not correct for "VisualInteractionOptionsProperty"')}function convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisualInteractionOptionsPropertyValidator(properties).assertSuccess(),{ContextMenuOption:convertCfnDashboardContextMenuOptionPropertyToCloudFormation(properties.contextMenuOption),VisualMenuOption:convertCfnDashboardVisualMenuOptionPropertyToCloudFormation(properties.visualMenuOption)}):properties}function CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contextMenuOption","ContextMenuOption",properties.ContextMenuOption!=null?CfnDashboardContextMenuOptionPropertyFromCloudFormation(properties.ContextMenuOption):void 0),ret.addPropertyResult("visualMenuOption","VisualMenuOption",properties.VisualMenuOption!=null?CfnDashboardVisualMenuOptionPropertyFromCloudFormation(properties.VisualMenuOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFunnelChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("dataLabelOptions",CfnDashboardFunnelChartDataLabelOptionsPropertyValidator)(properties.dataLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardFunnelChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardFunnelChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("valueLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.valueLabelOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "FunnelChartConfigurationProperty"')}function convertCfnDashboardFunnelChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFunnelChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),DataLabelOptions:convertCfnDashboardFunnelChartDataLabelOptionsPropertyToCloudFormation(properties.dataLabelOptions),FieldWells:convertCfnDashboardFunnelChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),SortConfiguration:convertCfnDashboardFunnelChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),ValueLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.valueLabelOptions),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnDashboardFunnelChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("dataLabelOptions","DataLabelOptions",properties.DataLabelOptions!=null?CfnDashboardFunnelChartDataLabelOptionsPropertyFromCloudFormation(properties.DataLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardFunnelChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardFunnelChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("valueLabelOptions","ValueLabelOptions",properties.ValueLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.ValueLabelOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLocalNavigationConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetSheetId",cdk().requiredValidator)(properties.targetSheetId)),errors.collect(cdk().propertyValidator("targetSheetId",cdk().validateString)(properties.targetSheetId)),errors.wrap('supplied properties not correct for "LocalNavigationConfigurationProperty"')}function convertCfnDashboardLocalNavigationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLocalNavigationConfigurationPropertyValidator(properties).assertSuccess(),{TargetSheetId:cdk().stringToCloudFormation(properties.targetSheetId)}):properties}function CfnDashboardLocalNavigationConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetSheetId","TargetSheetId",properties.TargetSheetId!=null?cfn_parse().FromCloudFormation.getString(properties.TargetSheetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomActionNavigationOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("localNavigationConfiguration",CfnDashboardLocalNavigationConfigurationPropertyValidator)(properties.localNavigationConfiguration)),errors.wrap('supplied properties not correct for "CustomActionNavigationOperationProperty"')}function convertCfnDashboardCustomActionNavigationOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomActionNavigationOperationPropertyValidator(properties).assertSuccess(),{LocalNavigationConfiguration:convertCfnDashboardLocalNavigationConfigurationPropertyToCloudFormation(properties.localNavigationConfiguration)}):properties}function CfnDashboardCustomActionNavigationOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("localNavigationConfiguration","LocalNavigationConfiguration",properties.LocalNavigationConfiguration!=null?CfnDashboardLocalNavigationConfigurationPropertyFromCloudFormation(properties.LocalNavigationConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomParameterValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeValues",cdk().listValidator(cdk().validateString))(properties.dateTimeValues)),errors.collect(cdk().propertyValidator("decimalValues",cdk().listValidator(cdk().validateNumber))(properties.decimalValues)),errors.collect(cdk().propertyValidator("integerValues",cdk().listValidator(cdk().validateNumber))(properties.integerValues)),errors.collect(cdk().propertyValidator("stringValues",cdk().listValidator(cdk().validateString))(properties.stringValues)),errors.wrap('supplied properties not correct for "CustomParameterValuesProperty"')}function convertCfnDashboardCustomParameterValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomParameterValuesPropertyValidator(properties).assertSuccess(),{DateTimeValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.dateTimeValues),DecimalValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.decimalValues),IntegerValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.integerValues),StringValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.stringValues)}):properties}function CfnDashboardCustomParameterValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeValues","DateTimeValues",properties.DateTimeValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DateTimeValues):void 0),ret.addPropertyResult("decimalValues","DecimalValues",properties.DecimalValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.DecimalValues):void 0),ret.addPropertyResult("integerValues","IntegerValues",properties.IntegerValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.IntegerValues):void 0),ret.addPropertyResult("stringValues","StringValues",properties.StringValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StringValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomValuesConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValues",cdk().requiredValidator)(properties.customValues)),errors.collect(cdk().propertyValidator("customValues",CfnDashboardCustomParameterValuesPropertyValidator)(properties.customValues)),errors.collect(cdk().propertyValidator("includeNullValue",cdk().validateBoolean)(properties.includeNullValue)),errors.wrap('supplied properties not correct for "CustomValuesConfigurationProperty"')}function convertCfnDashboardCustomValuesConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomValuesConfigurationPropertyValidator(properties).assertSuccess(),{CustomValues:convertCfnDashboardCustomParameterValuesPropertyToCloudFormation(properties.customValues),IncludeNullValue:cdk().booleanToCloudFormation(properties.includeNullValue)}):properties}function CfnDashboardCustomValuesConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValues","CustomValues",properties.CustomValues!=null?CfnDashboardCustomParameterValuesPropertyFromCloudFormation(properties.CustomValues):void 0),ret.addPropertyResult("includeNullValue","IncludeNullValue",properties.IncludeNullValue!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeNullValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDestinationParameterValueConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValuesConfiguration",CfnDashboardCustomValuesConfigurationPropertyValidator)(properties.customValuesConfiguration)),errors.collect(cdk().propertyValidator("selectAllValueOptions",cdk().validateString)(properties.selectAllValueOptions)),errors.collect(cdk().propertyValidator("sourceColumn",CfnDashboardColumnIdentifierPropertyValidator)(properties.sourceColumn)),errors.collect(cdk().propertyValidator("sourceField",cdk().validateString)(properties.sourceField)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.wrap('supplied properties not correct for "DestinationParameterValueConfigurationProperty"')}function convertCfnDashboardDestinationParameterValueConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDestinationParameterValueConfigurationPropertyValidator(properties).assertSuccess(),{CustomValuesConfiguration:convertCfnDashboardCustomValuesConfigurationPropertyToCloudFormation(properties.customValuesConfiguration),SelectAllValueOptions:cdk().stringToCloudFormation(properties.selectAllValueOptions),SourceColumn:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.sourceColumn),SourceField:cdk().stringToCloudFormation(properties.sourceField),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName)}):properties}function CfnDashboardDestinationParameterValueConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValuesConfiguration","CustomValuesConfiguration",properties.CustomValuesConfiguration!=null?CfnDashboardCustomValuesConfigurationPropertyFromCloudFormation(properties.CustomValuesConfiguration):void 0),ret.addPropertyResult("selectAllValueOptions","SelectAllValueOptions",properties.SelectAllValueOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllValueOptions):void 0),ret.addPropertyResult("sourceColumn","SourceColumn",properties.SourceColumn!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.SourceColumn):void 0),ret.addPropertyResult("sourceField","SourceField",properties.SourceField!=null?cfn_parse().FromCloudFormation.getString(properties.SourceField):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSetParameterValueConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationParameterName",cdk().requiredValidator)(properties.destinationParameterName)),errors.collect(cdk().propertyValidator("destinationParameterName",cdk().validateString)(properties.destinationParameterName)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",CfnDashboardDestinationParameterValueConfigurationPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "SetParameterValueConfigurationProperty"')}function convertCfnDashboardSetParameterValueConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSetParameterValueConfigurationPropertyValidator(properties).assertSuccess(),{DestinationParameterName:cdk().stringToCloudFormation(properties.destinationParameterName),Value:convertCfnDashboardDestinationParameterValueConfigurationPropertyToCloudFormation(properties.value)}):properties}function CfnDashboardSetParameterValueConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationParameterName","DestinationParameterName",properties.DestinationParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationParameterName):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDashboardDestinationParameterValueConfigurationPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomActionSetParametersOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameterValueConfigurations",cdk().requiredValidator)(properties.parameterValueConfigurations)),errors.collect(cdk().propertyValidator("parameterValueConfigurations",cdk().listValidator(CfnDashboardSetParameterValueConfigurationPropertyValidator))(properties.parameterValueConfigurations)),errors.wrap('supplied properties not correct for "CustomActionSetParametersOperationProperty"')}function convertCfnDashboardCustomActionSetParametersOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomActionSetParametersOperationPropertyValidator(properties).assertSuccess(),{ParameterValueConfigurations:cdk().listMapper(convertCfnDashboardSetParameterValueConfigurationPropertyToCloudFormation)(properties.parameterValueConfigurations)}):properties}function CfnDashboardCustomActionSetParametersOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameterValueConfigurations","ParameterValueConfigurations",properties.ParameterValueConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardSetParameterValueConfigurationPropertyFromCloudFormation)(properties.ParameterValueConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterOperationSelectedFieldsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("selectedColumns",cdk().listValidator(CfnDashboardColumnIdentifierPropertyValidator))(properties.selectedColumns)),errors.collect(cdk().propertyValidator("selectedFieldOptions",cdk().validateString)(properties.selectedFieldOptions)),errors.collect(cdk().propertyValidator("selectedFields",cdk().listValidator(cdk().validateString))(properties.selectedFields)),errors.wrap('supplied properties not correct for "FilterOperationSelectedFieldsConfigurationProperty"')}function convertCfnDashboardFilterOperationSelectedFieldsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterOperationSelectedFieldsConfigurationPropertyValidator(properties).assertSuccess(),{SelectedColumns:cdk().listMapper(convertCfnDashboardColumnIdentifierPropertyToCloudFormation)(properties.selectedColumns),SelectedFieldOptions:cdk().stringToCloudFormation(properties.selectedFieldOptions),SelectedFields:cdk().listMapper(cdk().stringToCloudFormation)(properties.selectedFields)}):properties}function CfnDashboardFilterOperationSelectedFieldsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("selectedColumns","SelectedColumns",properties.SelectedColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnIdentifierPropertyFromCloudFormation)(properties.SelectedColumns):void 0),ret.addPropertyResult("selectedFieldOptions","SelectedFieldOptions",properties.SelectedFieldOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedFieldOptions):void 0),ret.addPropertyResult("selectedFields","SelectedFields",properties.SelectedFields!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SelectedFields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSameSheetTargetVisualConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetVisualOptions",cdk().validateString)(properties.targetVisualOptions)),errors.collect(cdk().propertyValidator("targetVisuals",cdk().listValidator(cdk().validateString))(properties.targetVisuals)),errors.wrap('supplied properties not correct for "SameSheetTargetVisualConfigurationProperty"')}function convertCfnDashboardSameSheetTargetVisualConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSameSheetTargetVisualConfigurationPropertyValidator(properties).assertSuccess(),{TargetVisualOptions:cdk().stringToCloudFormation(properties.targetVisualOptions),TargetVisuals:cdk().listMapper(cdk().stringToCloudFormation)(properties.targetVisuals)}):properties}function CfnDashboardSameSheetTargetVisualConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetVisualOptions","TargetVisualOptions",properties.TargetVisualOptions!=null?cfn_parse().FromCloudFormation.getString(properties.TargetVisualOptions):void 0),ret.addPropertyResult("targetVisuals","TargetVisuals",properties.TargetVisuals!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TargetVisuals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilterOperationTargetVisualsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sameSheetTargetVisualConfiguration",CfnDashboardSameSheetTargetVisualConfigurationPropertyValidator)(properties.sameSheetTargetVisualConfiguration)),errors.wrap('supplied properties not correct for "FilterOperationTargetVisualsConfigurationProperty"')}function convertCfnDashboardFilterOperationTargetVisualsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilterOperationTargetVisualsConfigurationPropertyValidator(properties).assertSuccess(),{SameSheetTargetVisualConfiguration:convertCfnDashboardSameSheetTargetVisualConfigurationPropertyToCloudFormation(properties.sameSheetTargetVisualConfiguration)}):properties}function CfnDashboardFilterOperationTargetVisualsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sameSheetTargetVisualConfiguration","SameSheetTargetVisualConfiguration",properties.SameSheetTargetVisualConfiguration!=null?CfnDashboardSameSheetTargetVisualConfigurationPropertyFromCloudFormation(properties.SameSheetTargetVisualConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomActionFilterOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("selectedFieldsConfiguration",cdk().requiredValidator)(properties.selectedFieldsConfiguration)),errors.collect(cdk().propertyValidator("selectedFieldsConfiguration",CfnDashboardFilterOperationSelectedFieldsConfigurationPropertyValidator)(properties.selectedFieldsConfiguration)),errors.collect(cdk().propertyValidator("targetVisualsConfiguration",cdk().requiredValidator)(properties.targetVisualsConfiguration)),errors.collect(cdk().propertyValidator("targetVisualsConfiguration",CfnDashboardFilterOperationTargetVisualsConfigurationPropertyValidator)(properties.targetVisualsConfiguration)),errors.wrap('supplied properties not correct for "CustomActionFilterOperationProperty"')}function convertCfnDashboardCustomActionFilterOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomActionFilterOperationPropertyValidator(properties).assertSuccess(),{SelectedFieldsConfiguration:convertCfnDashboardFilterOperationSelectedFieldsConfigurationPropertyToCloudFormation(properties.selectedFieldsConfiguration),TargetVisualsConfiguration:convertCfnDashboardFilterOperationTargetVisualsConfigurationPropertyToCloudFormation(properties.targetVisualsConfiguration)}):properties}function CfnDashboardCustomActionFilterOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("selectedFieldsConfiguration","SelectedFieldsConfiguration",properties.SelectedFieldsConfiguration!=null?CfnDashboardFilterOperationSelectedFieldsConfigurationPropertyFromCloudFormation(properties.SelectedFieldsConfiguration):void 0),ret.addPropertyResult("targetVisualsConfiguration","TargetVisualsConfiguration",properties.TargetVisualsConfiguration!=null?CfnDashboardFilterOperationTargetVisualsConfigurationPropertyFromCloudFormation(properties.TargetVisualsConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomActionURLOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("urlTarget",cdk().requiredValidator)(properties.urlTarget)),errors.collect(cdk().propertyValidator("urlTarget",cdk().validateString)(properties.urlTarget)),errors.collect(cdk().propertyValidator("urlTemplate",cdk().requiredValidator)(properties.urlTemplate)),errors.collect(cdk().propertyValidator("urlTemplate",cdk().validateString)(properties.urlTemplate)),errors.wrap('supplied properties not correct for "CustomActionURLOperationProperty"')}function convertCfnDashboardCustomActionURLOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomActionURLOperationPropertyValidator(properties).assertSuccess(),{URLTarget:cdk().stringToCloudFormation(properties.urlTarget),URLTemplate:cdk().stringToCloudFormation(properties.urlTemplate)}):properties}function CfnDashboardCustomActionURLOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("urlTarget","URLTarget",properties.URLTarget!=null?cfn_parse().FromCloudFormation.getString(properties.URLTarget):void 0),ret.addPropertyResult("urlTemplate","URLTemplate",properties.URLTemplate!=null?cfn_parse().FromCloudFormation.getString(properties.URLTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisualCustomActionOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("filterOperation",CfnDashboardCustomActionFilterOperationPropertyValidator)(properties.filterOperation)),errors.collect(cdk().propertyValidator("navigationOperation",CfnDashboardCustomActionNavigationOperationPropertyValidator)(properties.navigationOperation)),errors.collect(cdk().propertyValidator("setParametersOperation",CfnDashboardCustomActionSetParametersOperationPropertyValidator)(properties.setParametersOperation)),errors.collect(cdk().propertyValidator("urlOperation",CfnDashboardCustomActionURLOperationPropertyValidator)(properties.urlOperation)),errors.wrap('supplied properties not correct for "VisualCustomActionOperationProperty"')}function convertCfnDashboardVisualCustomActionOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisualCustomActionOperationPropertyValidator(properties).assertSuccess(),{FilterOperation:convertCfnDashboardCustomActionFilterOperationPropertyToCloudFormation(properties.filterOperation),NavigationOperation:convertCfnDashboardCustomActionNavigationOperationPropertyToCloudFormation(properties.navigationOperation),SetParametersOperation:convertCfnDashboardCustomActionSetParametersOperationPropertyToCloudFormation(properties.setParametersOperation),URLOperation:convertCfnDashboardCustomActionURLOperationPropertyToCloudFormation(properties.urlOperation)}):properties}function CfnDashboardVisualCustomActionOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("filterOperation","FilterOperation",properties.FilterOperation!=null?CfnDashboardCustomActionFilterOperationPropertyFromCloudFormation(properties.FilterOperation):void 0),ret.addPropertyResult("navigationOperation","NavigationOperation",properties.NavigationOperation!=null?CfnDashboardCustomActionNavigationOperationPropertyFromCloudFormation(properties.NavigationOperation):void 0),ret.addPropertyResult("setParametersOperation","SetParametersOperation",properties.SetParametersOperation!=null?CfnDashboardCustomActionSetParametersOperationPropertyFromCloudFormation(properties.SetParametersOperation):void 0),ret.addPropertyResult("urlOperation","URLOperation",properties.URLOperation!=null?CfnDashboardCustomActionURLOperationPropertyFromCloudFormation(properties.URLOperation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisualCustomActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actionOperations",cdk().requiredValidator)(properties.actionOperations)),errors.collect(cdk().propertyValidator("actionOperations",cdk().listValidator(CfnDashboardVisualCustomActionOperationPropertyValidator))(properties.actionOperations)),errors.collect(cdk().propertyValidator("customActionId",cdk().requiredValidator)(properties.customActionId)),errors.collect(cdk().propertyValidator("customActionId",cdk().validateString)(properties.customActionId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("trigger",cdk().requiredValidator)(properties.trigger)),errors.collect(cdk().propertyValidator("trigger",cdk().validateString)(properties.trigger)),errors.wrap('supplied properties not correct for "VisualCustomActionProperty"')}function convertCfnDashboardVisualCustomActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisualCustomActionPropertyValidator(properties).assertSuccess(),{ActionOperations:cdk().listMapper(convertCfnDashboardVisualCustomActionOperationPropertyToCloudFormation)(properties.actionOperations),CustomActionId:cdk().stringToCloudFormation(properties.customActionId),Name:cdk().stringToCloudFormation(properties.name),Status:cdk().stringToCloudFormation(properties.status),Trigger:cdk().stringToCloudFormation(properties.trigger)}):properties}function CfnDashboardVisualCustomActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOperations","ActionOperations",properties.ActionOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionOperationPropertyFromCloudFormation)(properties.ActionOperations):void 0),ret.addPropertyResult("customActionId","CustomActionId",properties.CustomActionId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomActionId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("trigger","Trigger",properties.Trigger!=null?cfn_parse().FromCloudFormation.getString(properties.Trigger):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardShortFormatTextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("plainText",cdk().validateString)(properties.plainText)),errors.collect(cdk().propertyValidator("richText",cdk().validateString)(properties.richText)),errors.wrap('supplied properties not correct for "ShortFormatTextProperty"')}function convertCfnDashboardShortFormatTextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardShortFormatTextPropertyValidator(properties).assertSuccess(),{PlainText:cdk().stringToCloudFormation(properties.plainText),RichText:cdk().stringToCloudFormation(properties.richText)}):properties}function CfnDashboardShortFormatTextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("plainText","PlainText",properties.PlainText!=null?cfn_parse().FromCloudFormation.getString(properties.PlainText):void 0),ret.addPropertyResult("richText","RichText",properties.RichText!=null?cfn_parse().FromCloudFormation.getString(properties.RichText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisualTitleLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatText",CfnDashboardShortFormatTextPropertyValidator)(properties.formatText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "VisualTitleLabelOptionsProperty"')}function convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisualTitleLabelOptionsPropertyValidator(properties).assertSuccess(),{FormatText:convertCfnDashboardShortFormatTextPropertyToCloudFormation(properties.formatText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatText","FormatText",properties.FormatText!=null?CfnDashboardShortFormatTextPropertyFromCloudFormation(properties.FormatText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericEqualityDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "NumericEqualityDrillDownFilterProperty"')}function convertCfnDashboardNumericEqualityDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericEqualityDrillDownFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnDashboardNumericEqualityDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTimeRangeDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("rangeMaximum",cdk().requiredValidator)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMaximum",cdk().validateString)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMinimum",cdk().requiredValidator)(properties.rangeMinimum)),errors.collect(cdk().propertyValidator("rangeMinimum",cdk().validateString)(properties.rangeMinimum)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().requiredValidator)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TimeRangeDrillDownFilterProperty"')}function convertCfnDashboardTimeRangeDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTimeRangeDrillDownFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),RangeMaximum:cdk().stringToCloudFormation(properties.rangeMaximum),RangeMinimum:cdk().stringToCloudFormation(properties.rangeMinimum),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnDashboardTimeRangeDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("rangeMaximum","RangeMaximum",properties.RangeMaximum!=null?cfn_parse().FromCloudFormation.getString(properties.RangeMaximum):void 0),ret.addPropertyResult("rangeMinimum","RangeMinimum",properties.RangeMinimum!=null?cfn_parse().FromCloudFormation.getString(properties.RangeMinimum):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCategoryDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValues",cdk().requiredValidator)(properties.categoryValues)),errors.collect(cdk().propertyValidator("categoryValues",cdk().listValidator(cdk().validateString))(properties.categoryValues)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.wrap('supplied properties not correct for "CategoryDrillDownFilterProperty"')}function convertCfnDashboardCategoryDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCategoryDrillDownFilterPropertyValidator(properties).assertSuccess(),{CategoryValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.categoryValues),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column)}):properties}function CfnDashboardCategoryDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValues","CategoryValues",properties.CategoryValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CategoryValues):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryFilter",CfnDashboardCategoryDrillDownFilterPropertyValidator)(properties.categoryFilter)),errors.collect(cdk().propertyValidator("numericEqualityFilter",CfnDashboardNumericEqualityDrillDownFilterPropertyValidator)(properties.numericEqualityFilter)),errors.collect(cdk().propertyValidator("timeRangeFilter",CfnDashboardTimeRangeDrillDownFilterPropertyValidator)(properties.timeRangeFilter)),errors.wrap('supplied properties not correct for "DrillDownFilterProperty"')}function convertCfnDashboardDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDrillDownFilterPropertyValidator(properties).assertSuccess(),{CategoryFilter:convertCfnDashboardCategoryDrillDownFilterPropertyToCloudFormation(properties.categoryFilter),NumericEqualityFilter:convertCfnDashboardNumericEqualityDrillDownFilterPropertyToCloudFormation(properties.numericEqualityFilter),TimeRangeFilter:convertCfnDashboardTimeRangeDrillDownFilterPropertyToCloudFormation(properties.timeRangeFilter)}):properties}function CfnDashboardDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryFilter","CategoryFilter",properties.CategoryFilter!=null?CfnDashboardCategoryDrillDownFilterPropertyFromCloudFormation(properties.CategoryFilter):void 0),ret.addPropertyResult("numericEqualityFilter","NumericEqualityFilter",properties.NumericEqualityFilter!=null?CfnDashboardNumericEqualityDrillDownFilterPropertyFromCloudFormation(properties.NumericEqualityFilter):void 0),ret.addPropertyResult("timeRangeFilter","TimeRangeFilter",properties.TimeRangeFilter!=null?CfnDashboardTimeRangeDrillDownFilterPropertyFromCloudFormation(properties.TimeRangeFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateTimeHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("drillDownFilters",cdk().listValidator(CfnDashboardDrillDownFilterPropertyValidator))(properties.drillDownFilters)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().requiredValidator)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "DateTimeHierarchyProperty"')}function convertCfnDashboardDateTimeHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateTimeHierarchyPropertyValidator(properties).assertSuccess(),{DrillDownFilters:cdk().listMapper(convertCfnDashboardDrillDownFilterPropertyToCloudFormation)(properties.drillDownFilters),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnDashboardDateTimeHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("drillDownFilters","DrillDownFilters",properties.DrillDownFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDrillDownFilterPropertyFromCloudFormation)(properties.DrillDownFilters):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardExplicitHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().requiredValidator)(properties.columns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnDashboardColumnIdentifierPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("drillDownFilters",cdk().listValidator(CfnDashboardDrillDownFilterPropertyValidator))(properties.drillDownFilters)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().requiredValidator)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "ExplicitHierarchyProperty"')}function convertCfnDashboardExplicitHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardExplicitHierarchyPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnDashboardColumnIdentifierPropertyToCloudFormation)(properties.columns),DrillDownFilters:cdk().listMapper(convertCfnDashboardDrillDownFilterPropertyToCloudFormation)(properties.drillDownFilters),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnDashboardExplicitHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnIdentifierPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("drillDownFilters","DrillDownFilters",properties.DrillDownFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDrillDownFilterPropertyFromCloudFormation)(properties.DrillDownFilters):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPredefinedHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().requiredValidator)(properties.columns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnDashboardColumnIdentifierPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("drillDownFilters",cdk().listValidator(CfnDashboardDrillDownFilterPropertyValidator))(properties.drillDownFilters)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().requiredValidator)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "PredefinedHierarchyProperty"')}function convertCfnDashboardPredefinedHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPredefinedHierarchyPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnDashboardColumnIdentifierPropertyToCloudFormation)(properties.columns),DrillDownFilters:cdk().listMapper(convertCfnDashboardDrillDownFilterPropertyToCloudFormation)(properties.drillDownFilters),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnDashboardPredefinedHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnIdentifierPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("drillDownFilters","DrillDownFilters",properties.DrillDownFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDrillDownFilterPropertyFromCloudFormation)(properties.DrillDownFilters):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardColumnHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeHierarchy",CfnDashboardDateTimeHierarchyPropertyValidator)(properties.dateTimeHierarchy)),errors.collect(cdk().propertyValidator("explicitHierarchy",CfnDashboardExplicitHierarchyPropertyValidator)(properties.explicitHierarchy)),errors.collect(cdk().propertyValidator("predefinedHierarchy",CfnDashboardPredefinedHierarchyPropertyValidator)(properties.predefinedHierarchy)),errors.wrap('supplied properties not correct for "ColumnHierarchyProperty"')}function convertCfnDashboardColumnHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardColumnHierarchyPropertyValidator(properties).assertSuccess(),{DateTimeHierarchy:convertCfnDashboardDateTimeHierarchyPropertyToCloudFormation(properties.dateTimeHierarchy),ExplicitHierarchy:convertCfnDashboardExplicitHierarchyPropertyToCloudFormation(properties.explicitHierarchy),PredefinedHierarchy:convertCfnDashboardPredefinedHierarchyPropertyToCloudFormation(properties.predefinedHierarchy)}):properties}function CfnDashboardColumnHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeHierarchy","DateTimeHierarchy",properties.DateTimeHierarchy!=null?CfnDashboardDateTimeHierarchyPropertyFromCloudFormation(properties.DateTimeHierarchy):void 0),ret.addPropertyResult("explicitHierarchy","ExplicitHierarchy",properties.ExplicitHierarchy!=null?CfnDashboardExplicitHierarchyPropertyFromCloudFormation(properties.ExplicitHierarchy):void 0),ret.addPropertyResult("predefinedHierarchy","PredefinedHierarchy",properties.PredefinedHierarchy!=null?CfnDashboardPredefinedHierarchyPropertyFromCloudFormation(properties.PredefinedHierarchy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFunnelChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardFunnelChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "FunnelChartVisualProperty"')}function convertCfnDashboardFunnelChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFunnelChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardFunnelChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardFunnelChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardFunnelChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGradientStopPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateNumber)(properties.dataValue)),errors.collect(cdk().propertyValidator("gradientOffset",cdk().requiredValidator)(properties.gradientOffset)),errors.collect(cdk().propertyValidator("gradientOffset",cdk().validateNumber)(properties.gradientOffset)),errors.wrap('supplied properties not correct for "GradientStopProperty"')}function convertCfnDashboardGradientStopPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGradientStopPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().numberToCloudFormation(properties.dataValue),GradientOffset:cdk().numberToCloudFormation(properties.gradientOffset)}):properties}function CfnDashboardGradientStopPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.DataValue):void 0),ret.addPropertyResult("gradientOffset","GradientOffset",properties.GradientOffset!=null?cfn_parse().FromCloudFormation.getNumber(properties.GradientOffset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGradientColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("stops",cdk().listValidator(CfnDashboardGradientStopPropertyValidator))(properties.stops)),errors.wrap('supplied properties not correct for "GradientColorProperty"')}function convertCfnDashboardGradientColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGradientColorPropertyValidator(properties).assertSuccess(),{Stops:cdk().listMapper(convertCfnDashboardGradientStopPropertyToCloudFormation)(properties.stops)}):properties}function CfnDashboardGradientColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("stops","Stops",properties.Stops!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGradientStopPropertyFromCloudFormation)(properties.Stops):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardConditionalFormattingGradientColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",CfnDashboardGradientColorPropertyValidator)(properties.color)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "ConditionalFormattingGradientColorProperty"')}function convertCfnDashboardConditionalFormattingGradientColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardConditionalFormattingGradientColorPropertyValidator(properties).assertSuccess(),{Color:convertCfnDashboardGradientColorPropertyToCloudFormation(properties.color),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnDashboardConditionalFormattingGradientColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?CfnDashboardGradientColorPropertyFromCloudFormation(properties.Color):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardConditionalFormattingSolidColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "ConditionalFormattingSolidColorProperty"')}function convertCfnDashboardConditionalFormattingSolidColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardConditionalFormattingSolidColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnDashboardConditionalFormattingSolidColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardConditionalFormattingColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gradient",CfnDashboardConditionalFormattingGradientColorPropertyValidator)(properties.gradient)),errors.collect(cdk().propertyValidator("solid",CfnDashboardConditionalFormattingSolidColorPropertyValidator)(properties.solid)),errors.wrap('supplied properties not correct for "ConditionalFormattingColorProperty"')}function convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardConditionalFormattingColorPropertyValidator(properties).assertSuccess(),{Gradient:convertCfnDashboardConditionalFormattingGradientColorPropertyToCloudFormation(properties.gradient),Solid:convertCfnDashboardConditionalFormattingSolidColorPropertyToCloudFormation(properties.solid)}):properties}function CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gradient","Gradient",properties.Gradient!=null?CfnDashboardConditionalFormattingGradientColorPropertyFromCloudFormation(properties.Gradient):void 0),ret.addPropertyResult("solid","Solid",properties.Solid!=null?CfnDashboardConditionalFormattingSolidColorPropertyFromCloudFormation(properties.Solid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardShapeConditionalFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().requiredValidator)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("backgroundColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.backgroundColor)),errors.wrap('supplied properties not correct for "ShapeConditionalFormatProperty"')}function convertCfnDashboardShapeConditionalFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardShapeConditionalFormatPropertyValidator(properties).assertSuccess(),{BackgroundColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.backgroundColor)}):properties}function CfnDashboardShapeConditionalFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.BackgroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilledMapShapeConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("format",CfnDashboardShapeConditionalFormatPropertyValidator)(properties.format)),errors.wrap('supplied properties not correct for "FilledMapShapeConditionalFormattingProperty"')}function convertCfnDashboardFilledMapShapeConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilledMapShapeConditionalFormattingPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Format:convertCfnDashboardShapeConditionalFormatPropertyToCloudFormation(properties.format)}):properties}function CfnDashboardFilledMapShapeConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("format","Format",properties.Format!=null?CfnDashboardShapeConditionalFormatPropertyFromCloudFormation(properties.Format):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilledMapConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("shape",cdk().requiredValidator)(properties.shape)),errors.collect(cdk().propertyValidator("shape",CfnDashboardFilledMapShapeConditionalFormattingPropertyValidator)(properties.shape)),errors.wrap('supplied properties not correct for "FilledMapConditionalFormattingOptionProperty"')}function convertCfnDashboardFilledMapConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilledMapConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Shape:convertCfnDashboardFilledMapShapeConditionalFormattingPropertyToCloudFormation(properties.shape)}):properties}function CfnDashboardFilledMapConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("shape","Shape",properties.Shape!=null?CfnDashboardFilledMapShapeConditionalFormattingPropertyFromCloudFormation(properties.Shape):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilledMapConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().requiredValidator)(properties.conditionalFormattingOptions)),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnDashboardFilledMapConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "FilledMapConditionalFormattingProperty"')}function convertCfnDashboardFilledMapConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilledMapConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnDashboardFilledMapConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnDashboardFilledMapConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFilledMapConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilledMapSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "FilledMapSortConfigurationProperty"')}function convertCfnDashboardFilledMapSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilledMapSortConfigurationPropertyValidator(properties).assertSuccess(),{CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnDashboardFilledMapSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLegendOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("height",cdk().validateString)(properties.height)),errors.collect(cdk().propertyValidator("position",cdk().validateString)(properties.position)),errors.collect(cdk().propertyValidator("title",CfnDashboardLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("valueFontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.valueFontConfiguration)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "LegendOptionsProperty"')}function convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLegendOptionsPropertyValidator(properties).assertSuccess(),{Height:cdk().stringToCloudFormation(properties.height),Position:cdk().stringToCloudFormation(properties.position),Title:convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties.title),ValueFontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.valueFontConfiguration),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnDashboardLegendOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getString(properties.Height):void 0),ret.addPropertyResult("position","Position",properties.Position!=null?cfn_parse().FromCloudFormation.getString(properties.Position):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("valueFontConfiguration","ValueFontConfiguration",properties.ValueFontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.ValueFontConfiguration):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialMapStyleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("baseMapStyle",cdk().validateString)(properties.baseMapStyle)),errors.wrap('supplied properties not correct for "GeospatialMapStyleOptionsProperty"')}function convertCfnDashboardGeospatialMapStyleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialMapStyleOptionsPropertyValidator(properties).assertSuccess(),{BaseMapStyle:cdk().stringToCloudFormation(properties.baseMapStyle)}):properties}function CfnDashboardGeospatialMapStyleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("baseMapStyle","BaseMapStyle",properties.BaseMapStyle!=null?cfn_parse().FromCloudFormation.getString(properties.BaseMapStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilledMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("geospatial",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.geospatial)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "FilledMapAggregatedFieldWellsProperty"')}function convertCfnDashboardFilledMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilledMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Geospatial:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.geospatial),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardFilledMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("geospatial","Geospatial",properties.Geospatial!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Geospatial):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilledMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("filledMapAggregatedFieldWells",CfnDashboardFilledMapAggregatedFieldWellsPropertyValidator)(properties.filledMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "FilledMapFieldWellsProperty"')}function convertCfnDashboardFilledMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilledMapFieldWellsPropertyValidator(properties).assertSuccess(),{FilledMapAggregatedFieldWells:convertCfnDashboardFilledMapAggregatedFieldWellsPropertyToCloudFormation(properties.filledMapAggregatedFieldWells)}):properties}function CfnDashboardFilledMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("filledMapAggregatedFieldWells","FilledMapAggregatedFieldWells",properties.FilledMapAggregatedFieldWells!=null?CfnDashboardFilledMapAggregatedFieldWellsPropertyFromCloudFormation(properties.FilledMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialCoordinateBoundsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("east",cdk().requiredValidator)(properties.east)),errors.collect(cdk().propertyValidator("east",cdk().validateNumber)(properties.east)),errors.collect(cdk().propertyValidator("north",cdk().requiredValidator)(properties.north)),errors.collect(cdk().propertyValidator("north",cdk().validateNumber)(properties.north)),errors.collect(cdk().propertyValidator("south",cdk().requiredValidator)(properties.south)),errors.collect(cdk().propertyValidator("south",cdk().validateNumber)(properties.south)),errors.collect(cdk().propertyValidator("west",cdk().requiredValidator)(properties.west)),errors.collect(cdk().propertyValidator("west",cdk().validateNumber)(properties.west)),errors.wrap('supplied properties not correct for "GeospatialCoordinateBoundsProperty"')}function convertCfnDashboardGeospatialCoordinateBoundsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialCoordinateBoundsPropertyValidator(properties).assertSuccess(),{East:cdk().numberToCloudFormation(properties.east),North:cdk().numberToCloudFormation(properties.north),South:cdk().numberToCloudFormation(properties.south),West:cdk().numberToCloudFormation(properties.west)}):properties}function CfnDashboardGeospatialCoordinateBoundsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("east","East",properties.East!=null?cfn_parse().FromCloudFormation.getNumber(properties.East):void 0),ret.addPropertyResult("north","North",properties.North!=null?cfn_parse().FromCloudFormation.getNumber(properties.North):void 0),ret.addPropertyResult("south","South",properties.South!=null?cfn_parse().FromCloudFormation.getNumber(properties.South):void 0),ret.addPropertyResult("west","West",properties.West!=null?cfn_parse().FromCloudFormation.getNumber(properties.West):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialWindowOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bounds",CfnDashboardGeospatialCoordinateBoundsPropertyValidator)(properties.bounds)),errors.collect(cdk().propertyValidator("mapZoomMode",cdk().validateString)(properties.mapZoomMode)),errors.wrap('supplied properties not correct for "GeospatialWindowOptionsProperty"')}function convertCfnDashboardGeospatialWindowOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialWindowOptionsPropertyValidator(properties).assertSuccess(),{Bounds:convertCfnDashboardGeospatialCoordinateBoundsPropertyToCloudFormation(properties.bounds),MapZoomMode:cdk().stringToCloudFormation(properties.mapZoomMode)}):properties}function CfnDashboardGeospatialWindowOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bounds","Bounds",properties.Bounds!=null?CfnDashboardGeospatialCoordinateBoundsPropertyFromCloudFormation(properties.Bounds):void 0),ret.addPropertyResult("mapZoomMode","MapZoomMode",properties.MapZoomMode!=null?cfn_parse().FromCloudFormation.getString(properties.MapZoomMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilledMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardFilledMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("mapStyleOptions",CfnDashboardGeospatialMapStyleOptionsPropertyValidator)(properties.mapStyleOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardFilledMapSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("windowOptions",CfnDashboardGeospatialWindowOptionsPropertyValidator)(properties.windowOptions)),errors.wrap('supplied properties not correct for "FilledMapConfigurationProperty"')}function convertCfnDashboardFilledMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilledMapConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:convertCfnDashboardFilledMapFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),MapStyleOptions:convertCfnDashboardGeospatialMapStyleOptionsPropertyToCloudFormation(properties.mapStyleOptions),SortConfiguration:convertCfnDashboardFilledMapSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),WindowOptions:convertCfnDashboardGeospatialWindowOptionsPropertyToCloudFormation(properties.windowOptions)}):properties}function CfnDashboardFilledMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardFilledMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("mapStyleOptions","MapStyleOptions",properties.MapStyleOptions!=null?CfnDashboardGeospatialMapStyleOptionsPropertyFromCloudFormation(properties.MapStyleOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardFilledMapSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("windowOptions","WindowOptions",properties.WindowOptions!=null?CfnDashboardGeospatialWindowOptionsPropertyFromCloudFormation(properties.WindowOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFilledMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardFilledMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnDashboardFilledMapConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "FilledMapVisualProperty"')}function convertCfnDashboardFilledMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFilledMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardFilledMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),ConditionalFormatting:convertCfnDashboardFilledMapConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardFilledMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardFilledMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnDashboardFilledMapConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPaginationConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pageNumber",cdk().requiredValidator)(properties.pageNumber)),errors.collect(cdk().propertyValidator("pageNumber",cdk().validateNumber)(properties.pageNumber)),errors.collect(cdk().propertyValidator("pageSize",cdk().requiredValidator)(properties.pageSize)),errors.collect(cdk().propertyValidator("pageSize",cdk().validateNumber)(properties.pageSize)),errors.wrap('supplied properties not correct for "PaginationConfigurationProperty"')}function convertCfnDashboardPaginationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPaginationConfigurationPropertyValidator(properties).assertSuccess(),{PageNumber:cdk().numberToCloudFormation(properties.pageNumber),PageSize:cdk().numberToCloudFormation(properties.pageSize)}):properties}function CfnDashboardPaginationConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pageNumber","PageNumber",properties.PageNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.PageNumber):void 0),ret.addPropertyResult("pageSize","PageSize",properties.PageSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.PageSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBoxPlotSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("paginationConfiguration",CfnDashboardPaginationConfigurationPropertyValidator)(properties.paginationConfiguration)),errors.wrap('supplied properties not correct for "BoxPlotSortConfigurationProperty"')}function convertCfnDashboardBoxPlotSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBoxPlotSortConfigurationPropertyValidator(properties).assertSuccess(),{CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),PaginationConfiguration:convertCfnDashboardPaginationConfigurationPropertyToCloudFormation(properties.paginationConfiguration)}):properties}function CfnDashboardBoxPlotSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("paginationConfiguration","PaginationConfiguration",properties.PaginationConfiguration!=null?CfnDashboardPaginationConfigurationPropertyFromCloudFormation(properties.PaginationConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReferenceLineDynamicDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("calculation",cdk().requiredValidator)(properties.calculation)),errors.collect(cdk().propertyValidator("calculation",CfnDashboardNumericalAggregationFunctionPropertyValidator)(properties.calculation)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("measureAggregationFunction",CfnDashboardAggregationFunctionPropertyValidator)(properties.measureAggregationFunction)),errors.wrap('supplied properties not correct for "ReferenceLineDynamicDataConfigurationProperty"')}function convertCfnDashboardReferenceLineDynamicDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReferenceLineDynamicDataConfigurationPropertyValidator(properties).assertSuccess(),{Calculation:convertCfnDashboardNumericalAggregationFunctionPropertyToCloudFormation(properties.calculation),Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),MeasureAggregationFunction:convertCfnDashboardAggregationFunctionPropertyToCloudFormation(properties.measureAggregationFunction)}):properties}function CfnDashboardReferenceLineDynamicDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("calculation","Calculation",properties.Calculation!=null?CfnDashboardNumericalAggregationFunctionPropertyFromCloudFormation(properties.Calculation):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("measureAggregationFunction","MeasureAggregationFunction",properties.MeasureAggregationFunction!=null?CfnDashboardAggregationFunctionPropertyFromCloudFormation(properties.MeasureAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReferenceLineStaticDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "ReferenceLineStaticDataConfigurationProperty"')}function convertCfnDashboardReferenceLineStaticDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReferenceLineStaticDataConfigurationPropertyValidator(properties).assertSuccess(),{Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnDashboardReferenceLineStaticDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReferenceLineDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("dynamicConfiguration",CfnDashboardReferenceLineDynamicDataConfigurationPropertyValidator)(properties.dynamicConfiguration)),errors.collect(cdk().propertyValidator("seriesType",cdk().validateString)(properties.seriesType)),errors.collect(cdk().propertyValidator("staticConfiguration",CfnDashboardReferenceLineStaticDataConfigurationPropertyValidator)(properties.staticConfiguration)),errors.wrap('supplied properties not correct for "ReferenceLineDataConfigurationProperty"')}function convertCfnDashboardReferenceLineDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReferenceLineDataConfigurationPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),DynamicConfiguration:convertCfnDashboardReferenceLineDynamicDataConfigurationPropertyToCloudFormation(properties.dynamicConfiguration),SeriesType:cdk().stringToCloudFormation(properties.seriesType),StaticConfiguration:convertCfnDashboardReferenceLineStaticDataConfigurationPropertyToCloudFormation(properties.staticConfiguration)}):properties}function CfnDashboardReferenceLineDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("dynamicConfiguration","DynamicConfiguration",properties.DynamicConfiguration!=null?CfnDashboardReferenceLineDynamicDataConfigurationPropertyFromCloudFormation(properties.DynamicConfiguration):void 0),ret.addPropertyResult("seriesType","SeriesType",properties.SeriesType!=null?cfn_parse().FromCloudFormation.getString(properties.SeriesType):void 0),ret.addPropertyResult("staticConfiguration","StaticConfiguration",properties.StaticConfiguration!=null?CfnDashboardReferenceLineStaticDataConfigurationPropertyFromCloudFormation(properties.StaticConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReferenceLineValueLabelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardNumericFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("relativePosition",cdk().validateString)(properties.relativePosition)),errors.wrap('supplied properties not correct for "ReferenceLineValueLabelConfigurationProperty"')}function convertCfnDashboardReferenceLineValueLabelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReferenceLineValueLabelConfigurationPropertyValidator(properties).assertSuccess(),{FormatConfiguration:convertCfnDashboardNumericFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),RelativePosition:cdk().stringToCloudFormation(properties.relativePosition)}):properties}function CfnDashboardReferenceLineValueLabelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardNumericFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("relativePosition","RelativePosition",properties.RelativePosition!=null?cfn_parse().FromCloudFormation.getString(properties.RelativePosition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReferenceLineCustomLabelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().requiredValidator)(properties.customLabel)),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.wrap('supplied properties not correct for "ReferenceLineCustomLabelConfigurationProperty"')}function convertCfnDashboardReferenceLineCustomLabelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReferenceLineCustomLabelConfigurationPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel)}):properties}function CfnDashboardReferenceLineCustomLabelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReferenceLineLabelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabelConfiguration",CfnDashboardReferenceLineCustomLabelConfigurationPropertyValidator)(properties.customLabelConfiguration)),errors.collect(cdk().propertyValidator("fontColor",cdk().validateString)(properties.fontColor)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("horizontalPosition",cdk().validateString)(properties.horizontalPosition)),errors.collect(cdk().propertyValidator("valueLabelConfiguration",CfnDashboardReferenceLineValueLabelConfigurationPropertyValidator)(properties.valueLabelConfiguration)),errors.collect(cdk().propertyValidator("verticalPosition",cdk().validateString)(properties.verticalPosition)),errors.wrap('supplied properties not correct for "ReferenceLineLabelConfigurationProperty"')}function convertCfnDashboardReferenceLineLabelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReferenceLineLabelConfigurationPropertyValidator(properties).assertSuccess(),{CustomLabelConfiguration:convertCfnDashboardReferenceLineCustomLabelConfigurationPropertyToCloudFormation(properties.customLabelConfiguration),FontColor:cdk().stringToCloudFormation(properties.fontColor),FontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),HorizontalPosition:cdk().stringToCloudFormation(properties.horizontalPosition),ValueLabelConfiguration:convertCfnDashboardReferenceLineValueLabelConfigurationPropertyToCloudFormation(properties.valueLabelConfiguration),VerticalPosition:cdk().stringToCloudFormation(properties.verticalPosition)}):properties}function CfnDashboardReferenceLineLabelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabelConfiguration","CustomLabelConfiguration",properties.CustomLabelConfiguration!=null?CfnDashboardReferenceLineCustomLabelConfigurationPropertyFromCloudFormation(properties.CustomLabelConfiguration):void 0),ret.addPropertyResult("fontColor","FontColor",properties.FontColor!=null?cfn_parse().FromCloudFormation.getString(properties.FontColor):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("horizontalPosition","HorizontalPosition",properties.HorizontalPosition!=null?cfn_parse().FromCloudFormation.getString(properties.HorizontalPosition):void 0),ret.addPropertyResult("valueLabelConfiguration","ValueLabelConfiguration",properties.ValueLabelConfiguration!=null?CfnDashboardReferenceLineValueLabelConfigurationPropertyFromCloudFormation(properties.ValueLabelConfiguration):void 0),ret.addPropertyResult("verticalPosition","VerticalPosition",properties.VerticalPosition!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalPosition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReferenceLineStyleConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("pattern",cdk().validateString)(properties.pattern)),errors.wrap('supplied properties not correct for "ReferenceLineStyleConfigurationProperty"')}function convertCfnDashboardReferenceLineStyleConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReferenceLineStyleConfigurationPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Pattern:cdk().stringToCloudFormation(properties.pattern)}):properties}function CfnDashboardReferenceLineStyleConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("pattern","Pattern",properties.Pattern!=null?cfn_parse().FromCloudFormation.getString(properties.Pattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReferenceLinePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataConfiguration",cdk().requiredValidator)(properties.dataConfiguration)),errors.collect(cdk().propertyValidator("dataConfiguration",CfnDashboardReferenceLineDataConfigurationPropertyValidator)(properties.dataConfiguration)),errors.collect(cdk().propertyValidator("labelConfiguration",CfnDashboardReferenceLineLabelConfigurationPropertyValidator)(properties.labelConfiguration)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("styleConfiguration",CfnDashboardReferenceLineStyleConfigurationPropertyValidator)(properties.styleConfiguration)),errors.wrap('supplied properties not correct for "ReferenceLineProperty"')}function convertCfnDashboardReferenceLinePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReferenceLinePropertyValidator(properties).assertSuccess(),{DataConfiguration:convertCfnDashboardReferenceLineDataConfigurationPropertyToCloudFormation(properties.dataConfiguration),LabelConfiguration:convertCfnDashboardReferenceLineLabelConfigurationPropertyToCloudFormation(properties.labelConfiguration),Status:cdk().stringToCloudFormation(properties.status),StyleConfiguration:convertCfnDashboardReferenceLineStyleConfigurationPropertyToCloudFormation(properties.styleConfiguration)}):properties}function CfnDashboardReferenceLinePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataConfiguration","DataConfiguration",properties.DataConfiguration!=null?CfnDashboardReferenceLineDataConfigurationPropertyFromCloudFormation(properties.DataConfiguration):void 0),ret.addPropertyResult("labelConfiguration","LabelConfiguration",properties.LabelConfiguration!=null?CfnDashboardReferenceLineLabelConfigurationPropertyFromCloudFormation(properties.LabelConfiguration):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("styleConfiguration","StyleConfiguration",properties.StyleConfiguration!=null?CfnDashboardReferenceLineStyleConfigurationPropertyFromCloudFormation(properties.StyleConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("missingDateVisibility",cdk().validateString)(properties.missingDateVisibility)),errors.wrap('supplied properties not correct for "DateAxisOptionsProperty"')}function convertCfnDashboardDateAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateAxisOptionsPropertyValidator(properties).assertSuccess(),{MissingDateVisibility:cdk().stringToCloudFormation(properties.missingDateVisibility)}):properties}function CfnDashboardDateAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("missingDateVisibility","MissingDateVisibility",properties.MissingDateVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MissingDateVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisLogarithmicScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("base",cdk().validateNumber)(properties.base)),errors.wrap('supplied properties not correct for "AxisLogarithmicScaleProperty"')}function convertCfnDashboardAxisLogarithmicScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisLogarithmicScalePropertyValidator(properties).assertSuccess(),{Base:cdk().numberToCloudFormation(properties.base)}):properties}function CfnDashboardAxisLogarithmicScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("base","Base",properties.Base!=null?cfn_parse().FromCloudFormation.getNumber(properties.Base):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisLinearScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("stepCount",cdk().validateNumber)(properties.stepCount)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.wrap('supplied properties not correct for "AxisLinearScaleProperty"')}function convertCfnDashboardAxisLinearScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisLinearScalePropertyValidator(properties).assertSuccess(),{StepCount:cdk().numberToCloudFormation(properties.stepCount),StepSize:cdk().numberToCloudFormation(properties.stepSize)}):properties}function CfnDashboardAxisLinearScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("stepCount","StepCount",properties.StepCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepCount):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("linear",CfnDashboardAxisLinearScalePropertyValidator)(properties.linear)),errors.collect(cdk().propertyValidator("logarithmic",CfnDashboardAxisLogarithmicScalePropertyValidator)(properties.logarithmic)),errors.wrap('supplied properties not correct for "AxisScaleProperty"')}function convertCfnDashboardAxisScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisScalePropertyValidator(properties).assertSuccess(),{Linear:convertCfnDashboardAxisLinearScalePropertyToCloudFormation(properties.linear),Logarithmic:convertCfnDashboardAxisLogarithmicScalePropertyToCloudFormation(properties.logarithmic)}):properties}function CfnDashboardAxisScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("linear","Linear",properties.Linear!=null?CfnDashboardAxisLinearScalePropertyFromCloudFormation(properties.Linear):void 0),ret.addPropertyResult("logarithmic","Logarithmic",properties.Logarithmic!=null?CfnDashboardAxisLogarithmicScalePropertyFromCloudFormation(properties.Logarithmic):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisDisplayMinMaxRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maximum",cdk().validateNumber)(properties.maximum)),errors.collect(cdk().propertyValidator("minimum",cdk().validateNumber)(properties.minimum)),errors.wrap('supplied properties not correct for "AxisDisplayMinMaxRangeProperty"')}function convertCfnDashboardAxisDisplayMinMaxRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisDisplayMinMaxRangePropertyValidator(properties).assertSuccess(),{Maximum:cdk().numberToCloudFormation(properties.maximum),Minimum:cdk().numberToCloudFormation(properties.minimum)}):properties}function CfnDashboardAxisDisplayMinMaxRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maximum","Maximum",properties.Maximum!=null?cfn_parse().FromCloudFormation.getNumber(properties.Maximum):void 0),ret.addPropertyResult("minimum","Minimum",properties.Minimum!=null?cfn_parse().FromCloudFormation.getNumber(properties.Minimum):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisDisplayRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataDriven",cdk().validateObject)(properties.dataDriven)),errors.collect(cdk().propertyValidator("minMax",CfnDashboardAxisDisplayMinMaxRangePropertyValidator)(properties.minMax)),errors.wrap('supplied properties not correct for "AxisDisplayRangeProperty"')}function convertCfnDashboardAxisDisplayRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisDisplayRangePropertyValidator(properties).assertSuccess(),{DataDriven:cdk().objectToCloudFormation(properties.dataDriven),MinMax:convertCfnDashboardAxisDisplayMinMaxRangePropertyToCloudFormation(properties.minMax)}):properties}function CfnDashboardAxisDisplayRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataDriven","DataDriven",properties.DataDriven!=null?cfn_parse().FromCloudFormation.getAny(properties.DataDriven):void 0),ret.addPropertyResult("minMax","MinMax",properties.MinMax!=null?CfnDashboardAxisDisplayMinMaxRangePropertyFromCloudFormation(properties.MinMax):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardNumericAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("range",CfnDashboardAxisDisplayRangePropertyValidator)(properties.range)),errors.collect(cdk().propertyValidator("scale",CfnDashboardAxisScalePropertyValidator)(properties.scale)),errors.wrap('supplied properties not correct for "NumericAxisOptionsProperty"')}function convertCfnDashboardNumericAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardNumericAxisOptionsPropertyValidator(properties).assertSuccess(),{Range:convertCfnDashboardAxisDisplayRangePropertyToCloudFormation(properties.range),Scale:convertCfnDashboardAxisScalePropertyToCloudFormation(properties.scale)}):properties}function CfnDashboardNumericAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("range","Range",properties.Range!=null?CfnDashboardAxisDisplayRangePropertyFromCloudFormation(properties.Range):void 0),ret.addPropertyResult("scale","Scale",properties.Scale!=null?CfnDashboardAxisScalePropertyFromCloudFormation(properties.Scale):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisDataOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateAxisOptions",CfnDashboardDateAxisOptionsPropertyValidator)(properties.dateAxisOptions)),errors.collect(cdk().propertyValidator("numericAxisOptions",CfnDashboardNumericAxisOptionsPropertyValidator)(properties.numericAxisOptions)),errors.wrap('supplied properties not correct for "AxisDataOptionsProperty"')}function convertCfnDashboardAxisDataOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisDataOptionsPropertyValidator(properties).assertSuccess(),{DateAxisOptions:convertCfnDashboardDateAxisOptionsPropertyToCloudFormation(properties.dateAxisOptions),NumericAxisOptions:convertCfnDashboardNumericAxisOptionsPropertyToCloudFormation(properties.numericAxisOptions)}):properties}function CfnDashboardAxisDataOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateAxisOptions","DateAxisOptions",properties.DateAxisOptions!=null?CfnDashboardDateAxisOptionsPropertyFromCloudFormation(properties.DateAxisOptions):void 0),ret.addPropertyResult("numericAxisOptions","NumericAxisOptions",properties.NumericAxisOptions!=null?CfnDashboardNumericAxisOptionsPropertyFromCloudFormation(properties.NumericAxisOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisTickLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("labelOptions",CfnDashboardLabelOptionsPropertyValidator)(properties.labelOptions)),errors.collect(cdk().propertyValidator("rotationAngle",cdk().validateNumber)(properties.rotationAngle)),errors.wrap('supplied properties not correct for "AxisTickLabelOptionsProperty"')}function convertCfnDashboardAxisTickLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisTickLabelOptionsPropertyValidator(properties).assertSuccess(),{LabelOptions:convertCfnDashboardLabelOptionsPropertyToCloudFormation(properties.labelOptions),RotationAngle:cdk().numberToCloudFormation(properties.rotationAngle)}):properties}function CfnDashboardAxisTickLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("labelOptions","LabelOptions",properties.LabelOptions!=null?CfnDashboardLabelOptionsPropertyFromCloudFormation(properties.LabelOptions):void 0),ret.addPropertyResult("rotationAngle","RotationAngle",properties.RotationAngle!=null?cfn_parse().FromCloudFormation.getNumber(properties.RotationAngle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPercentVisibleRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("from",cdk().validateNumber)(properties.from)),errors.collect(cdk().propertyValidator("to",cdk().validateNumber)(properties.to)),errors.wrap('supplied properties not correct for "PercentVisibleRangeProperty"')}function convertCfnDashboardPercentVisibleRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPercentVisibleRangePropertyValidator(properties).assertSuccess(),{From:cdk().numberToCloudFormation(properties.from),To:cdk().numberToCloudFormation(properties.to)}):properties}function CfnDashboardPercentVisibleRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("from","From",properties.From!=null?cfn_parse().FromCloudFormation.getNumber(properties.From):void 0),ret.addPropertyResult("to","To",properties.To!=null?cfn_parse().FromCloudFormation.getNumber(properties.To):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisibleRangeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("percentRange",CfnDashboardPercentVisibleRangePropertyValidator)(properties.percentRange)),errors.wrap('supplied properties not correct for "VisibleRangeOptionsProperty"')}function convertCfnDashboardVisibleRangeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisibleRangeOptionsPropertyValidator(properties).assertSuccess(),{PercentRange:convertCfnDashboardPercentVisibleRangePropertyToCloudFormation(properties.percentRange)}):properties}function CfnDashboardVisibleRangeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("percentRange","PercentRange",properties.PercentRange!=null?CfnDashboardPercentVisibleRangePropertyFromCloudFormation(properties.PercentRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardScrollBarOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("visibleRange",CfnDashboardVisibleRangeOptionsPropertyValidator)(properties.visibleRange)),errors.wrap('supplied properties not correct for "ScrollBarOptionsProperty"')}function convertCfnDashboardScrollBarOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardScrollBarOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility),VisibleRange:convertCfnDashboardVisibleRangeOptionsPropertyToCloudFormation(properties.visibleRange)}):properties}function CfnDashboardScrollBarOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("visibleRange","VisibleRange",properties.VisibleRange!=null?CfnDashboardVisibleRangeOptionsPropertyFromCloudFormation(properties.VisibleRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAxisDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisLineVisibility",cdk().validateString)(properties.axisLineVisibility)),errors.collect(cdk().propertyValidator("axisOffset",cdk().validateString)(properties.axisOffset)),errors.collect(cdk().propertyValidator("dataOptions",CfnDashboardAxisDataOptionsPropertyValidator)(properties.dataOptions)),errors.collect(cdk().propertyValidator("gridLineVisibility",cdk().validateString)(properties.gridLineVisibility)),errors.collect(cdk().propertyValidator("scrollbarOptions",CfnDashboardScrollBarOptionsPropertyValidator)(properties.scrollbarOptions)),errors.collect(cdk().propertyValidator("tickLabelOptions",CfnDashboardAxisTickLabelOptionsPropertyValidator)(properties.tickLabelOptions)),errors.wrap('supplied properties not correct for "AxisDisplayOptionsProperty"')}function convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAxisDisplayOptionsPropertyValidator(properties).assertSuccess(),{AxisLineVisibility:cdk().stringToCloudFormation(properties.axisLineVisibility),AxisOffset:cdk().stringToCloudFormation(properties.axisOffset),DataOptions:convertCfnDashboardAxisDataOptionsPropertyToCloudFormation(properties.dataOptions),GridLineVisibility:cdk().stringToCloudFormation(properties.gridLineVisibility),ScrollbarOptions:convertCfnDashboardScrollBarOptionsPropertyToCloudFormation(properties.scrollbarOptions),TickLabelOptions:convertCfnDashboardAxisTickLabelOptionsPropertyToCloudFormation(properties.tickLabelOptions)}):properties}function CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisLineVisibility","AxisLineVisibility",properties.AxisLineVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AxisLineVisibility):void 0),ret.addPropertyResult("axisOffset","AxisOffset",properties.AxisOffset!=null?cfn_parse().FromCloudFormation.getString(properties.AxisOffset):void 0),ret.addPropertyResult("dataOptions","DataOptions",properties.DataOptions!=null?CfnDashboardAxisDataOptionsPropertyFromCloudFormation(properties.DataOptions):void 0),ret.addPropertyResult("gridLineVisibility","GridLineVisibility",properties.GridLineVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.GridLineVisibility):void 0),ret.addPropertyResult("scrollbarOptions","ScrollbarOptions",properties.ScrollbarOptions!=null?CfnDashboardScrollBarOptionsPropertyFromCloudFormation(properties.ScrollbarOptions):void 0),ret.addPropertyResult("tickLabelOptions","TickLabelOptions",properties.TickLabelOptions!=null?CfnDashboardAxisTickLabelOptionsPropertyFromCloudFormation(properties.TickLabelOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBoxPlotAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "BoxPlotAggregatedFieldWellsProperty"')}function convertCfnDashboardBoxPlotAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBoxPlotAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{GroupBy:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.groupBy),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardBoxPlotAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBoxPlotFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("boxPlotAggregatedFieldWells",CfnDashboardBoxPlotAggregatedFieldWellsPropertyValidator)(properties.boxPlotAggregatedFieldWells)),errors.wrap('supplied properties not correct for "BoxPlotFieldWellsProperty"')}function convertCfnDashboardBoxPlotFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBoxPlotFieldWellsPropertyValidator(properties).assertSuccess(),{BoxPlotAggregatedFieldWells:convertCfnDashboardBoxPlotAggregatedFieldWellsPropertyToCloudFormation(properties.boxPlotAggregatedFieldWells)}):properties}function CfnDashboardBoxPlotFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("boxPlotAggregatedFieldWells","BoxPlotAggregatedFieldWells",properties.BoxPlotAggregatedFieldWells!=null?CfnDashboardBoxPlotAggregatedFieldWellsPropertyFromCloudFormation(properties.BoxPlotAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBoxPlotStyleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fillStyle",cdk().validateString)(properties.fillStyle)),errors.wrap('supplied properties not correct for "BoxPlotStyleOptionsProperty"')}function convertCfnDashboardBoxPlotStyleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBoxPlotStyleOptionsPropertyValidator(properties).assertSuccess(),{FillStyle:cdk().stringToCloudFormation(properties.fillStyle)}):properties}function CfnDashboardBoxPlotStyleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fillStyle","FillStyle",properties.FillStyle!=null?cfn_parse().FromCloudFormation.getString(properties.FillStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBoxPlotOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allDataPointsVisibility",cdk().validateString)(properties.allDataPointsVisibility)),errors.collect(cdk().propertyValidator("outlierVisibility",cdk().validateString)(properties.outlierVisibility)),errors.collect(cdk().propertyValidator("styleOptions",CfnDashboardBoxPlotStyleOptionsPropertyValidator)(properties.styleOptions)),errors.wrap('supplied properties not correct for "BoxPlotOptionsProperty"')}function convertCfnDashboardBoxPlotOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBoxPlotOptionsPropertyValidator(properties).assertSuccess(),{AllDataPointsVisibility:cdk().stringToCloudFormation(properties.allDataPointsVisibility),OutlierVisibility:cdk().stringToCloudFormation(properties.outlierVisibility),StyleOptions:convertCfnDashboardBoxPlotStyleOptionsPropertyToCloudFormation(properties.styleOptions)}):properties}function CfnDashboardBoxPlotOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allDataPointsVisibility","AllDataPointsVisibility",properties.AllDataPointsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AllDataPointsVisibility):void 0),ret.addPropertyResult("outlierVisibility","OutlierVisibility",properties.OutlierVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.OutlierVisibility):void 0),ret.addPropertyResult("styleOptions","StyleOptions",properties.StyleOptions!=null?CfnDashboardBoxPlotStyleOptionsPropertyFromCloudFormation(properties.StyleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBoxPlotChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("boxPlotOptions",CfnDashboardBoxPlotOptionsPropertyValidator)(properties.boxPlotOptions)),errors.collect(cdk().propertyValidator("categoryAxis",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardBoxPlotFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnDashboardReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardBoxPlotSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "BoxPlotChartConfigurationProperty"')}function convertCfnDashboardBoxPlotChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBoxPlotChartConfigurationPropertyValidator(properties).assertSuccess(),{BoxPlotOptions:convertCfnDashboardBoxPlotOptionsPropertyToCloudFormation(properties.boxPlotOptions),CategoryAxis:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),FieldWells:convertCfnDashboardBoxPlotFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),PrimaryYAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),ReferenceLines:cdk().listMapper(convertCfnDashboardReferenceLinePropertyToCloudFormation)(properties.referenceLines),SortConfiguration:convertCfnDashboardBoxPlotSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnDashboardBoxPlotChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("boxPlotOptions","BoxPlotOptions",properties.BoxPlotOptions!=null?CfnDashboardBoxPlotOptionsPropertyFromCloudFormation(properties.BoxPlotOptions):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardBoxPlotFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardBoxPlotSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBoxPlotVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardBoxPlotChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "BoxPlotVisualProperty"')}function convertCfnDashboardBoxPlotVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBoxPlotVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardBoxPlotChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardBoxPlotVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardBoxPlotChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWaterfallChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("breakdownItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.breakdownItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "WaterfallChartSortConfigurationProperty"')}function convertCfnDashboardWaterfallChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWaterfallChartSortConfigurationPropertyValidator(properties).assertSuccess(),{BreakdownItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.breakdownItemsLimit),CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnDashboardWaterfallChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("breakdownItemsLimit","BreakdownItemsLimit",properties.BreakdownItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.BreakdownItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardMaximumLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "MaximumLabelTypeProperty"')}function convertCfnDashboardMaximumLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardMaximumLabelTypePropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardMaximumLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataPathLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "DataPathLabelTypeProperty"')}function convertCfnDashboardDataPathLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataPathLabelTypePropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),FieldValue:cdk().stringToCloudFormation(properties.fieldValue),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardDataPathLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRangeEndsLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "RangeEndsLabelTypeProperty"')}function convertCfnDashboardRangeEndsLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRangeEndsLabelTypePropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardRangeEndsLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFieldLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FieldLabelTypeProperty"')}function convertCfnDashboardFieldLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFieldLabelTypePropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardFieldLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardMinimumLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "MinimumLabelTypeProperty"')}function convertCfnDashboardMinimumLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardMinimumLabelTypePropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardMinimumLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataPathLabelType",CfnDashboardDataPathLabelTypePropertyValidator)(properties.dataPathLabelType)),errors.collect(cdk().propertyValidator("fieldLabelType",CfnDashboardFieldLabelTypePropertyValidator)(properties.fieldLabelType)),errors.collect(cdk().propertyValidator("maximumLabelType",CfnDashboardMaximumLabelTypePropertyValidator)(properties.maximumLabelType)),errors.collect(cdk().propertyValidator("minimumLabelType",CfnDashboardMinimumLabelTypePropertyValidator)(properties.minimumLabelType)),errors.collect(cdk().propertyValidator("rangeEndsLabelType",CfnDashboardRangeEndsLabelTypePropertyValidator)(properties.rangeEndsLabelType)),errors.wrap('supplied properties not correct for "DataLabelTypeProperty"')}function convertCfnDashboardDataLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataLabelTypePropertyValidator(properties).assertSuccess(),{DataPathLabelType:convertCfnDashboardDataPathLabelTypePropertyToCloudFormation(properties.dataPathLabelType),FieldLabelType:convertCfnDashboardFieldLabelTypePropertyToCloudFormation(properties.fieldLabelType),MaximumLabelType:convertCfnDashboardMaximumLabelTypePropertyToCloudFormation(properties.maximumLabelType),MinimumLabelType:convertCfnDashboardMinimumLabelTypePropertyToCloudFormation(properties.minimumLabelType),RangeEndsLabelType:convertCfnDashboardRangeEndsLabelTypePropertyToCloudFormation(properties.rangeEndsLabelType)}):properties}function CfnDashboardDataLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataPathLabelType","DataPathLabelType",properties.DataPathLabelType!=null?CfnDashboardDataPathLabelTypePropertyFromCloudFormation(properties.DataPathLabelType):void 0),ret.addPropertyResult("fieldLabelType","FieldLabelType",properties.FieldLabelType!=null?CfnDashboardFieldLabelTypePropertyFromCloudFormation(properties.FieldLabelType):void 0),ret.addPropertyResult("maximumLabelType","MaximumLabelType",properties.MaximumLabelType!=null?CfnDashboardMaximumLabelTypePropertyFromCloudFormation(properties.MaximumLabelType):void 0),ret.addPropertyResult("minimumLabelType","MinimumLabelType",properties.MinimumLabelType!=null?CfnDashboardMinimumLabelTypePropertyFromCloudFormation(properties.MinimumLabelType):void 0),ret.addPropertyResult("rangeEndsLabelType","RangeEndsLabelType",properties.RangeEndsLabelType!=null?CfnDashboardRangeEndsLabelTypePropertyFromCloudFormation(properties.RangeEndsLabelType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelVisibility",cdk().validateString)(properties.categoryLabelVisibility)),errors.collect(cdk().propertyValidator("dataLabelTypes",cdk().listValidator(CfnDashboardDataLabelTypePropertyValidator))(properties.dataLabelTypes)),errors.collect(cdk().propertyValidator("labelColor",cdk().validateString)(properties.labelColor)),errors.collect(cdk().propertyValidator("labelContent",cdk().validateString)(properties.labelContent)),errors.collect(cdk().propertyValidator("labelFontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.labelFontConfiguration)),errors.collect(cdk().propertyValidator("measureLabelVisibility",cdk().validateString)(properties.measureLabelVisibility)),errors.collect(cdk().propertyValidator("overlap",cdk().validateString)(properties.overlap)),errors.collect(cdk().propertyValidator("position",cdk().validateString)(properties.position)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "DataLabelOptionsProperty"')}function convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataLabelOptionsPropertyValidator(properties).assertSuccess(),{CategoryLabelVisibility:cdk().stringToCloudFormation(properties.categoryLabelVisibility),DataLabelTypes:cdk().listMapper(convertCfnDashboardDataLabelTypePropertyToCloudFormation)(properties.dataLabelTypes),LabelColor:cdk().stringToCloudFormation(properties.labelColor),LabelContent:cdk().stringToCloudFormation(properties.labelContent),LabelFontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.labelFontConfiguration),MeasureLabelVisibility:cdk().stringToCloudFormation(properties.measureLabelVisibility),Overlap:cdk().stringToCloudFormation(properties.overlap),Position:cdk().stringToCloudFormation(properties.position),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelVisibility","CategoryLabelVisibility",properties.CategoryLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryLabelVisibility):void 0),ret.addPropertyResult("dataLabelTypes","DataLabelTypes",properties.DataLabelTypes!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDataLabelTypePropertyFromCloudFormation)(properties.DataLabelTypes):void 0),ret.addPropertyResult("labelColor","LabelColor",properties.LabelColor!=null?cfn_parse().FromCloudFormation.getString(properties.LabelColor):void 0),ret.addPropertyResult("labelContent","LabelContent",properties.LabelContent!=null?cfn_parse().FromCloudFormation.getString(properties.LabelContent):void 0),ret.addPropertyResult("labelFontConfiguration","LabelFontConfiguration",properties.LabelFontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.LabelFontConfiguration):void 0),ret.addPropertyResult("measureLabelVisibility","MeasureLabelVisibility",properties.MeasureLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureLabelVisibility):void 0),ret.addPropertyResult("overlap","Overlap",properties.Overlap!=null?cfn_parse().FromCloudFormation.getString(properties.Overlap):void 0),ret.addPropertyResult("position","Position",properties.Position!=null?cfn_parse().FromCloudFormation.getString(properties.Position):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWaterfallChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("breakdowns",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.breakdowns)),errors.collect(cdk().propertyValidator("categories",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.categories)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "WaterfallChartAggregatedFieldWellsProperty"')}function convertCfnDashboardWaterfallChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWaterfallChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Breakdowns:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.breakdowns),Categories:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.categories),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardWaterfallChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("breakdowns","Breakdowns",properties.Breakdowns!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Breakdowns):void 0),ret.addPropertyResult("categories","Categories",properties.Categories!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Categories):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWaterfallChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("waterfallChartAggregatedFieldWells",CfnDashboardWaterfallChartAggregatedFieldWellsPropertyValidator)(properties.waterfallChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "WaterfallChartFieldWellsProperty"')}function convertCfnDashboardWaterfallChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWaterfallChartFieldWellsPropertyValidator(properties).assertSuccess(),{WaterfallChartAggregatedFieldWells:convertCfnDashboardWaterfallChartAggregatedFieldWellsPropertyToCloudFormation(properties.waterfallChartAggregatedFieldWells)}):properties}function CfnDashboardWaterfallChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("waterfallChartAggregatedFieldWells","WaterfallChartAggregatedFieldWells",properties.WaterfallChartAggregatedFieldWells!=null?CfnDashboardWaterfallChartAggregatedFieldWellsPropertyFromCloudFormation(properties.WaterfallChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWaterfallChartOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("totalBarLabel",cdk().validateString)(properties.totalBarLabel)),errors.wrap('supplied properties not correct for "WaterfallChartOptionsProperty"')}function convertCfnDashboardWaterfallChartOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWaterfallChartOptionsPropertyValidator(properties).assertSuccess(),{TotalBarLabel:cdk().stringToCloudFormation(properties.totalBarLabel)}):properties}function CfnDashboardWaterfallChartOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("totalBarLabel","TotalBarLabel",properties.TotalBarLabel!=null?cfn_parse().FromCloudFormation.getString(properties.TotalBarLabel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWaterfallChartGroupColorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("negativeBarColor",cdk().validateString)(properties.negativeBarColor)),errors.collect(cdk().propertyValidator("positiveBarColor",cdk().validateString)(properties.positiveBarColor)),errors.collect(cdk().propertyValidator("totalBarColor",cdk().validateString)(properties.totalBarColor)),errors.wrap('supplied properties not correct for "WaterfallChartGroupColorConfigurationProperty"')}function convertCfnDashboardWaterfallChartGroupColorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWaterfallChartGroupColorConfigurationPropertyValidator(properties).assertSuccess(),{NegativeBarColor:cdk().stringToCloudFormation(properties.negativeBarColor),PositiveBarColor:cdk().stringToCloudFormation(properties.positiveBarColor),TotalBarColor:cdk().stringToCloudFormation(properties.totalBarColor)}):properties}function CfnDashboardWaterfallChartGroupColorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("negativeBarColor","NegativeBarColor",properties.NegativeBarColor!=null?cfn_parse().FromCloudFormation.getString(properties.NegativeBarColor):void 0),ret.addPropertyResult("positiveBarColor","PositiveBarColor",properties.PositiveBarColor!=null?cfn_parse().FromCloudFormation.getString(properties.PositiveBarColor):void 0),ret.addPropertyResult("totalBarColor","TotalBarColor",properties.TotalBarColor!=null?cfn_parse().FromCloudFormation.getString(properties.TotalBarColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWaterfallChartColorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupColorConfiguration",CfnDashboardWaterfallChartGroupColorConfigurationPropertyValidator)(properties.groupColorConfiguration)),errors.wrap('supplied properties not correct for "WaterfallChartColorConfigurationProperty"')}function convertCfnDashboardWaterfallChartColorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWaterfallChartColorConfigurationPropertyValidator(properties).assertSuccess(),{GroupColorConfiguration:convertCfnDashboardWaterfallChartGroupColorConfigurationPropertyToCloudFormation(properties.groupColorConfiguration)}):properties}function CfnDashboardWaterfallChartColorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupColorConfiguration","GroupColorConfiguration",properties.GroupColorConfiguration!=null?CfnDashboardWaterfallChartGroupColorConfigurationPropertyFromCloudFormation(properties.GroupColorConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWaterfallChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.categoryAxisDisplayOptions)),errors.collect(cdk().propertyValidator("categoryAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.categoryAxisLabelOptions)),errors.collect(cdk().propertyValidator("colorConfiguration",CfnDashboardWaterfallChartColorConfigurationPropertyValidator)(properties.colorConfiguration)),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardWaterfallChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardWaterfallChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("waterfallChartOptions",CfnDashboardWaterfallChartOptionsPropertyValidator)(properties.waterfallChartOptions)),errors.wrap('supplied properties not correct for "WaterfallChartConfigurationProperty"')}function convertCfnDashboardWaterfallChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWaterfallChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxisDisplayOptions),CategoryAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryAxisLabelOptions),ColorConfiguration:convertCfnDashboardWaterfallChartColorConfigurationPropertyToCloudFormation(properties.colorConfiguration),DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnDashboardWaterfallChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),PrimaryYAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),SortConfiguration:convertCfnDashboardWaterfallChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette),WaterfallChartOptions:convertCfnDashboardWaterfallChartOptionsPropertyToCloudFormation(properties.waterfallChartOptions)}):properties}function CfnDashboardWaterfallChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryAxisDisplayOptions","CategoryAxisDisplayOptions",properties.CategoryAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxisDisplayOptions):void 0),ret.addPropertyResult("categoryAxisLabelOptions","CategoryAxisLabelOptions",properties.CategoryAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryAxisLabelOptions):void 0),ret.addPropertyResult("colorConfiguration","ColorConfiguration",properties.ColorConfiguration!=null?CfnDashboardWaterfallChartColorConfigurationPropertyFromCloudFormation(properties.ColorConfiguration):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardWaterfallChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardWaterfallChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("waterfallChartOptions","WaterfallChartOptions",properties.WaterfallChartOptions!=null?CfnDashboardWaterfallChartOptionsPropertyFromCloudFormation(properties.WaterfallChartOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWaterfallVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardWaterfallChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "WaterfallVisualProperty"')}function convertCfnDashboardWaterfallVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWaterfallVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardWaterfallChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardWaterfallVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardWaterfallChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomContentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("contentUrl",cdk().validateString)(properties.contentUrl)),errors.collect(cdk().propertyValidator("imageScaling",cdk().validateString)(properties.imageScaling)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.wrap('supplied properties not correct for "CustomContentConfigurationProperty"')}function convertCfnDashboardCustomContentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomContentConfigurationPropertyValidator(properties).assertSuccess(),{ContentType:cdk().stringToCloudFormation(properties.contentType),ContentUrl:cdk().stringToCloudFormation(properties.contentUrl),ImageScaling:cdk().stringToCloudFormation(properties.imageScaling),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions)}):properties}function CfnDashboardCustomContentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("contentUrl","ContentUrl",properties.ContentUrl!=null?cfn_parse().FromCloudFormation.getString(properties.ContentUrl):void 0),ret.addPropertyResult("imageScaling","ImageScaling",properties.ImageScaling!=null?cfn_parse().FromCloudFormation.getString(properties.ImageScaling):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomContentVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardCustomContentConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "CustomContentVisualProperty"')}function convertCfnDashboardCustomContentVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomContentVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardCustomContentConfigurationPropertyToCloudFormation(properties.chartConfiguration),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardCustomContentVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardCustomContentConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPieChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("smallMultiplesLimitConfiguration",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.smallMultiplesLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.smallMultiplesSort)),errors.wrap('supplied properties not correct for "PieChartSortConfigurationProperty"')}function convertCfnDashboardPieChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPieChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),SmallMultiplesLimitConfiguration:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.smallMultiplesLimitConfiguration),SmallMultiplesSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.smallMultiplesSort)}):properties}function CfnDashboardPieChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("smallMultiplesLimitConfiguration","SmallMultiplesLimitConfiguration",properties.SmallMultiplesLimitConfiguration!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.SmallMultiplesLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesSort","SmallMultiplesSort",properties.SmallMultiplesSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.SmallMultiplesSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardContributionAnalysisDefaultPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contributorDimensions",cdk().requiredValidator)(properties.contributorDimensions)),errors.collect(cdk().propertyValidator("contributorDimensions",cdk().listValidator(CfnDashboardColumnIdentifierPropertyValidator))(properties.contributorDimensions)),errors.collect(cdk().propertyValidator("measureFieldId",cdk().requiredValidator)(properties.measureFieldId)),errors.collect(cdk().propertyValidator("measureFieldId",cdk().validateString)(properties.measureFieldId)),errors.wrap('supplied properties not correct for "ContributionAnalysisDefaultProperty"')}function convertCfnDashboardContributionAnalysisDefaultPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardContributionAnalysisDefaultPropertyValidator(properties).assertSuccess(),{ContributorDimensions:cdk().listMapper(convertCfnDashboardColumnIdentifierPropertyToCloudFormation)(properties.contributorDimensions),MeasureFieldId:cdk().stringToCloudFormation(properties.measureFieldId)}):properties}function CfnDashboardContributionAnalysisDefaultPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contributorDimensions","ContributorDimensions",properties.ContributorDimensions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnIdentifierPropertyFromCloudFormation)(properties.ContributorDimensions):void 0),ret.addPropertyResult("measureFieldId","MeasureFieldId",properties.MeasureFieldId!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureFieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPieChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("smallMultiples",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.smallMultiples)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "PieChartAggregatedFieldWellsProperty"')}function convertCfnDashboardPieChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPieChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.category),SmallMultiples:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.smallMultiples),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardPieChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("smallMultiples","SmallMultiples",properties.SmallMultiples!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.SmallMultiples):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPieChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pieChartAggregatedFieldWells",CfnDashboardPieChartAggregatedFieldWellsPropertyValidator)(properties.pieChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "PieChartFieldWellsProperty"')}function convertCfnDashboardPieChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPieChartFieldWellsPropertyValidator(properties).assertSuccess(),{PieChartAggregatedFieldWells:convertCfnDashboardPieChartAggregatedFieldWellsPropertyToCloudFormation(properties.pieChartAggregatedFieldWells)}):properties}function CfnDashboardPieChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pieChartAggregatedFieldWells","PieChartAggregatedFieldWells",properties.PieChartAggregatedFieldWells!=null?CfnDashboardPieChartAggregatedFieldWellsPropertyFromCloudFormation(properties.PieChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDonutCenterOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("labelVisibility",cdk().validateString)(properties.labelVisibility)),errors.wrap('supplied properties not correct for "DonutCenterOptionsProperty"')}function convertCfnDashboardDonutCenterOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDonutCenterOptionsPropertyValidator(properties).assertSuccess(),{LabelVisibility:cdk().stringToCloudFormation(properties.labelVisibility)}):properties}function CfnDashboardDonutCenterOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("labelVisibility","LabelVisibility",properties.LabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.LabelVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardArcOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcThickness",cdk().validateString)(properties.arcThickness)),errors.wrap('supplied properties not correct for "ArcOptionsProperty"')}function convertCfnDashboardArcOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardArcOptionsPropertyValidator(properties).assertSuccess(),{ArcThickness:cdk().stringToCloudFormation(properties.arcThickness)}):properties}function CfnDashboardArcOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcThickness","ArcThickness",properties.ArcThickness!=null?cfn_parse().FromCloudFormation.getString(properties.ArcThickness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDonutOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcOptions",CfnDashboardArcOptionsPropertyValidator)(properties.arcOptions)),errors.collect(cdk().propertyValidator("donutCenterOptions",CfnDashboardDonutCenterOptionsPropertyValidator)(properties.donutCenterOptions)),errors.wrap('supplied properties not correct for "DonutOptionsProperty"')}function convertCfnDashboardDonutOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDonutOptionsPropertyValidator(properties).assertSuccess(),{ArcOptions:convertCfnDashboardArcOptionsPropertyToCloudFormation(properties.arcOptions),DonutCenterOptions:convertCfnDashboardDonutCenterOptionsPropertyToCloudFormation(properties.donutCenterOptions)}):properties}function CfnDashboardDonutOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcOptions","ArcOptions",properties.ArcOptions!=null?CfnDashboardArcOptionsPropertyFromCloudFormation(properties.ArcOptions):void 0),ret.addPropertyResult("donutCenterOptions","DonutCenterOptions",properties.DonutCenterOptions!=null?CfnDashboardDonutCenterOptionsPropertyFromCloudFormation(properties.DonutCenterOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPanelTitleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("horizontalTextAlignment",cdk().validateString)(properties.horizontalTextAlignment)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "PanelTitleOptionsProperty"')}function convertCfnDashboardPanelTitleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPanelTitleOptionsPropertyValidator(properties).assertSuccess(),{FontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),HorizontalTextAlignment:cdk().stringToCloudFormation(properties.horizontalTextAlignment),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardPanelTitleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("horizontalTextAlignment","HorizontalTextAlignment",properties.HorizontalTextAlignment!=null?cfn_parse().FromCloudFormation.getString(properties.HorizontalTextAlignment):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPanelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("backgroundVisibility",cdk().validateString)(properties.backgroundVisibility)),errors.collect(cdk().propertyValidator("borderColor",cdk().validateString)(properties.borderColor)),errors.collect(cdk().propertyValidator("borderStyle",cdk().validateString)(properties.borderStyle)),errors.collect(cdk().propertyValidator("borderThickness",cdk().validateString)(properties.borderThickness)),errors.collect(cdk().propertyValidator("borderVisibility",cdk().validateString)(properties.borderVisibility)),errors.collect(cdk().propertyValidator("gutterSpacing",cdk().validateString)(properties.gutterSpacing)),errors.collect(cdk().propertyValidator("gutterVisibility",cdk().validateString)(properties.gutterVisibility)),errors.collect(cdk().propertyValidator("title",CfnDashboardPanelTitleOptionsPropertyValidator)(properties.title)),errors.wrap('supplied properties not correct for "PanelConfigurationProperty"')}function convertCfnDashboardPanelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPanelConfigurationPropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),BackgroundVisibility:cdk().stringToCloudFormation(properties.backgroundVisibility),BorderColor:cdk().stringToCloudFormation(properties.borderColor),BorderStyle:cdk().stringToCloudFormation(properties.borderStyle),BorderThickness:cdk().stringToCloudFormation(properties.borderThickness),BorderVisibility:cdk().stringToCloudFormation(properties.borderVisibility),GutterSpacing:cdk().stringToCloudFormation(properties.gutterSpacing),GutterVisibility:cdk().stringToCloudFormation(properties.gutterVisibility),Title:convertCfnDashboardPanelTitleOptionsPropertyToCloudFormation(properties.title)}):properties}function CfnDashboardPanelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("backgroundVisibility","BackgroundVisibility",properties.BackgroundVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundVisibility):void 0),ret.addPropertyResult("borderColor","BorderColor",properties.BorderColor!=null?cfn_parse().FromCloudFormation.getString(properties.BorderColor):void 0),ret.addPropertyResult("borderStyle","BorderStyle",properties.BorderStyle!=null?cfn_parse().FromCloudFormation.getString(properties.BorderStyle):void 0),ret.addPropertyResult("borderThickness","BorderThickness",properties.BorderThickness!=null?cfn_parse().FromCloudFormation.getString(properties.BorderThickness):void 0),ret.addPropertyResult("borderVisibility","BorderVisibility",properties.BorderVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.BorderVisibility):void 0),ret.addPropertyResult("gutterSpacing","GutterSpacing",properties.GutterSpacing!=null?cfn_parse().FromCloudFormation.getString(properties.GutterSpacing):void 0),ret.addPropertyResult("gutterVisibility","GutterVisibility",properties.GutterVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.GutterVisibility):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardPanelTitleOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSmallMultiplesAxisPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("placement",cdk().validateString)(properties.placement)),errors.collect(cdk().propertyValidator("scale",cdk().validateString)(properties.scale)),errors.wrap('supplied properties not correct for "SmallMultiplesAxisPropertiesProperty"')}function convertCfnDashboardSmallMultiplesAxisPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSmallMultiplesAxisPropertiesPropertyValidator(properties).assertSuccess(),{Placement:cdk().stringToCloudFormation(properties.placement),Scale:cdk().stringToCloudFormation(properties.scale)}):properties}function CfnDashboardSmallMultiplesAxisPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("placement","Placement",properties.Placement!=null?cfn_parse().FromCloudFormation.getString(properties.Placement):void 0),ret.addPropertyResult("scale","Scale",properties.Scale!=null?cfn_parse().FromCloudFormation.getString(properties.Scale):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSmallMultiplesOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maxVisibleColumns",cdk().validateNumber)(properties.maxVisibleColumns)),errors.collect(cdk().propertyValidator("maxVisibleRows",cdk().validateNumber)(properties.maxVisibleRows)),errors.collect(cdk().propertyValidator("panelConfiguration",CfnDashboardPanelConfigurationPropertyValidator)(properties.panelConfiguration)),errors.collect(cdk().propertyValidator("xAxis",CfnDashboardSmallMultiplesAxisPropertiesPropertyValidator)(properties.xAxis)),errors.collect(cdk().propertyValidator("yAxis",CfnDashboardSmallMultiplesAxisPropertiesPropertyValidator)(properties.yAxis)),errors.wrap('supplied properties not correct for "SmallMultiplesOptionsProperty"')}function convertCfnDashboardSmallMultiplesOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSmallMultiplesOptionsPropertyValidator(properties).assertSuccess(),{MaxVisibleColumns:cdk().numberToCloudFormation(properties.maxVisibleColumns),MaxVisibleRows:cdk().numberToCloudFormation(properties.maxVisibleRows),PanelConfiguration:convertCfnDashboardPanelConfigurationPropertyToCloudFormation(properties.panelConfiguration),XAxis:convertCfnDashboardSmallMultiplesAxisPropertiesPropertyToCloudFormation(properties.xAxis),YAxis:convertCfnDashboardSmallMultiplesAxisPropertiesPropertyToCloudFormation(properties.yAxis)}):properties}function CfnDashboardSmallMultiplesOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maxVisibleColumns","MaxVisibleColumns",properties.MaxVisibleColumns!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxVisibleColumns):void 0),ret.addPropertyResult("maxVisibleRows","MaxVisibleRows",properties.MaxVisibleRows!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxVisibleRows):void 0),ret.addPropertyResult("panelConfiguration","PanelConfiguration",properties.PanelConfiguration!=null?CfnDashboardPanelConfigurationPropertyFromCloudFormation(properties.PanelConfiguration):void 0),ret.addPropertyResult("xAxis","XAxis",properties.XAxis!=null?CfnDashboardSmallMultiplesAxisPropertiesPropertyFromCloudFormation(properties.XAxis):void 0),ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?CfnDashboardSmallMultiplesAxisPropertiesPropertyFromCloudFormation(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPieChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("contributionAnalysisDefaults",cdk().listValidator(CfnDashboardContributionAnalysisDefaultPropertyValidator))(properties.contributionAnalysisDefaults)),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("donutOptions",CfnDashboardDonutOptionsPropertyValidator)(properties.donutOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardPieChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("smallMultiplesOptions",CfnDashboardSmallMultiplesOptionsPropertyValidator)(properties.smallMultiplesOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardPieChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("valueLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.valueLabelOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "PieChartConfigurationProperty"')}function convertCfnDashboardPieChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPieChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ContributionAnalysisDefaults:cdk().listMapper(convertCfnDashboardContributionAnalysisDefaultPropertyToCloudFormation)(properties.contributionAnalysisDefaults),DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),DonutOptions:convertCfnDashboardDonutOptionsPropertyToCloudFormation(properties.donutOptions),FieldWells:convertCfnDashboardPieChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),SmallMultiplesOptions:convertCfnDashboardSmallMultiplesOptionsPropertyToCloudFormation(properties.smallMultiplesOptions),SortConfiguration:convertCfnDashboardPieChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),ValueLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.valueLabelOptions),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnDashboardPieChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("contributionAnalysisDefaults","ContributionAnalysisDefaults",properties.ContributionAnalysisDefaults!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardContributionAnalysisDefaultPropertyFromCloudFormation)(properties.ContributionAnalysisDefaults):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("donutOptions","DonutOptions",properties.DonutOptions!=null?CfnDashboardDonutOptionsPropertyFromCloudFormation(properties.DonutOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardPieChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("smallMultiplesOptions","SmallMultiplesOptions",properties.SmallMultiplesOptions!=null?CfnDashboardSmallMultiplesOptionsPropertyFromCloudFormation(properties.SmallMultiplesOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardPieChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("valueLabelOptions","ValueLabelOptions",properties.ValueLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.ValueLabelOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPieChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardPieChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "PieChartVisualProperty"')}function convertCfnDashboardPieChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPieChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardPieChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardPieChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardPieChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardConditionalFormattingIconDisplayConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("iconDisplayOption",cdk().validateString)(properties.iconDisplayOption)),errors.wrap('supplied properties not correct for "ConditionalFormattingIconDisplayConfigurationProperty"')}function convertCfnDashboardConditionalFormattingIconDisplayConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardConditionalFormattingIconDisplayConfigurationPropertyValidator(properties).assertSuccess(),{IconDisplayOption:cdk().stringToCloudFormation(properties.iconDisplayOption)}):properties}function CfnDashboardConditionalFormattingIconDisplayConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("iconDisplayOption","IconDisplayOption",properties.IconDisplayOption!=null?cfn_parse().FromCloudFormation.getString(properties.IconDisplayOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardConditionalFormattingCustomIconOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",cdk().validateString)(properties.icon)),errors.collect(cdk().propertyValidator("unicodeIcon",cdk().validateString)(properties.unicodeIcon)),errors.wrap('supplied properties not correct for "ConditionalFormattingCustomIconOptionsProperty"')}function convertCfnDashboardConditionalFormattingCustomIconOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardConditionalFormattingCustomIconOptionsPropertyValidator(properties).assertSuccess(),{Icon:cdk().stringToCloudFormation(properties.icon),UnicodeIcon:cdk().stringToCloudFormation(properties.unicodeIcon)}):properties}function CfnDashboardConditionalFormattingCustomIconOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?cfn_parse().FromCloudFormation.getString(properties.Icon):void 0),ret.addPropertyResult("unicodeIcon","UnicodeIcon",properties.UnicodeIcon!=null?cfn_parse().FromCloudFormation.getString(properties.UnicodeIcon):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardConditionalFormattingCustomIconConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("displayConfiguration",CfnDashboardConditionalFormattingIconDisplayConfigurationPropertyValidator)(properties.displayConfiguration)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("iconOptions",cdk().requiredValidator)(properties.iconOptions)),errors.collect(cdk().propertyValidator("iconOptions",CfnDashboardConditionalFormattingCustomIconOptionsPropertyValidator)(properties.iconOptions)),errors.wrap('supplied properties not correct for "ConditionalFormattingCustomIconConditionProperty"')}function convertCfnDashboardConditionalFormattingCustomIconConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardConditionalFormattingCustomIconConditionPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DisplayConfiguration:convertCfnDashboardConditionalFormattingIconDisplayConfigurationPropertyToCloudFormation(properties.displayConfiguration),Expression:cdk().stringToCloudFormation(properties.expression),IconOptions:convertCfnDashboardConditionalFormattingCustomIconOptionsPropertyToCloudFormation(properties.iconOptions)}):properties}function CfnDashboardConditionalFormattingCustomIconConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("displayConfiguration","DisplayConfiguration",properties.DisplayConfiguration!=null?CfnDashboardConditionalFormattingIconDisplayConfigurationPropertyFromCloudFormation(properties.DisplayConfiguration):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("iconOptions","IconOptions",properties.IconOptions!=null?CfnDashboardConditionalFormattingCustomIconOptionsPropertyFromCloudFormation(properties.IconOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardConditionalFormattingIconSetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("iconSetType",cdk().validateString)(properties.iconSetType)),errors.wrap('supplied properties not correct for "ConditionalFormattingIconSetProperty"')}function convertCfnDashboardConditionalFormattingIconSetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardConditionalFormattingIconSetPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),IconSetType:cdk().stringToCloudFormation(properties.iconSetType)}):properties}function CfnDashboardConditionalFormattingIconSetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("iconSetType","IconSetType",properties.IconSetType!=null?cfn_parse().FromCloudFormation.getString(properties.IconSetType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardConditionalFormattingIconPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customCondition",CfnDashboardConditionalFormattingCustomIconConditionPropertyValidator)(properties.customCondition)),errors.collect(cdk().propertyValidator("iconSet",CfnDashboardConditionalFormattingIconSetPropertyValidator)(properties.iconSet)),errors.wrap('supplied properties not correct for "ConditionalFormattingIconProperty"')}function convertCfnDashboardConditionalFormattingIconPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardConditionalFormattingIconPropertyValidator(properties).assertSuccess(),{CustomCondition:convertCfnDashboardConditionalFormattingCustomIconConditionPropertyToCloudFormation(properties.customCondition),IconSet:convertCfnDashboardConditionalFormattingIconSetPropertyToCloudFormation(properties.iconSet)}):properties}function CfnDashboardConditionalFormattingIconPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customCondition","CustomCondition",properties.CustomCondition!=null?CfnDashboardConditionalFormattingCustomIconConditionPropertyFromCloudFormation(properties.CustomCondition):void 0),ret.addPropertyResult("iconSet","IconSet",properties.IconSet!=null?CfnDashboardConditionalFormattingIconSetPropertyFromCloudFormation(properties.IconSet):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIPrimaryValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnDashboardConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "KPIPrimaryValueConditionalFormattingProperty"')}function convertCfnDashboardKPIPrimaryValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIPrimaryValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnDashboardConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnDashboardKPIPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnDashboardConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIActualValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnDashboardConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "KPIActualValueConditionalFormattingProperty"')}function convertCfnDashboardKPIActualValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIActualValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnDashboardConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnDashboardKPIActualValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnDashboardConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIComparisonValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnDashboardConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "KPIComparisonValueConditionalFormattingProperty"')}function convertCfnDashboardKPIComparisonValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIComparisonValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnDashboardConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnDashboardKPIComparisonValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnDashboardConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIProgressBarConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("foregroundColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.foregroundColor)),errors.wrap('supplied properties not correct for "KPIProgressBarConditionalFormattingProperty"')}function convertCfnDashboardKPIProgressBarConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIProgressBarConditionalFormattingPropertyValidator(properties).assertSuccess(),{ForegroundColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.foregroundColor)}):properties}function CfnDashboardKPIProgressBarConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("foregroundColor","ForegroundColor",properties.ForegroundColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.ForegroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actualValue",CfnDashboardKPIActualValueConditionalFormattingPropertyValidator)(properties.actualValue)),errors.collect(cdk().propertyValidator("comparisonValue",CfnDashboardKPIComparisonValueConditionalFormattingPropertyValidator)(properties.comparisonValue)),errors.collect(cdk().propertyValidator("primaryValue",CfnDashboardKPIPrimaryValueConditionalFormattingPropertyValidator)(properties.primaryValue)),errors.collect(cdk().propertyValidator("progressBar",CfnDashboardKPIProgressBarConditionalFormattingPropertyValidator)(properties.progressBar)),errors.wrap('supplied properties not correct for "KPIConditionalFormattingOptionProperty"')}function convertCfnDashboardKPIConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{ActualValue:convertCfnDashboardKPIActualValueConditionalFormattingPropertyToCloudFormation(properties.actualValue),ComparisonValue:convertCfnDashboardKPIComparisonValueConditionalFormattingPropertyToCloudFormation(properties.comparisonValue),PrimaryValue:convertCfnDashboardKPIPrimaryValueConditionalFormattingPropertyToCloudFormation(properties.primaryValue),ProgressBar:convertCfnDashboardKPIProgressBarConditionalFormattingPropertyToCloudFormation(properties.progressBar)}):properties}function CfnDashboardKPIConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actualValue","ActualValue",properties.ActualValue!=null?CfnDashboardKPIActualValueConditionalFormattingPropertyFromCloudFormation(properties.ActualValue):void 0),ret.addPropertyResult("comparisonValue","ComparisonValue",properties.ComparisonValue!=null?CfnDashboardKPIComparisonValueConditionalFormattingPropertyFromCloudFormation(properties.ComparisonValue):void 0),ret.addPropertyResult("primaryValue","PrimaryValue",properties.PrimaryValue!=null?CfnDashboardKPIPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties.PrimaryValue):void 0),ret.addPropertyResult("progressBar","ProgressBar",properties.ProgressBar!=null?CfnDashboardKPIProgressBarConditionalFormattingPropertyFromCloudFormation(properties.ProgressBar):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnDashboardKPIConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "KPIConditionalFormattingProperty"')}function convertCfnDashboardKPIConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnDashboardKPIConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnDashboardKPIConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardKPIConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPISortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("trendGroupSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.trendGroupSort)),errors.wrap('supplied properties not correct for "KPISortConfigurationProperty"')}function convertCfnDashboardKPISortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPISortConfigurationPropertyValidator(properties).assertSuccess(),{TrendGroupSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.trendGroupSort)}):properties}function CfnDashboardKPISortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("trendGroupSort","TrendGroupSort",properties.TrendGroupSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.TrendGroupSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIVisualStandardLayoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "KPIVisualStandardLayoutProperty"')}function convertCfnDashboardKPIVisualStandardLayoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIVisualStandardLayoutPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardKPIVisualStandardLayoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIVisualLayoutOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("standardLayout",CfnDashboardKPIVisualStandardLayoutPropertyValidator)(properties.standardLayout)),errors.wrap('supplied properties not correct for "KPIVisualLayoutOptionsProperty"')}function convertCfnDashboardKPIVisualLayoutOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIVisualLayoutOptionsPropertyValidator(properties).assertSuccess(),{StandardLayout:convertCfnDashboardKPIVisualStandardLayoutPropertyToCloudFormation(properties.standardLayout)}):properties}function CfnDashboardKPIVisualLayoutOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("standardLayout","StandardLayout",properties.StandardLayout!=null?CfnDashboardKPIVisualStandardLayoutPropertyFromCloudFormation(properties.StandardLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTrendArrowOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "TrendArrowOptionsProperty"')}function convertCfnDashboardTrendArrowOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTrendArrowOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardTrendArrowOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSecondaryValueOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SecondaryValueOptionsProperty"')}function convertCfnDashboardSecondaryValueOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSecondaryValueOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardSecondaryValueOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardComparisonFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("numberDisplayFormatConfiguration",CfnDashboardNumberDisplayFormatConfigurationPropertyValidator)(properties.numberDisplayFormatConfiguration)),errors.collect(cdk().propertyValidator("percentageDisplayFormatConfiguration",CfnDashboardPercentageDisplayFormatConfigurationPropertyValidator)(properties.percentageDisplayFormatConfiguration)),errors.wrap('supplied properties not correct for "ComparisonFormatConfigurationProperty"')}function convertCfnDashboardComparisonFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardComparisonFormatConfigurationPropertyValidator(properties).assertSuccess(),{NumberDisplayFormatConfiguration:convertCfnDashboardNumberDisplayFormatConfigurationPropertyToCloudFormation(properties.numberDisplayFormatConfiguration),PercentageDisplayFormatConfiguration:convertCfnDashboardPercentageDisplayFormatConfigurationPropertyToCloudFormation(properties.percentageDisplayFormatConfiguration)}):properties}function CfnDashboardComparisonFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("numberDisplayFormatConfiguration","NumberDisplayFormatConfiguration",properties.NumberDisplayFormatConfiguration!=null?CfnDashboardNumberDisplayFormatConfigurationPropertyFromCloudFormation(properties.NumberDisplayFormatConfiguration):void 0),ret.addPropertyResult("percentageDisplayFormatConfiguration","PercentageDisplayFormatConfiguration",properties.PercentageDisplayFormatConfiguration!=null?CfnDashboardPercentageDisplayFormatConfigurationPropertyFromCloudFormation(properties.PercentageDisplayFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardComparisonConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comparisonFormat",CfnDashboardComparisonFormatConfigurationPropertyValidator)(properties.comparisonFormat)),errors.collect(cdk().propertyValidator("comparisonMethod",cdk().validateString)(properties.comparisonMethod)),errors.wrap('supplied properties not correct for "ComparisonConfigurationProperty"')}function convertCfnDashboardComparisonConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardComparisonConfigurationPropertyValidator(properties).assertSuccess(),{ComparisonFormat:convertCfnDashboardComparisonFormatConfigurationPropertyToCloudFormation(properties.comparisonFormat),ComparisonMethod:cdk().stringToCloudFormation(properties.comparisonMethod)}):properties}function CfnDashboardComparisonConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comparisonFormat","ComparisonFormat",properties.ComparisonFormat!=null?CfnDashboardComparisonFormatConfigurationPropertyFromCloudFormation(properties.ComparisonFormat):void 0),ret.addPropertyResult("comparisonMethod","ComparisonMethod",properties.ComparisonMethod!=null?cfn_parse().FromCloudFormation.getString(properties.ComparisonMethod):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardProgressBarOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ProgressBarOptionsProperty"')}function convertCfnDashboardProgressBarOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardProgressBarOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardProgressBarOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPISparklineOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("tooltipVisibility",cdk().validateString)(properties.tooltipVisibility)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "KPISparklineOptionsProperty"')}function convertCfnDashboardKPISparklineOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPISparklineOptionsPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),TooltipVisibility:cdk().stringToCloudFormation(properties.tooltipVisibility),Type:cdk().stringToCloudFormation(properties.type),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardKPISparklineOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("tooltipVisibility","TooltipVisibility",properties.TooltipVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipVisibility):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comparison",CfnDashboardComparisonConfigurationPropertyValidator)(properties.comparison)),errors.collect(cdk().propertyValidator("primaryValueDisplayType",cdk().validateString)(properties.primaryValueDisplayType)),errors.collect(cdk().propertyValidator("primaryValueFontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.primaryValueFontConfiguration)),errors.collect(cdk().propertyValidator("progressBar",CfnDashboardProgressBarOptionsPropertyValidator)(properties.progressBar)),errors.collect(cdk().propertyValidator("secondaryValue",CfnDashboardSecondaryValueOptionsPropertyValidator)(properties.secondaryValue)),errors.collect(cdk().propertyValidator("secondaryValueFontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.secondaryValueFontConfiguration)),errors.collect(cdk().propertyValidator("sparkline",CfnDashboardKPISparklineOptionsPropertyValidator)(properties.sparkline)),errors.collect(cdk().propertyValidator("trendArrows",CfnDashboardTrendArrowOptionsPropertyValidator)(properties.trendArrows)),errors.collect(cdk().propertyValidator("visualLayoutOptions",CfnDashboardKPIVisualLayoutOptionsPropertyValidator)(properties.visualLayoutOptions)),errors.wrap('supplied properties not correct for "KPIOptionsProperty"')}function convertCfnDashboardKPIOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIOptionsPropertyValidator(properties).assertSuccess(),{Comparison:convertCfnDashboardComparisonConfigurationPropertyToCloudFormation(properties.comparison),PrimaryValueDisplayType:cdk().stringToCloudFormation(properties.primaryValueDisplayType),PrimaryValueFontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.primaryValueFontConfiguration),ProgressBar:convertCfnDashboardProgressBarOptionsPropertyToCloudFormation(properties.progressBar),SecondaryValue:convertCfnDashboardSecondaryValueOptionsPropertyToCloudFormation(properties.secondaryValue),SecondaryValueFontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.secondaryValueFontConfiguration),Sparkline:convertCfnDashboardKPISparklineOptionsPropertyToCloudFormation(properties.sparkline),TrendArrows:convertCfnDashboardTrendArrowOptionsPropertyToCloudFormation(properties.trendArrows),VisualLayoutOptions:convertCfnDashboardKPIVisualLayoutOptionsPropertyToCloudFormation(properties.visualLayoutOptions)}):properties}function CfnDashboardKPIOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comparison","Comparison",properties.Comparison!=null?CfnDashboardComparisonConfigurationPropertyFromCloudFormation(properties.Comparison):void 0),ret.addPropertyResult("primaryValueDisplayType","PrimaryValueDisplayType",properties.PrimaryValueDisplayType!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryValueDisplayType):void 0),ret.addPropertyResult("primaryValueFontConfiguration","PrimaryValueFontConfiguration",properties.PrimaryValueFontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.PrimaryValueFontConfiguration):void 0),ret.addPropertyResult("progressBar","ProgressBar",properties.ProgressBar!=null?CfnDashboardProgressBarOptionsPropertyFromCloudFormation(properties.ProgressBar):void 0),ret.addPropertyResult("secondaryValue","SecondaryValue",properties.SecondaryValue!=null?CfnDashboardSecondaryValueOptionsPropertyFromCloudFormation(properties.SecondaryValue):void 0),ret.addPropertyResult("secondaryValueFontConfiguration","SecondaryValueFontConfiguration",properties.SecondaryValueFontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.SecondaryValueFontConfiguration):void 0),ret.addPropertyResult("sparkline","Sparkline",properties.Sparkline!=null?CfnDashboardKPISparklineOptionsPropertyFromCloudFormation(properties.Sparkline):void 0),ret.addPropertyResult("trendArrows","TrendArrows",properties.TrendArrows!=null?CfnDashboardTrendArrowOptionsPropertyFromCloudFormation(properties.TrendArrows):void 0),ret.addPropertyResult("visualLayoutOptions","VisualLayoutOptions",properties.VisualLayoutOptions!=null?CfnDashboardKPIVisualLayoutOptionsPropertyFromCloudFormation(properties.VisualLayoutOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetValues",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.targetValues)),errors.collect(cdk().propertyValidator("trendGroups",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.trendGroups)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "KPIFieldWellsProperty"')}function convertCfnDashboardKPIFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIFieldWellsPropertyValidator(properties).assertSuccess(),{TargetValues:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.targetValues),TrendGroups:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.trendGroups),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardKPIFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetValues","TargetValues",properties.TargetValues!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.TargetValues):void 0),ret.addPropertyResult("trendGroups","TrendGroups",properties.TrendGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.TrendGroups):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardKPIFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("kpiOptions",CfnDashboardKPIOptionsPropertyValidator)(properties.kpiOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardKPISortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.wrap('supplied properties not correct for "KPIConfigurationProperty"')}function convertCfnDashboardKPIConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:convertCfnDashboardKPIFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),KPIOptions:convertCfnDashboardKPIOptionsPropertyToCloudFormation(properties.kpiOptions),SortConfiguration:convertCfnDashboardKPISortConfigurationPropertyToCloudFormation(properties.sortConfiguration)}):properties}function CfnDashboardKPIConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardKPIFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("kpiOptions","KPIOptions",properties.KPIOptions!=null?CfnDashboardKPIOptionsPropertyFromCloudFormation(properties.KPIOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardKPISortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardKPIVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardKPIConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnDashboardKPIConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "KPIVisualProperty"')}function convertCfnDashboardKPIVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardKPIVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardKPIConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),ConditionalFormatting:convertCfnDashboardKPIConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardKPIVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardKPIConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnDashboardKPIConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBinWidthOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("binCountLimit",cdk().validateNumber)(properties.binCountLimit)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "BinWidthOptionsProperty"')}function convertCfnDashboardBinWidthOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBinWidthOptionsPropertyValidator(properties).assertSuccess(),{BinCountLimit:cdk().numberToCloudFormation(properties.binCountLimit),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnDashboardBinWidthOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("binCountLimit","BinCountLimit",properties.BinCountLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.BinCountLimit):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBinCountOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "BinCountOptionsProperty"')}function convertCfnDashboardBinCountOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBinCountOptionsPropertyValidator(properties).assertSuccess(),{Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnDashboardBinCountOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHistogramBinOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("binCount",CfnDashboardBinCountOptionsPropertyValidator)(properties.binCount)),errors.collect(cdk().propertyValidator("binWidth",CfnDashboardBinWidthOptionsPropertyValidator)(properties.binWidth)),errors.collect(cdk().propertyValidator("selectedBinType",cdk().validateString)(properties.selectedBinType)),errors.collect(cdk().propertyValidator("startValue",cdk().validateNumber)(properties.startValue)),errors.wrap('supplied properties not correct for "HistogramBinOptionsProperty"')}function convertCfnDashboardHistogramBinOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHistogramBinOptionsPropertyValidator(properties).assertSuccess(),{BinCount:convertCfnDashboardBinCountOptionsPropertyToCloudFormation(properties.binCount),BinWidth:convertCfnDashboardBinWidthOptionsPropertyToCloudFormation(properties.binWidth),SelectedBinType:cdk().stringToCloudFormation(properties.selectedBinType),StartValue:cdk().numberToCloudFormation(properties.startValue)}):properties}function CfnDashboardHistogramBinOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("binCount","BinCount",properties.BinCount!=null?CfnDashboardBinCountOptionsPropertyFromCloudFormation(properties.BinCount):void 0),ret.addPropertyResult("binWidth","BinWidth",properties.BinWidth!=null?CfnDashboardBinWidthOptionsPropertyFromCloudFormation(properties.BinWidth):void 0),ret.addPropertyResult("selectedBinType","SelectedBinType",properties.SelectedBinType!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedBinType):void 0),ret.addPropertyResult("startValue","StartValue",properties.StartValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHistogramAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "HistogramAggregatedFieldWellsProperty"')}function convertCfnDashboardHistogramAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHistogramAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardHistogramAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHistogramFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("histogramAggregatedFieldWells",CfnDashboardHistogramAggregatedFieldWellsPropertyValidator)(properties.histogramAggregatedFieldWells)),errors.wrap('supplied properties not correct for "HistogramFieldWellsProperty"')}function convertCfnDashboardHistogramFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHistogramFieldWellsPropertyValidator(properties).assertSuccess(),{HistogramAggregatedFieldWells:convertCfnDashboardHistogramAggregatedFieldWellsPropertyToCloudFormation(properties.histogramAggregatedFieldWells)}):properties}function CfnDashboardHistogramFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("histogramAggregatedFieldWells","HistogramAggregatedFieldWells",properties.HistogramAggregatedFieldWells!=null?CfnDashboardHistogramAggregatedFieldWellsPropertyFromCloudFormation(properties.HistogramAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHistogramConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("binOptions",CfnDashboardHistogramBinOptionsPropertyValidator)(properties.binOptions)),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardHistogramFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("xAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.xAxisDisplayOptions)),errors.collect(cdk().propertyValidator("xAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.xAxisLabelOptions)),errors.collect(cdk().propertyValidator("yAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.yAxisDisplayOptions)),errors.wrap('supplied properties not correct for "HistogramConfigurationProperty"')}function convertCfnDashboardHistogramConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHistogramConfigurationPropertyValidator(properties).assertSuccess(),{BinOptions:convertCfnDashboardHistogramBinOptionsPropertyToCloudFormation(properties.binOptions),DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnDashboardHistogramFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette),XAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.xAxisDisplayOptions),XAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.xAxisLabelOptions),YAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.yAxisDisplayOptions)}):properties}function CfnDashboardHistogramConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("binOptions","BinOptions",properties.BinOptions!=null?CfnDashboardHistogramBinOptionsPropertyFromCloudFormation(properties.BinOptions):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardHistogramFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("xAxisDisplayOptions","XAxisDisplayOptions",properties.XAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.XAxisDisplayOptions):void 0),ret.addPropertyResult("xAxisLabelOptions","XAxisLabelOptions",properties.XAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.XAxisLabelOptions):void 0),ret.addPropertyResult("yAxisDisplayOptions","YAxisDisplayOptions",properties.YAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.YAxisDisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHistogramVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardHistogramConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "HistogramVisualProperty"')}function convertCfnDashboardHistogramVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHistogramVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardHistogramConfigurationPropertyToCloudFormation(properties.chartConfiguration),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardHistogramVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardHistogramConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableRowConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("textColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "TableRowConditionalFormattingProperty"')}function convertCfnDashboardTableRowConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableRowConditionalFormattingPropertyValidator(properties).assertSuccess(),{BackgroundColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.backgroundColor),TextColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnDashboardTableRowConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.BackgroundColor):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTextConditionalFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("icon",CfnDashboardConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "TextConditionalFormatProperty"')}function convertCfnDashboardTextConditionalFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTextConditionalFormatPropertyValidator(properties).assertSuccess(),{BackgroundColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.backgroundColor),Icon:convertCfnDashboardConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnDashboardTextConditionalFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.BackgroundColor):void 0),ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnDashboardConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableCellConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("textFormat",CfnDashboardTextConditionalFormatPropertyValidator)(properties.textFormat)),errors.wrap('supplied properties not correct for "TableCellConditionalFormattingProperty"')}function convertCfnDashboardTableCellConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableCellConditionalFormattingPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),TextFormat:convertCfnDashboardTextConditionalFormatPropertyToCloudFormation(properties.textFormat)}):properties}function CfnDashboardTableCellConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("textFormat","TextFormat",properties.TextFormat!=null?CfnDashboardTextConditionalFormatPropertyFromCloudFormation(properties.TextFormat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cell",CfnDashboardTableCellConditionalFormattingPropertyValidator)(properties.cell)),errors.collect(cdk().propertyValidator("row",CfnDashboardTableRowConditionalFormattingPropertyValidator)(properties.row)),errors.wrap('supplied properties not correct for "TableConditionalFormattingOptionProperty"')}function convertCfnDashboardTableConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Cell:convertCfnDashboardTableCellConditionalFormattingPropertyToCloudFormation(properties.cell),Row:convertCfnDashboardTableRowConditionalFormattingPropertyToCloudFormation(properties.row)}):properties}function CfnDashboardTableConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cell","Cell",properties.Cell!=null?CfnDashboardTableCellConditionalFormattingPropertyFromCloudFormation(properties.Cell):void 0),ret.addPropertyResult("row","Row",properties.Row!=null?CfnDashboardTableRowConditionalFormattingPropertyFromCloudFormation(properties.Row):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnDashboardTableConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "TableConditionalFormattingProperty"')}function convertCfnDashboardTableConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnDashboardTableConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnDashboardTableConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardTableConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("paginationConfiguration",CfnDashboardPaginationConfigurationPropertyValidator)(properties.paginationConfiguration)),errors.collect(cdk().propertyValidator("rowSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.rowSort)),errors.wrap('supplied properties not correct for "TableSortConfigurationProperty"')}function convertCfnDashboardTableSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableSortConfigurationPropertyValidator(properties).assertSuccess(),{PaginationConfiguration:convertCfnDashboardPaginationConfigurationPropertyToCloudFormation(properties.paginationConfiguration),RowSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.rowSort)}):properties}function CfnDashboardTableSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("paginationConfiguration","PaginationConfiguration",properties.PaginationConfiguration!=null?CfnDashboardPaginationConfigurationPropertyFromCloudFormation(properties.PaginationConfiguration):void 0),ret.addPropertyResult("rowSort","RowSort",properties.RowSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.RowSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTablePaginatedReportOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("overflowColumnHeaderVisibility",cdk().validateString)(properties.overflowColumnHeaderVisibility)),errors.collect(cdk().propertyValidator("verticalOverflowVisibility",cdk().validateString)(properties.verticalOverflowVisibility)),errors.wrap('supplied properties not correct for "TablePaginatedReportOptionsProperty"')}function convertCfnDashboardTablePaginatedReportOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTablePaginatedReportOptionsPropertyValidator(properties).assertSuccess(),{OverflowColumnHeaderVisibility:cdk().stringToCloudFormation(properties.overflowColumnHeaderVisibility),VerticalOverflowVisibility:cdk().stringToCloudFormation(properties.verticalOverflowVisibility)}):properties}function CfnDashboardTablePaginatedReportOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("overflowColumnHeaderVisibility","OverflowColumnHeaderVisibility",properties.OverflowColumnHeaderVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.OverflowColumnHeaderVisibility):void 0),ret.addPropertyResult("verticalOverflowVisibility","VerticalOverflowVisibility",properties.VerticalOverflowVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalOverflowVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableBorderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("style",cdk().validateString)(properties.style)),errors.collect(cdk().propertyValidator("thickness",cdk().validateNumber)(properties.thickness)),errors.wrap('supplied properties not correct for "TableBorderOptionsProperty"')}function convertCfnDashboardTableBorderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableBorderOptionsPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Style:cdk().stringToCloudFormation(properties.style),Thickness:cdk().numberToCloudFormation(properties.thickness)}):properties}function CfnDashboardTableBorderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("style","Style",properties.Style!=null?cfn_parse().FromCloudFormation.getString(properties.Style):void 0),ret.addPropertyResult("thickness","Thickness",properties.Thickness!=null?cfn_parse().FromCloudFormation.getNumber(properties.Thickness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableSideBorderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bottom",CfnDashboardTableBorderOptionsPropertyValidator)(properties.bottom)),errors.collect(cdk().propertyValidator("innerHorizontal",CfnDashboardTableBorderOptionsPropertyValidator)(properties.innerHorizontal)),errors.collect(cdk().propertyValidator("innerVertical",CfnDashboardTableBorderOptionsPropertyValidator)(properties.innerVertical)),errors.collect(cdk().propertyValidator("left",CfnDashboardTableBorderOptionsPropertyValidator)(properties.left)),errors.collect(cdk().propertyValidator("right",CfnDashboardTableBorderOptionsPropertyValidator)(properties.right)),errors.collect(cdk().propertyValidator("top",CfnDashboardTableBorderOptionsPropertyValidator)(properties.top)),errors.wrap('supplied properties not correct for "TableSideBorderOptionsProperty"')}function convertCfnDashboardTableSideBorderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableSideBorderOptionsPropertyValidator(properties).assertSuccess(),{Bottom:convertCfnDashboardTableBorderOptionsPropertyToCloudFormation(properties.bottom),InnerHorizontal:convertCfnDashboardTableBorderOptionsPropertyToCloudFormation(properties.innerHorizontal),InnerVertical:convertCfnDashboardTableBorderOptionsPropertyToCloudFormation(properties.innerVertical),Left:convertCfnDashboardTableBorderOptionsPropertyToCloudFormation(properties.left),Right:convertCfnDashboardTableBorderOptionsPropertyToCloudFormation(properties.right),Top:convertCfnDashboardTableBorderOptionsPropertyToCloudFormation(properties.top)}):properties}function CfnDashboardTableSideBorderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bottom","Bottom",properties.Bottom!=null?CfnDashboardTableBorderOptionsPropertyFromCloudFormation(properties.Bottom):void 0),ret.addPropertyResult("innerHorizontal","InnerHorizontal",properties.InnerHorizontal!=null?CfnDashboardTableBorderOptionsPropertyFromCloudFormation(properties.InnerHorizontal):void 0),ret.addPropertyResult("innerVertical","InnerVertical",properties.InnerVertical!=null?CfnDashboardTableBorderOptionsPropertyFromCloudFormation(properties.InnerVertical):void 0),ret.addPropertyResult("left","Left",properties.Left!=null?CfnDashboardTableBorderOptionsPropertyFromCloudFormation(properties.Left):void 0),ret.addPropertyResult("right","Right",properties.Right!=null?CfnDashboardTableBorderOptionsPropertyFromCloudFormation(properties.Right):void 0),ret.addPropertyResult("top","Top",properties.Top!=null?CfnDashboardTableBorderOptionsPropertyFromCloudFormation(properties.Top):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGlobalTableBorderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sideSpecificBorder",CfnDashboardTableSideBorderOptionsPropertyValidator)(properties.sideSpecificBorder)),errors.collect(cdk().propertyValidator("uniformBorder",CfnDashboardTableBorderOptionsPropertyValidator)(properties.uniformBorder)),errors.wrap('supplied properties not correct for "GlobalTableBorderOptionsProperty"')}function convertCfnDashboardGlobalTableBorderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGlobalTableBorderOptionsPropertyValidator(properties).assertSuccess(),{SideSpecificBorder:convertCfnDashboardTableSideBorderOptionsPropertyToCloudFormation(properties.sideSpecificBorder),UniformBorder:convertCfnDashboardTableBorderOptionsPropertyToCloudFormation(properties.uniformBorder)}):properties}function CfnDashboardGlobalTableBorderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sideSpecificBorder","SideSpecificBorder",properties.SideSpecificBorder!=null?CfnDashboardTableSideBorderOptionsPropertyFromCloudFormation(properties.SideSpecificBorder):void 0),ret.addPropertyResult("uniformBorder","UniformBorder",properties.UniformBorder!=null?CfnDashboardTableBorderOptionsPropertyFromCloudFormation(properties.UniformBorder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableCellStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("border",CfnDashboardGlobalTableBorderOptionsPropertyValidator)(properties.border)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("height",cdk().validateNumber)(properties.height)),errors.collect(cdk().propertyValidator("horizontalTextAlignment",cdk().validateString)(properties.horizontalTextAlignment)),errors.collect(cdk().propertyValidator("textWrap",cdk().validateString)(properties.textWrap)),errors.collect(cdk().propertyValidator("verticalTextAlignment",cdk().validateString)(properties.verticalTextAlignment)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "TableCellStyleProperty"')}function convertCfnDashboardTableCellStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableCellStylePropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),Border:convertCfnDashboardGlobalTableBorderOptionsPropertyToCloudFormation(properties.border),FontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),Height:cdk().numberToCloudFormation(properties.height),HorizontalTextAlignment:cdk().stringToCloudFormation(properties.horizontalTextAlignment),TextWrap:cdk().stringToCloudFormation(properties.textWrap),VerticalTextAlignment:cdk().stringToCloudFormation(properties.verticalTextAlignment),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardTableCellStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("border","Border",properties.Border!=null?CfnDashboardGlobalTableBorderOptionsPropertyFromCloudFormation(properties.Border):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getNumber(properties.Height):void 0),ret.addPropertyResult("horizontalTextAlignment","HorizontalTextAlignment",properties.HorizontalTextAlignment!=null?cfn_parse().FromCloudFormation.getString(properties.HorizontalTextAlignment):void 0),ret.addPropertyResult("textWrap","TextWrap",properties.TextWrap!=null?cfn_parse().FromCloudFormation.getString(properties.TextWrap):void 0),ret.addPropertyResult("verticalTextAlignment","VerticalTextAlignment",properties.VerticalTextAlignment!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalTextAlignment):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRowAlternateColorOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("rowAlternateColors",cdk().listValidator(cdk().validateString))(properties.rowAlternateColors)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("usePrimaryBackgroundColor",cdk().validateString)(properties.usePrimaryBackgroundColor)),errors.wrap('supplied properties not correct for "RowAlternateColorOptionsProperty"')}function convertCfnDashboardRowAlternateColorOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRowAlternateColorOptionsPropertyValidator(properties).assertSuccess(),{RowAlternateColors:cdk().listMapper(cdk().stringToCloudFormation)(properties.rowAlternateColors),Status:cdk().stringToCloudFormation(properties.status),UsePrimaryBackgroundColor:cdk().stringToCloudFormation(properties.usePrimaryBackgroundColor)}):properties}function CfnDashboardRowAlternateColorOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("rowAlternateColors","RowAlternateColors",properties.RowAlternateColors!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RowAlternateColors):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("usePrimaryBackgroundColor","UsePrimaryBackgroundColor",properties.UsePrimaryBackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.UsePrimaryBackgroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellStyle",CfnDashboardTableCellStylePropertyValidator)(properties.cellStyle)),errors.collect(cdk().propertyValidator("headerStyle",CfnDashboardTableCellStylePropertyValidator)(properties.headerStyle)),errors.collect(cdk().propertyValidator("orientation",cdk().validateString)(properties.orientation)),errors.collect(cdk().propertyValidator("rowAlternateColorOptions",CfnDashboardRowAlternateColorOptionsPropertyValidator)(properties.rowAlternateColorOptions)),errors.wrap('supplied properties not correct for "TableOptionsProperty"')}function convertCfnDashboardTableOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableOptionsPropertyValidator(properties).assertSuccess(),{CellStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.cellStyle),HeaderStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.headerStyle),Orientation:cdk().stringToCloudFormation(properties.orientation),RowAlternateColorOptions:convertCfnDashboardRowAlternateColorOptionsPropertyToCloudFormation(properties.rowAlternateColorOptions)}):properties}function CfnDashboardTableOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellStyle","CellStyle",properties.CellStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.CellStyle):void 0),ret.addPropertyResult("headerStyle","HeaderStyle",properties.HeaderStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.HeaderStyle):void 0),ret.addPropertyResult("orientation","Orientation",properties.Orientation!=null?cfn_parse().FromCloudFormation.getString(properties.Orientation):void 0),ret.addPropertyResult("rowAlternateColorOptions","RowAlternateColorOptions",properties.RowAlternateColorOptions!=null?CfnDashboardRowAlternateColorOptionsPropertyFromCloudFormation(properties.RowAlternateColorOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataBarsOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("negativeColor",cdk().validateString)(properties.negativeColor)),errors.collect(cdk().propertyValidator("positiveColor",cdk().validateString)(properties.positiveColor)),errors.wrap('supplied properties not correct for "DataBarsOptionsProperty"')}function convertCfnDashboardDataBarsOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataBarsOptionsPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),NegativeColor:cdk().stringToCloudFormation(properties.negativeColor),PositiveColor:cdk().stringToCloudFormation(properties.positiveColor)}):properties}function CfnDashboardDataBarsOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("negativeColor","NegativeColor",properties.NegativeColor!=null?cfn_parse().FromCloudFormation.getString(properties.NegativeColor):void 0),ret.addPropertyResult("positiveColor","PositiveColor",properties.PositiveColor!=null?cfn_parse().FromCloudFormation.getString(properties.PositiveColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableInlineVisualizationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataBars",CfnDashboardDataBarsOptionsPropertyValidator)(properties.dataBars)),errors.wrap('supplied properties not correct for "TableInlineVisualizationProperty"')}function convertCfnDashboardTableInlineVisualizationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableInlineVisualizationPropertyValidator(properties).assertSuccess(),{DataBars:convertCfnDashboardDataBarsOptionsPropertyToCloudFormation(properties.dataBars)}):properties}function CfnDashboardTableInlineVisualizationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataBars","DataBars",properties.DataBars!=null?CfnDashboardDataBarsOptionsPropertyFromCloudFormation(properties.DataBars):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardUnaggregatedFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnDashboardFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "UnaggregatedFieldProperty"')}function convertCfnDashboardUnaggregatedFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardUnaggregatedFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnDashboardFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnDashboardUnaggregatedFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnDashboardFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableUnaggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardUnaggregatedFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "TableUnaggregatedFieldWellsProperty"')}function convertCfnDashboardTableUnaggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableUnaggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(convertCfnDashboardUnaggregatedFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardTableUnaggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardUnaggregatedFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "TableAggregatedFieldWellsProperty"')}function convertCfnDashboardTableAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{GroupBy:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.groupBy),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardTableAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tableAggregatedFieldWells",CfnDashboardTableAggregatedFieldWellsPropertyValidator)(properties.tableAggregatedFieldWells)),errors.collect(cdk().propertyValidator("tableUnaggregatedFieldWells",CfnDashboardTableUnaggregatedFieldWellsPropertyValidator)(properties.tableUnaggregatedFieldWells)),errors.wrap('supplied properties not correct for "TableFieldWellsProperty"')}function convertCfnDashboardTableFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableFieldWellsPropertyValidator(properties).assertSuccess(),{TableAggregatedFieldWells:convertCfnDashboardTableAggregatedFieldWellsPropertyToCloudFormation(properties.tableAggregatedFieldWells),TableUnaggregatedFieldWells:convertCfnDashboardTableUnaggregatedFieldWellsPropertyToCloudFormation(properties.tableUnaggregatedFieldWells)}):properties}function CfnDashboardTableFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tableAggregatedFieldWells","TableAggregatedFieldWells",properties.TableAggregatedFieldWells!=null?CfnDashboardTableAggregatedFieldWellsPropertyFromCloudFormation(properties.TableAggregatedFieldWells):void 0),ret.addPropertyResult("tableUnaggregatedFieldWells","TableUnaggregatedFieldWells",properties.TableUnaggregatedFieldWells!=null?CfnDashboardTableUnaggregatedFieldWellsPropertyFromCloudFormation(properties.TableUnaggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTablePinnedFieldOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pinnedLeftFields",cdk().listValidator(cdk().validateString))(properties.pinnedLeftFields)),errors.wrap('supplied properties not correct for "TablePinnedFieldOptionsProperty"')}function convertCfnDashboardTablePinnedFieldOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTablePinnedFieldOptionsPropertyValidator(properties).assertSuccess(),{PinnedLeftFields:cdk().listMapper(cdk().stringToCloudFormation)(properties.pinnedLeftFields)}):properties}function CfnDashboardTablePinnedFieldOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pinnedLeftFields","PinnedLeftFields",properties.PinnedLeftFields!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PinnedLeftFields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableFieldCustomIconContentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",cdk().validateString)(properties.icon)),errors.wrap('supplied properties not correct for "TableFieldCustomIconContentProperty"')}function convertCfnDashboardTableFieldCustomIconContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableFieldCustomIconContentPropertyValidator(properties).assertSuccess(),{Icon:cdk().stringToCloudFormation(properties.icon)}):properties}function CfnDashboardTableFieldCustomIconContentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?cfn_parse().FromCloudFormation.getString(properties.Icon):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableFieldCustomTextContentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontConfiguration",cdk().requiredValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TableFieldCustomTextContentProperty"')}function convertCfnDashboardTableFieldCustomTextContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableFieldCustomTextContentPropertyValidator(properties).assertSuccess(),{FontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnDashboardTableFieldCustomTextContentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableFieldLinkContentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customIconContent",CfnDashboardTableFieldCustomIconContentPropertyValidator)(properties.customIconContent)),errors.collect(cdk().propertyValidator("customTextContent",CfnDashboardTableFieldCustomTextContentPropertyValidator)(properties.customTextContent)),errors.wrap('supplied properties not correct for "TableFieldLinkContentConfigurationProperty"')}function convertCfnDashboardTableFieldLinkContentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableFieldLinkContentConfigurationPropertyValidator(properties).assertSuccess(),{CustomIconContent:convertCfnDashboardTableFieldCustomIconContentPropertyToCloudFormation(properties.customIconContent),CustomTextContent:convertCfnDashboardTableFieldCustomTextContentPropertyToCloudFormation(properties.customTextContent)}):properties}function CfnDashboardTableFieldLinkContentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customIconContent","CustomIconContent",properties.CustomIconContent!=null?CfnDashboardTableFieldCustomIconContentPropertyFromCloudFormation(properties.CustomIconContent):void 0),ret.addPropertyResult("customTextContent","CustomTextContent",properties.CustomTextContent!=null?CfnDashboardTableFieldCustomTextContentPropertyFromCloudFormation(properties.CustomTextContent):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableFieldLinkConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",CfnDashboardTableFieldLinkContentConfigurationPropertyValidator)(properties.content)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.wrap('supplied properties not correct for "TableFieldLinkConfigurationProperty"')}function convertCfnDashboardTableFieldLinkConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableFieldLinkConfigurationPropertyValidator(properties).assertSuccess(),{Content:convertCfnDashboardTableFieldLinkContentConfigurationPropertyToCloudFormation(properties.content),Target:cdk().stringToCloudFormation(properties.target)}):properties}function CfnDashboardTableFieldLinkConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("content","Content",properties.Content!=null?CfnDashboardTableFieldLinkContentConfigurationPropertyFromCloudFormation(properties.Content):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableCellImageSizingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tableCellImageScalingConfiguration",cdk().validateString)(properties.tableCellImageScalingConfiguration)),errors.wrap('supplied properties not correct for "TableCellImageSizingConfigurationProperty"')}function convertCfnDashboardTableCellImageSizingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableCellImageSizingConfigurationPropertyValidator(properties).assertSuccess(),{TableCellImageScalingConfiguration:cdk().stringToCloudFormation(properties.tableCellImageScalingConfiguration)}):properties}function CfnDashboardTableCellImageSizingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tableCellImageScalingConfiguration","TableCellImageScalingConfiguration",properties.TableCellImageScalingConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.TableCellImageScalingConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableFieldImageConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sizingOptions",CfnDashboardTableCellImageSizingConfigurationPropertyValidator)(properties.sizingOptions)),errors.wrap('supplied properties not correct for "TableFieldImageConfigurationProperty"')}function convertCfnDashboardTableFieldImageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableFieldImageConfigurationPropertyValidator(properties).assertSuccess(),{SizingOptions:convertCfnDashboardTableCellImageSizingConfigurationPropertyToCloudFormation(properties.sizingOptions)}):properties}function CfnDashboardTableFieldImageConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sizingOptions","SizingOptions",properties.SizingOptions!=null?CfnDashboardTableCellImageSizingConfigurationPropertyFromCloudFormation(properties.SizingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableFieldURLConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("imageConfiguration",CfnDashboardTableFieldImageConfigurationPropertyValidator)(properties.imageConfiguration)),errors.collect(cdk().propertyValidator("linkConfiguration",CfnDashboardTableFieldLinkConfigurationPropertyValidator)(properties.linkConfiguration)),errors.wrap('supplied properties not correct for "TableFieldURLConfigurationProperty"')}function convertCfnDashboardTableFieldURLConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableFieldURLConfigurationPropertyValidator(properties).assertSuccess(),{ImageConfiguration:convertCfnDashboardTableFieldImageConfigurationPropertyToCloudFormation(properties.imageConfiguration),LinkConfiguration:convertCfnDashboardTableFieldLinkConfigurationPropertyToCloudFormation(properties.linkConfiguration)}):properties}function CfnDashboardTableFieldURLConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("imageConfiguration","ImageConfiguration",properties.ImageConfiguration!=null?CfnDashboardTableFieldImageConfigurationPropertyFromCloudFormation(properties.ImageConfiguration):void 0),ret.addPropertyResult("linkConfiguration","LinkConfiguration",properties.LinkConfiguration!=null?CfnDashboardTableFieldLinkConfigurationPropertyFromCloudFormation(properties.LinkConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableFieldOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("urlStyling",CfnDashboardTableFieldURLConfigurationPropertyValidator)(properties.urlStyling)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "TableFieldOptionProperty"')}function convertCfnDashboardTableFieldOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableFieldOptionPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FieldId:cdk().stringToCloudFormation(properties.fieldId),URLStyling:convertCfnDashboardTableFieldURLConfigurationPropertyToCloudFormation(properties.urlStyling),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnDashboardTableFieldOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("urlStyling","URLStyling",properties.URLStyling!=null?CfnDashboardTableFieldURLConfigurationPropertyFromCloudFormation(properties.URLStyling):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTransposedTableOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnIndex",cdk().validateNumber)(properties.columnIndex)),errors.collect(cdk().propertyValidator("columnType",cdk().requiredValidator)(properties.columnType)),errors.collect(cdk().propertyValidator("columnType",cdk().validateString)(properties.columnType)),errors.collect(cdk().propertyValidator("columnWidth",cdk().validateString)(properties.columnWidth)),errors.wrap('supplied properties not correct for "TransposedTableOptionProperty"')}function convertCfnDashboardTransposedTableOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTransposedTableOptionPropertyValidator(properties).assertSuccess(),{ColumnIndex:cdk().numberToCloudFormation(properties.columnIndex),ColumnType:cdk().stringToCloudFormation(properties.columnType),ColumnWidth:cdk().stringToCloudFormation(properties.columnWidth)}):properties}function CfnDashboardTransposedTableOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnIndex","ColumnIndex",properties.ColumnIndex!=null?cfn_parse().FromCloudFormation.getNumber(properties.ColumnIndex):void 0),ret.addPropertyResult("columnType","ColumnType",properties.ColumnType!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnType):void 0),ret.addPropertyResult("columnWidth","ColumnWidth",properties.ColumnWidth!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableFieldOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("order",cdk().listValidator(cdk().validateString))(properties.order)),errors.collect(cdk().propertyValidator("pinnedFieldOptions",CfnDashboardTablePinnedFieldOptionsPropertyValidator)(properties.pinnedFieldOptions)),errors.collect(cdk().propertyValidator("selectedFieldOptions",cdk().listValidator(CfnDashboardTableFieldOptionPropertyValidator))(properties.selectedFieldOptions)),errors.collect(cdk().propertyValidator("transposedTableOptions",cdk().listValidator(CfnDashboardTransposedTableOptionPropertyValidator))(properties.transposedTableOptions)),errors.wrap('supplied properties not correct for "TableFieldOptionsProperty"')}function convertCfnDashboardTableFieldOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableFieldOptionsPropertyValidator(properties).assertSuccess(),{Order:cdk().listMapper(cdk().stringToCloudFormation)(properties.order),PinnedFieldOptions:convertCfnDashboardTablePinnedFieldOptionsPropertyToCloudFormation(properties.pinnedFieldOptions),SelectedFieldOptions:cdk().listMapper(convertCfnDashboardTableFieldOptionPropertyToCloudFormation)(properties.selectedFieldOptions),TransposedTableOptions:cdk().listMapper(convertCfnDashboardTransposedTableOptionPropertyToCloudFormation)(properties.transposedTableOptions)}):properties}function CfnDashboardTableFieldOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("order","Order",properties.Order!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Order):void 0),ret.addPropertyResult("pinnedFieldOptions","PinnedFieldOptions",properties.PinnedFieldOptions!=null?CfnDashboardTablePinnedFieldOptionsPropertyFromCloudFormation(properties.PinnedFieldOptions):void 0),ret.addPropertyResult("selectedFieldOptions","SelectedFieldOptions",properties.SelectedFieldOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardTableFieldOptionPropertyFromCloudFormation)(properties.SelectedFieldOptions):void 0),ret.addPropertyResult("transposedTableOptions","TransposedTableOptions",properties.TransposedTableOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardTransposedTableOptionPropertyFromCloudFormation)(properties.TransposedTableOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTotalAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("simpleTotalAggregationFunction",cdk().validateString)(properties.simpleTotalAggregationFunction)),errors.wrap('supplied properties not correct for "TotalAggregationFunctionProperty"')}function convertCfnDashboardTotalAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTotalAggregationFunctionPropertyValidator(properties).assertSuccess(),{SimpleTotalAggregationFunction:cdk().stringToCloudFormation(properties.simpleTotalAggregationFunction)}):properties}function CfnDashboardTotalAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("simpleTotalAggregationFunction","SimpleTotalAggregationFunction",properties.SimpleTotalAggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleTotalAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTotalAggregationOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("totalAggregationFunction",cdk().requiredValidator)(properties.totalAggregationFunction)),errors.collect(cdk().propertyValidator("totalAggregationFunction",CfnDashboardTotalAggregationFunctionPropertyValidator)(properties.totalAggregationFunction)),errors.wrap('supplied properties not correct for "TotalAggregationOptionProperty"')}function convertCfnDashboardTotalAggregationOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTotalAggregationOptionPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),TotalAggregationFunction:convertCfnDashboardTotalAggregationFunctionPropertyToCloudFormation(properties.totalAggregationFunction)}):properties}function CfnDashboardTotalAggregationOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("totalAggregationFunction","TotalAggregationFunction",properties.TotalAggregationFunction!=null?CfnDashboardTotalAggregationFunctionPropertyFromCloudFormation(properties.TotalAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("placement",cdk().validateString)(properties.placement)),errors.collect(cdk().propertyValidator("scrollStatus",cdk().validateString)(properties.scrollStatus)),errors.collect(cdk().propertyValidator("totalAggregationOptions",cdk().listValidator(CfnDashboardTotalAggregationOptionPropertyValidator))(properties.totalAggregationOptions)),errors.collect(cdk().propertyValidator("totalCellStyle",CfnDashboardTableCellStylePropertyValidator)(properties.totalCellStyle)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.wrap('supplied properties not correct for "TotalOptionsProperty"')}function convertCfnDashboardTotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTotalOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),Placement:cdk().stringToCloudFormation(properties.placement),ScrollStatus:cdk().stringToCloudFormation(properties.scrollStatus),TotalAggregationOptions:cdk().listMapper(convertCfnDashboardTotalAggregationOptionPropertyToCloudFormation)(properties.totalAggregationOptions),TotalCellStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.totalCellStyle),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility)}):properties}function CfnDashboardTotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("placement","Placement",properties.Placement!=null?cfn_parse().FromCloudFormation.getString(properties.Placement):void 0),ret.addPropertyResult("scrollStatus","ScrollStatus",properties.ScrollStatus!=null?cfn_parse().FromCloudFormation.getString(properties.ScrollStatus):void 0),ret.addPropertyResult("totalAggregationOptions","TotalAggregationOptions",properties.TotalAggregationOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardTotalAggregationOptionPropertyFromCloudFormation)(properties.TotalAggregationOptions):void 0),ret.addPropertyResult("totalCellStyle","TotalCellStyle",properties.TotalCellStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.TotalCellStyle):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldOptions",CfnDashboardTableFieldOptionsPropertyValidator)(properties.fieldOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardTableFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("paginatedReportOptions",CfnDashboardTablePaginatedReportOptionsPropertyValidator)(properties.paginatedReportOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardTableSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tableInlineVisualizations",cdk().listValidator(CfnDashboardTableInlineVisualizationPropertyValidator))(properties.tableInlineVisualizations)),errors.collect(cdk().propertyValidator("tableOptions",CfnDashboardTableOptionsPropertyValidator)(properties.tableOptions)),errors.collect(cdk().propertyValidator("totalOptions",CfnDashboardTotalOptionsPropertyValidator)(properties.totalOptions)),errors.wrap('supplied properties not correct for "TableConfigurationProperty"')}function convertCfnDashboardTableConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableConfigurationPropertyValidator(properties).assertSuccess(),{FieldOptions:convertCfnDashboardTableFieldOptionsPropertyToCloudFormation(properties.fieldOptions),FieldWells:convertCfnDashboardTableFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),PaginatedReportOptions:convertCfnDashboardTablePaginatedReportOptionsPropertyToCloudFormation(properties.paginatedReportOptions),SortConfiguration:convertCfnDashboardTableSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),TableInlineVisualizations:cdk().listMapper(convertCfnDashboardTableInlineVisualizationPropertyToCloudFormation)(properties.tableInlineVisualizations),TableOptions:convertCfnDashboardTableOptionsPropertyToCloudFormation(properties.tableOptions),TotalOptions:convertCfnDashboardTotalOptionsPropertyToCloudFormation(properties.totalOptions)}):properties}function CfnDashboardTableConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldOptions","FieldOptions",properties.FieldOptions!=null?CfnDashboardTableFieldOptionsPropertyFromCloudFormation(properties.FieldOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardTableFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("paginatedReportOptions","PaginatedReportOptions",properties.PaginatedReportOptions!=null?CfnDashboardTablePaginatedReportOptionsPropertyFromCloudFormation(properties.PaginatedReportOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardTableSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tableInlineVisualizations","TableInlineVisualizations",properties.TableInlineVisualizations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardTableInlineVisualizationPropertyFromCloudFormation)(properties.TableInlineVisualizations):void 0),ret.addPropertyResult("tableOptions","TableOptions",properties.TableOptions!=null?CfnDashboardTableOptionsPropertyFromCloudFormation(properties.TableOptions):void 0),ret.addPropertyResult("totalOptions","TotalOptions",properties.TotalOptions!=null?CfnDashboardTotalOptionsPropertyFromCloudFormation(properties.TotalOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardTableConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnDashboardTableConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "TableVisualProperty"')}function convertCfnDashboardTableVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardTableConfigurationPropertyToCloudFormation(properties.chartConfiguration),ConditionalFormatting:convertCfnDashboardTableConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardTableVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardTableConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnDashboardTableConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableConditionalFormattingScopePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "PivotTableConditionalFormattingScopeProperty"')}function convertCfnDashboardPivotTableConditionalFormattingScopePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableConditionalFormattingScopePropertyValidator(properties).assertSuccess(),{Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnDashboardPivotTableConditionalFormattingScopePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableCellConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("scope",CfnDashboardPivotTableConditionalFormattingScopePropertyValidator)(properties.scope)),errors.collect(cdk().propertyValidator("scopes",cdk().listValidator(CfnDashboardPivotTableConditionalFormattingScopePropertyValidator))(properties.scopes)),errors.collect(cdk().propertyValidator("textFormat",CfnDashboardTextConditionalFormatPropertyValidator)(properties.textFormat)),errors.wrap('supplied properties not correct for "PivotTableCellConditionalFormattingProperty"')}function convertCfnDashboardPivotTableCellConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableCellConditionalFormattingPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Scope:convertCfnDashboardPivotTableConditionalFormattingScopePropertyToCloudFormation(properties.scope),Scopes:cdk().listMapper(convertCfnDashboardPivotTableConditionalFormattingScopePropertyToCloudFormation)(properties.scopes),TextFormat:convertCfnDashboardTextConditionalFormatPropertyToCloudFormation(properties.textFormat)}):properties}function CfnDashboardPivotTableCellConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?CfnDashboardPivotTableConditionalFormattingScopePropertyFromCloudFormation(properties.Scope):void 0),ret.addPropertyResult("scopes","Scopes",properties.Scopes!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardPivotTableConditionalFormattingScopePropertyFromCloudFormation)(properties.Scopes):void 0),ret.addPropertyResult("textFormat","TextFormat",properties.TextFormat!=null?CfnDashboardTextConditionalFormatPropertyFromCloudFormation(properties.TextFormat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cell",CfnDashboardPivotTableCellConditionalFormattingPropertyValidator)(properties.cell)),errors.wrap('supplied properties not correct for "PivotTableConditionalFormattingOptionProperty"')}function convertCfnDashboardPivotTableConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Cell:convertCfnDashboardPivotTableCellConditionalFormattingPropertyToCloudFormation(properties.cell)}):properties}function CfnDashboardPivotTableConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cell","Cell",properties.Cell!=null?CfnDashboardPivotTableCellConditionalFormattingPropertyFromCloudFormation(properties.Cell):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnDashboardPivotTableConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "PivotTableConditionalFormattingProperty"')}function convertCfnDashboardPivotTableConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnDashboardPivotTableConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnDashboardPivotTableConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardPivotTableConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataPathSortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("sortPaths",cdk().requiredValidator)(properties.sortPaths)),errors.collect(cdk().propertyValidator("sortPaths",cdk().listValidator(CfnDashboardDataPathValuePropertyValidator))(properties.sortPaths)),errors.wrap('supplied properties not correct for "DataPathSortProperty"')}function convertCfnDashboardDataPathSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataPathSortPropertyValidator(properties).assertSuccess(),{Direction:cdk().stringToCloudFormation(properties.direction),SortPaths:cdk().listMapper(convertCfnDashboardDataPathValuePropertyToCloudFormation)(properties.sortPaths)}):properties}function CfnDashboardDataPathSortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("sortPaths","SortPaths",properties.SortPaths!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDataPathValuePropertyFromCloudFormation)(properties.SortPaths):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableSortByPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",CfnDashboardColumnSortPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("dataPath",CfnDashboardDataPathSortPropertyValidator)(properties.dataPath)),errors.collect(cdk().propertyValidator("field",CfnDashboardFieldSortPropertyValidator)(properties.field)),errors.wrap('supplied properties not correct for "PivotTableSortByProperty"')}function convertCfnDashboardPivotTableSortByPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableSortByPropertyValidator(properties).assertSuccess(),{Column:convertCfnDashboardColumnSortPropertyToCloudFormation(properties.column),DataPath:convertCfnDashboardDataPathSortPropertyToCloudFormation(properties.dataPath),Field:convertCfnDashboardFieldSortPropertyToCloudFormation(properties.field)}):properties}function CfnDashboardPivotTableSortByPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnDashboardColumnSortPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("dataPath","DataPath",properties.DataPath!=null?CfnDashboardDataPathSortPropertyFromCloudFormation(properties.DataPath):void 0),ret.addPropertyResult("field","Field",properties.Field!=null?CfnDashboardFieldSortPropertyFromCloudFormation(properties.Field):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotFieldSortOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("sortBy",cdk().requiredValidator)(properties.sortBy)),errors.collect(cdk().propertyValidator("sortBy",CfnDashboardPivotTableSortByPropertyValidator)(properties.sortBy)),errors.wrap('supplied properties not correct for "PivotFieldSortOptionsProperty"')}function convertCfnDashboardPivotFieldSortOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotFieldSortOptionsPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),SortBy:convertCfnDashboardPivotTableSortByPropertyToCloudFormation(properties.sortBy)}):properties}function CfnDashboardPivotFieldSortOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("sortBy","SortBy",properties.SortBy!=null?CfnDashboardPivotTableSortByPropertyFromCloudFormation(properties.SortBy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldSortOptions",cdk().listValidator(CfnDashboardPivotFieldSortOptionsPropertyValidator))(properties.fieldSortOptions)),errors.wrap('supplied properties not correct for "PivotTableSortConfigurationProperty"')}function convertCfnDashboardPivotTableSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableSortConfigurationPropertyValidator(properties).assertSuccess(),{FieldSortOptions:cdk().listMapper(convertCfnDashboardPivotFieldSortOptionsPropertyToCloudFormation)(properties.fieldSortOptions)}):properties}function CfnDashboardPivotTableSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldSortOptions","FieldSortOptions",properties.FieldSortOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardPivotFieldSortOptionsPropertyFromCloudFormation)(properties.FieldSortOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTablePaginatedReportOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("overflowColumnHeaderVisibility",cdk().validateString)(properties.overflowColumnHeaderVisibility)),errors.collect(cdk().propertyValidator("verticalOverflowVisibility",cdk().validateString)(properties.verticalOverflowVisibility)),errors.wrap('supplied properties not correct for "PivotTablePaginatedReportOptionsProperty"')}function convertCfnDashboardPivotTablePaginatedReportOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTablePaginatedReportOptionsPropertyValidator(properties).assertSuccess(),{OverflowColumnHeaderVisibility:cdk().stringToCloudFormation(properties.overflowColumnHeaderVisibility),VerticalOverflowVisibility:cdk().stringToCloudFormation(properties.verticalOverflowVisibility)}):properties}function CfnDashboardPivotTablePaginatedReportOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("overflowColumnHeaderVisibility","OverflowColumnHeaderVisibility",properties.OverflowColumnHeaderVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.OverflowColumnHeaderVisibility):void 0),ret.addPropertyResult("verticalOverflowVisibility","VerticalOverflowVisibility",properties.VerticalOverflowVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalOverflowVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableRowsLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "PivotTableRowsLabelOptionsProperty"')}function convertCfnDashboardPivotTableRowsLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableRowsLabelOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardPivotTableRowsLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellStyle",CfnDashboardTableCellStylePropertyValidator)(properties.cellStyle)),errors.collect(cdk().propertyValidator("collapsedRowDimensionsVisibility",cdk().validateString)(properties.collapsedRowDimensionsVisibility)),errors.collect(cdk().propertyValidator("columnHeaderStyle",CfnDashboardTableCellStylePropertyValidator)(properties.columnHeaderStyle)),errors.collect(cdk().propertyValidator("columnNamesVisibility",cdk().validateString)(properties.columnNamesVisibility)),errors.collect(cdk().propertyValidator("defaultCellWidth",cdk().validateString)(properties.defaultCellWidth)),errors.collect(cdk().propertyValidator("metricPlacement",cdk().validateString)(properties.metricPlacement)),errors.collect(cdk().propertyValidator("rowAlternateColorOptions",CfnDashboardRowAlternateColorOptionsPropertyValidator)(properties.rowAlternateColorOptions)),errors.collect(cdk().propertyValidator("rowFieldNamesStyle",CfnDashboardTableCellStylePropertyValidator)(properties.rowFieldNamesStyle)),errors.collect(cdk().propertyValidator("rowHeaderStyle",CfnDashboardTableCellStylePropertyValidator)(properties.rowHeaderStyle)),errors.collect(cdk().propertyValidator("rowsLabelOptions",CfnDashboardPivotTableRowsLabelOptionsPropertyValidator)(properties.rowsLabelOptions)),errors.collect(cdk().propertyValidator("rowsLayout",cdk().validateString)(properties.rowsLayout)),errors.collect(cdk().propertyValidator("singleMetricVisibility",cdk().validateString)(properties.singleMetricVisibility)),errors.collect(cdk().propertyValidator("toggleButtonsVisibility",cdk().validateString)(properties.toggleButtonsVisibility)),errors.wrap('supplied properties not correct for "PivotTableOptionsProperty"')}function convertCfnDashboardPivotTableOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableOptionsPropertyValidator(properties).assertSuccess(),{CellStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.cellStyle),CollapsedRowDimensionsVisibility:cdk().stringToCloudFormation(properties.collapsedRowDimensionsVisibility),ColumnHeaderStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.columnHeaderStyle),ColumnNamesVisibility:cdk().stringToCloudFormation(properties.columnNamesVisibility),DefaultCellWidth:cdk().stringToCloudFormation(properties.defaultCellWidth),MetricPlacement:cdk().stringToCloudFormation(properties.metricPlacement),RowAlternateColorOptions:convertCfnDashboardRowAlternateColorOptionsPropertyToCloudFormation(properties.rowAlternateColorOptions),RowFieldNamesStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.rowFieldNamesStyle),RowHeaderStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.rowHeaderStyle),RowsLabelOptions:convertCfnDashboardPivotTableRowsLabelOptionsPropertyToCloudFormation(properties.rowsLabelOptions),RowsLayout:cdk().stringToCloudFormation(properties.rowsLayout),SingleMetricVisibility:cdk().stringToCloudFormation(properties.singleMetricVisibility),ToggleButtonsVisibility:cdk().stringToCloudFormation(properties.toggleButtonsVisibility)}):properties}function CfnDashboardPivotTableOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellStyle","CellStyle",properties.CellStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.CellStyle):void 0),ret.addPropertyResult("collapsedRowDimensionsVisibility","CollapsedRowDimensionsVisibility",properties.CollapsedRowDimensionsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.CollapsedRowDimensionsVisibility):void 0),ret.addPropertyResult("columnHeaderStyle","ColumnHeaderStyle",properties.ColumnHeaderStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.ColumnHeaderStyle):void 0),ret.addPropertyResult("columnNamesVisibility","ColumnNamesVisibility",properties.ColumnNamesVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnNamesVisibility):void 0),ret.addPropertyResult("defaultCellWidth","DefaultCellWidth",properties.DefaultCellWidth!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultCellWidth):void 0),ret.addPropertyResult("metricPlacement","MetricPlacement",properties.MetricPlacement!=null?cfn_parse().FromCloudFormation.getString(properties.MetricPlacement):void 0),ret.addPropertyResult("rowAlternateColorOptions","RowAlternateColorOptions",properties.RowAlternateColorOptions!=null?CfnDashboardRowAlternateColorOptionsPropertyFromCloudFormation(properties.RowAlternateColorOptions):void 0),ret.addPropertyResult("rowFieldNamesStyle","RowFieldNamesStyle",properties.RowFieldNamesStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.RowFieldNamesStyle):void 0),ret.addPropertyResult("rowHeaderStyle","RowHeaderStyle",properties.RowHeaderStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.RowHeaderStyle):void 0),ret.addPropertyResult("rowsLabelOptions","RowsLabelOptions",properties.RowsLabelOptions!=null?CfnDashboardPivotTableRowsLabelOptionsPropertyFromCloudFormation(properties.RowsLabelOptions):void 0),ret.addPropertyResult("rowsLayout","RowsLayout",properties.RowsLayout!=null?cfn_parse().FromCloudFormation.getString(properties.RowsLayout):void 0),ret.addPropertyResult("singleMetricVisibility","SingleMetricVisibility",properties.SingleMetricVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.SingleMetricVisibility):void 0),ret.addPropertyResult("toggleButtonsVisibility","ToggleButtonsVisibility",properties.ToggleButtonsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.ToggleButtonsVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("rows",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.rows)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "PivotTableAggregatedFieldWellsProperty"')}function convertCfnDashboardPivotTableAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.columns),Rows:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.rows),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardPivotTableAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("rows","Rows",properties.Rows!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Rows):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pivotTableAggregatedFieldWells",CfnDashboardPivotTableAggregatedFieldWellsPropertyValidator)(properties.pivotTableAggregatedFieldWells)),errors.wrap('supplied properties not correct for "PivotTableFieldWellsProperty"')}function convertCfnDashboardPivotTableFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableFieldWellsPropertyValidator(properties).assertSuccess(),{PivotTableAggregatedFieldWells:convertCfnDashboardPivotTableAggregatedFieldWellsPropertyToCloudFormation(properties.pivotTableAggregatedFieldWells)}):properties}function CfnDashboardPivotTableFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pivotTableAggregatedFieldWells","PivotTableAggregatedFieldWells",properties.PivotTableAggregatedFieldWells!=null?CfnDashboardPivotTableAggregatedFieldWellsPropertyFromCloudFormation(properties.PivotTableAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableFieldCollapseStateTargetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldDataPathValues",cdk().listValidator(CfnDashboardDataPathValuePropertyValidator))(properties.fieldDataPathValues)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "PivotTableFieldCollapseStateTargetProperty"')}function convertCfnDashboardPivotTableFieldCollapseStateTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableFieldCollapseStateTargetPropertyValidator(properties).assertSuccess(),{FieldDataPathValues:cdk().listMapper(convertCfnDashboardDataPathValuePropertyToCloudFormation)(properties.fieldDataPathValues),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnDashboardPivotTableFieldCollapseStateTargetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldDataPathValues","FieldDataPathValues",properties.FieldDataPathValues!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDataPathValuePropertyFromCloudFormation)(properties.FieldDataPathValues):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableFieldCollapseStateOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",CfnDashboardPivotTableFieldCollapseStateTargetPropertyValidator)(properties.target)),errors.wrap('supplied properties not correct for "PivotTableFieldCollapseStateOptionProperty"')}function convertCfnDashboardPivotTableFieldCollapseStateOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableFieldCollapseStateOptionPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state),Target:convertCfnDashboardPivotTableFieldCollapseStateTargetPropertyToCloudFormation(properties.target)}):properties}function CfnDashboardPivotTableFieldCollapseStateOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?CfnDashboardPivotTableFieldCollapseStateTargetPropertyFromCloudFormation(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableDataPathOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataPathList",cdk().requiredValidator)(properties.dataPathList)),errors.collect(cdk().propertyValidator("dataPathList",cdk().listValidator(CfnDashboardDataPathValuePropertyValidator))(properties.dataPathList)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "PivotTableDataPathOptionProperty"')}function convertCfnDashboardPivotTableDataPathOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableDataPathOptionPropertyValidator(properties).assertSuccess(),{DataPathList:cdk().listMapper(convertCfnDashboardDataPathValuePropertyToCloudFormation)(properties.dataPathList),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnDashboardPivotTableDataPathOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataPathList","DataPathList",properties.DataPathList!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDataPathValuePropertyFromCloudFormation)(properties.DataPathList):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableFieldOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "PivotTableFieldOptionProperty"')}function convertCfnDashboardPivotTableFieldOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableFieldOptionPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FieldId:cdk().stringToCloudFormation(properties.fieldId),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardPivotTableFieldOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableFieldOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("collapseStateOptions",cdk().listValidator(CfnDashboardPivotTableFieldCollapseStateOptionPropertyValidator))(properties.collapseStateOptions)),errors.collect(cdk().propertyValidator("dataPathOptions",cdk().listValidator(CfnDashboardPivotTableDataPathOptionPropertyValidator))(properties.dataPathOptions)),errors.collect(cdk().propertyValidator("selectedFieldOptions",cdk().listValidator(CfnDashboardPivotTableFieldOptionPropertyValidator))(properties.selectedFieldOptions)),errors.wrap('supplied properties not correct for "PivotTableFieldOptionsProperty"')}function convertCfnDashboardPivotTableFieldOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableFieldOptionsPropertyValidator(properties).assertSuccess(),{CollapseStateOptions:cdk().listMapper(convertCfnDashboardPivotTableFieldCollapseStateOptionPropertyToCloudFormation)(properties.collapseStateOptions),DataPathOptions:cdk().listMapper(convertCfnDashboardPivotTableDataPathOptionPropertyToCloudFormation)(properties.dataPathOptions),SelectedFieldOptions:cdk().listMapper(convertCfnDashboardPivotTableFieldOptionPropertyToCloudFormation)(properties.selectedFieldOptions)}):properties}function CfnDashboardPivotTableFieldOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("collapseStateOptions","CollapseStateOptions",properties.CollapseStateOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardPivotTableFieldCollapseStateOptionPropertyFromCloudFormation)(properties.CollapseStateOptions):void 0),ret.addPropertyResult("dataPathOptions","DataPathOptions",properties.DataPathOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardPivotTableDataPathOptionPropertyFromCloudFormation)(properties.DataPathOptions):void 0),ret.addPropertyResult("selectedFieldOptions","SelectedFieldOptions",properties.SelectedFieldOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardPivotTableFieldOptionPropertyFromCloudFormation)(properties.SelectedFieldOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableFieldSubtotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "PivotTableFieldSubtotalOptionsProperty"')}function convertCfnDashboardPivotTableFieldSubtotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableFieldSubtotalOptionsPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnDashboardPivotTableFieldSubtotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTableStyleTargetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellType",cdk().requiredValidator)(properties.cellType)),errors.collect(cdk().propertyValidator("cellType",cdk().validateString)(properties.cellType)),errors.wrap('supplied properties not correct for "TableStyleTargetProperty"')}function convertCfnDashboardTableStyleTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTableStyleTargetPropertyValidator(properties).assertSuccess(),{CellType:cdk().stringToCloudFormation(properties.cellType)}):properties}function CfnDashboardTableStyleTargetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellType","CellType",properties.CellType!=null?cfn_parse().FromCloudFormation.getString(properties.CellType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSubtotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fieldLevel",cdk().validateString)(properties.fieldLevel)),errors.collect(cdk().propertyValidator("fieldLevelOptions",cdk().listValidator(CfnDashboardPivotTableFieldSubtotalOptionsPropertyValidator))(properties.fieldLevelOptions)),errors.collect(cdk().propertyValidator("metricHeaderCellStyle",CfnDashboardTableCellStylePropertyValidator)(properties.metricHeaderCellStyle)),errors.collect(cdk().propertyValidator("styleTargets",cdk().listValidator(CfnDashboardTableStyleTargetPropertyValidator))(properties.styleTargets)),errors.collect(cdk().propertyValidator("totalCellStyle",CfnDashboardTableCellStylePropertyValidator)(properties.totalCellStyle)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.collect(cdk().propertyValidator("valueCellStyle",CfnDashboardTableCellStylePropertyValidator)(properties.valueCellStyle)),errors.wrap('supplied properties not correct for "SubtotalOptionsProperty"')}function convertCfnDashboardSubtotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSubtotalOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FieldLevel:cdk().stringToCloudFormation(properties.fieldLevel),FieldLevelOptions:cdk().listMapper(convertCfnDashboardPivotTableFieldSubtotalOptionsPropertyToCloudFormation)(properties.fieldLevelOptions),MetricHeaderCellStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.metricHeaderCellStyle),StyleTargets:cdk().listMapper(convertCfnDashboardTableStyleTargetPropertyToCloudFormation)(properties.styleTargets),TotalCellStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.totalCellStyle),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility),ValueCellStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.valueCellStyle)}):properties}function CfnDashboardSubtotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fieldLevel","FieldLevel",properties.FieldLevel!=null?cfn_parse().FromCloudFormation.getString(properties.FieldLevel):void 0),ret.addPropertyResult("fieldLevelOptions","FieldLevelOptions",properties.FieldLevelOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardPivotTableFieldSubtotalOptionsPropertyFromCloudFormation)(properties.FieldLevelOptions):void 0),ret.addPropertyResult("metricHeaderCellStyle","MetricHeaderCellStyle",properties.MetricHeaderCellStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.MetricHeaderCellStyle):void 0),ret.addPropertyResult("styleTargets","StyleTargets",properties.StyleTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardTableStyleTargetPropertyFromCloudFormation)(properties.StyleTargets):void 0),ret.addPropertyResult("totalCellStyle","TotalCellStyle",properties.TotalCellStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.TotalCellStyle):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addPropertyResult("valueCellStyle","ValueCellStyle",properties.ValueCellStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.ValueCellStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("metricHeaderCellStyle",CfnDashboardTableCellStylePropertyValidator)(properties.metricHeaderCellStyle)),errors.collect(cdk().propertyValidator("placement",cdk().validateString)(properties.placement)),errors.collect(cdk().propertyValidator("scrollStatus",cdk().validateString)(properties.scrollStatus)),errors.collect(cdk().propertyValidator("totalAggregationOptions",cdk().listValidator(CfnDashboardTotalAggregationOptionPropertyValidator))(properties.totalAggregationOptions)),errors.collect(cdk().propertyValidator("totalCellStyle",CfnDashboardTableCellStylePropertyValidator)(properties.totalCellStyle)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.collect(cdk().propertyValidator("valueCellStyle",CfnDashboardTableCellStylePropertyValidator)(properties.valueCellStyle)),errors.wrap('supplied properties not correct for "PivotTotalOptionsProperty"')}function convertCfnDashboardPivotTotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTotalOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),MetricHeaderCellStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.metricHeaderCellStyle),Placement:cdk().stringToCloudFormation(properties.placement),ScrollStatus:cdk().stringToCloudFormation(properties.scrollStatus),TotalAggregationOptions:cdk().listMapper(convertCfnDashboardTotalAggregationOptionPropertyToCloudFormation)(properties.totalAggregationOptions),TotalCellStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.totalCellStyle),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility),ValueCellStyle:convertCfnDashboardTableCellStylePropertyToCloudFormation(properties.valueCellStyle)}):properties}function CfnDashboardPivotTotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("metricHeaderCellStyle","MetricHeaderCellStyle",properties.MetricHeaderCellStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.MetricHeaderCellStyle):void 0),ret.addPropertyResult("placement","Placement",properties.Placement!=null?cfn_parse().FromCloudFormation.getString(properties.Placement):void 0),ret.addPropertyResult("scrollStatus","ScrollStatus",properties.ScrollStatus!=null?cfn_parse().FromCloudFormation.getString(properties.ScrollStatus):void 0),ret.addPropertyResult("totalAggregationOptions","TotalAggregationOptions",properties.TotalAggregationOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardTotalAggregationOptionPropertyFromCloudFormation)(properties.TotalAggregationOptions):void 0),ret.addPropertyResult("totalCellStyle","TotalCellStyle",properties.TotalCellStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.TotalCellStyle):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addPropertyResult("valueCellStyle","ValueCellStyle",properties.ValueCellStyle!=null?CfnDashboardTableCellStylePropertyFromCloudFormation(properties.ValueCellStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableTotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnSubtotalOptions",CfnDashboardSubtotalOptionsPropertyValidator)(properties.columnSubtotalOptions)),errors.collect(cdk().propertyValidator("columnTotalOptions",CfnDashboardPivotTotalOptionsPropertyValidator)(properties.columnTotalOptions)),errors.collect(cdk().propertyValidator("rowSubtotalOptions",CfnDashboardSubtotalOptionsPropertyValidator)(properties.rowSubtotalOptions)),errors.collect(cdk().propertyValidator("rowTotalOptions",CfnDashboardPivotTotalOptionsPropertyValidator)(properties.rowTotalOptions)),errors.wrap('supplied properties not correct for "PivotTableTotalOptionsProperty"')}function convertCfnDashboardPivotTableTotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableTotalOptionsPropertyValidator(properties).assertSuccess(),{ColumnSubtotalOptions:convertCfnDashboardSubtotalOptionsPropertyToCloudFormation(properties.columnSubtotalOptions),ColumnTotalOptions:convertCfnDashboardPivotTotalOptionsPropertyToCloudFormation(properties.columnTotalOptions),RowSubtotalOptions:convertCfnDashboardSubtotalOptionsPropertyToCloudFormation(properties.rowSubtotalOptions),RowTotalOptions:convertCfnDashboardPivotTotalOptionsPropertyToCloudFormation(properties.rowTotalOptions)}):properties}function CfnDashboardPivotTableTotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnSubtotalOptions","ColumnSubtotalOptions",properties.ColumnSubtotalOptions!=null?CfnDashboardSubtotalOptionsPropertyFromCloudFormation(properties.ColumnSubtotalOptions):void 0),ret.addPropertyResult("columnTotalOptions","ColumnTotalOptions",properties.ColumnTotalOptions!=null?CfnDashboardPivotTotalOptionsPropertyFromCloudFormation(properties.ColumnTotalOptions):void 0),ret.addPropertyResult("rowSubtotalOptions","RowSubtotalOptions",properties.RowSubtotalOptions!=null?CfnDashboardSubtotalOptionsPropertyFromCloudFormation(properties.RowSubtotalOptions):void 0),ret.addPropertyResult("rowTotalOptions","RowTotalOptions",properties.RowTotalOptions!=null?CfnDashboardPivotTotalOptionsPropertyFromCloudFormation(properties.RowTotalOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldOptions",CfnDashboardPivotTableFieldOptionsPropertyValidator)(properties.fieldOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardPivotTableFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("paginatedReportOptions",CfnDashboardPivotTablePaginatedReportOptionsPropertyValidator)(properties.paginatedReportOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardPivotTableSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tableOptions",CfnDashboardPivotTableOptionsPropertyValidator)(properties.tableOptions)),errors.collect(cdk().propertyValidator("totalOptions",CfnDashboardPivotTableTotalOptionsPropertyValidator)(properties.totalOptions)),errors.wrap('supplied properties not correct for "PivotTableConfigurationProperty"')}function convertCfnDashboardPivotTableConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableConfigurationPropertyValidator(properties).assertSuccess(),{FieldOptions:convertCfnDashboardPivotTableFieldOptionsPropertyToCloudFormation(properties.fieldOptions),FieldWells:convertCfnDashboardPivotTableFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),PaginatedReportOptions:convertCfnDashboardPivotTablePaginatedReportOptionsPropertyToCloudFormation(properties.paginatedReportOptions),SortConfiguration:convertCfnDashboardPivotTableSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),TableOptions:convertCfnDashboardPivotTableOptionsPropertyToCloudFormation(properties.tableOptions),TotalOptions:convertCfnDashboardPivotTableTotalOptionsPropertyToCloudFormation(properties.totalOptions)}):properties}function CfnDashboardPivotTableConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldOptions","FieldOptions",properties.FieldOptions!=null?CfnDashboardPivotTableFieldOptionsPropertyFromCloudFormation(properties.FieldOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardPivotTableFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("paginatedReportOptions","PaginatedReportOptions",properties.PaginatedReportOptions!=null?CfnDashboardPivotTablePaginatedReportOptionsPropertyFromCloudFormation(properties.PaginatedReportOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardPivotTableSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tableOptions","TableOptions",properties.TableOptions!=null?CfnDashboardPivotTableOptionsPropertyFromCloudFormation(properties.TableOptions):void 0),ret.addPropertyResult("totalOptions","TotalOptions",properties.TotalOptions!=null?CfnDashboardPivotTableTotalOptionsPropertyFromCloudFormation(properties.TotalOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPivotTableVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardPivotTableConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnDashboardPivotTableConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "PivotTableVisualProperty"')}function convertCfnDashboardPivotTableVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPivotTableVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardPivotTableConfigurationPropertyToCloudFormation(properties.chartConfiguration),ConditionalFormatting:convertCfnDashboardPivotTableConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardPivotTableVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardPivotTableConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnDashboardPivotTableConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("geospatial",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.geospatial)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "GeospatialMapAggregatedFieldWellsProperty"')}function convertCfnDashboardGeospatialMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.colors),Geospatial:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.geospatial),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardGeospatialMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("geospatial","Geospatial",properties.Geospatial!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Geospatial):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("geospatialMapAggregatedFieldWells",CfnDashboardGeospatialMapAggregatedFieldWellsPropertyValidator)(properties.geospatialMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "GeospatialMapFieldWellsProperty"')}function convertCfnDashboardGeospatialMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialMapFieldWellsPropertyValidator(properties).assertSuccess(),{GeospatialMapAggregatedFieldWells:convertCfnDashboardGeospatialMapAggregatedFieldWellsPropertyToCloudFormation(properties.geospatialMapAggregatedFieldWells)}):properties}function CfnDashboardGeospatialMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("geospatialMapAggregatedFieldWells","GeospatialMapAggregatedFieldWells",properties.GeospatialMapAggregatedFieldWells!=null?CfnDashboardGeospatialMapAggregatedFieldWellsPropertyFromCloudFormation(properties.GeospatialMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSimpleClusterMarkerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.wrap('supplied properties not correct for "SimpleClusterMarkerProperty"')}function convertCfnDashboardSimpleClusterMarkerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSimpleClusterMarkerPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color)}):properties}function CfnDashboardSimpleClusterMarkerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardClusterMarkerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("simpleClusterMarker",CfnDashboardSimpleClusterMarkerPropertyValidator)(properties.simpleClusterMarker)),errors.wrap('supplied properties not correct for "ClusterMarkerProperty"')}function convertCfnDashboardClusterMarkerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardClusterMarkerPropertyValidator(properties).assertSuccess(),{SimpleClusterMarker:convertCfnDashboardSimpleClusterMarkerPropertyToCloudFormation(properties.simpleClusterMarker)}):properties}function CfnDashboardClusterMarkerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("simpleClusterMarker","SimpleClusterMarker",properties.SimpleClusterMarker!=null?CfnDashboardSimpleClusterMarkerPropertyFromCloudFormation(properties.SimpleClusterMarker):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardClusterMarkerConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterMarker",CfnDashboardClusterMarkerPropertyValidator)(properties.clusterMarker)),errors.wrap('supplied properties not correct for "ClusterMarkerConfigurationProperty"')}function convertCfnDashboardClusterMarkerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardClusterMarkerConfigurationPropertyValidator(properties).assertSuccess(),{ClusterMarker:convertCfnDashboardClusterMarkerPropertyToCloudFormation(properties.clusterMarker)}):properties}function CfnDashboardClusterMarkerConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterMarker","ClusterMarker",properties.ClusterMarker!=null?CfnDashboardClusterMarkerPropertyFromCloudFormation(properties.ClusterMarker):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialHeatmapDataColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.wrap('supplied properties not correct for "GeospatialHeatmapDataColorProperty"')}function convertCfnDashboardGeospatialHeatmapDataColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialHeatmapDataColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color)}):properties}function CfnDashboardGeospatialHeatmapDataColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialHeatmapColorScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnDashboardGeospatialHeatmapDataColorPropertyValidator))(properties.colors)),errors.wrap('supplied properties not correct for "GeospatialHeatmapColorScaleProperty"')}function convertCfnDashboardGeospatialHeatmapColorScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialHeatmapColorScalePropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(convertCfnDashboardGeospatialHeatmapDataColorPropertyToCloudFormation)(properties.colors)}):properties}function CfnDashboardGeospatialHeatmapColorScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGeospatialHeatmapDataColorPropertyFromCloudFormation)(properties.Colors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialHeatmapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("heatmapColor",CfnDashboardGeospatialHeatmapColorScalePropertyValidator)(properties.heatmapColor)),errors.wrap('supplied properties not correct for "GeospatialHeatmapConfigurationProperty"')}function convertCfnDashboardGeospatialHeatmapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialHeatmapConfigurationPropertyValidator(properties).assertSuccess(),{HeatmapColor:convertCfnDashboardGeospatialHeatmapColorScalePropertyToCloudFormation(properties.heatmapColor)}):properties}function CfnDashboardGeospatialHeatmapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("heatmapColor","HeatmapColor",properties.HeatmapColor!=null?CfnDashboardGeospatialHeatmapColorScalePropertyFromCloudFormation(properties.HeatmapColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialPointStyleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterMarkerConfiguration",CfnDashboardClusterMarkerConfigurationPropertyValidator)(properties.clusterMarkerConfiguration)),errors.collect(cdk().propertyValidator("heatmapConfiguration",CfnDashboardGeospatialHeatmapConfigurationPropertyValidator)(properties.heatmapConfiguration)),errors.collect(cdk().propertyValidator("selectedPointStyle",cdk().validateString)(properties.selectedPointStyle)),errors.wrap('supplied properties not correct for "GeospatialPointStyleOptionsProperty"')}function convertCfnDashboardGeospatialPointStyleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialPointStyleOptionsPropertyValidator(properties).assertSuccess(),{ClusterMarkerConfiguration:convertCfnDashboardClusterMarkerConfigurationPropertyToCloudFormation(properties.clusterMarkerConfiguration),HeatmapConfiguration:convertCfnDashboardGeospatialHeatmapConfigurationPropertyToCloudFormation(properties.heatmapConfiguration),SelectedPointStyle:cdk().stringToCloudFormation(properties.selectedPointStyle)}):properties}function CfnDashboardGeospatialPointStyleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterMarkerConfiguration","ClusterMarkerConfiguration",properties.ClusterMarkerConfiguration!=null?CfnDashboardClusterMarkerConfigurationPropertyFromCloudFormation(properties.ClusterMarkerConfiguration):void 0),ret.addPropertyResult("heatmapConfiguration","HeatmapConfiguration",properties.HeatmapConfiguration!=null?CfnDashboardGeospatialHeatmapConfigurationPropertyFromCloudFormation(properties.HeatmapConfiguration):void 0),ret.addPropertyResult("selectedPointStyle","SelectedPointStyle",properties.SelectedPointStyle!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedPointStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardGeospatialMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("mapStyleOptions",CfnDashboardGeospatialMapStyleOptionsPropertyValidator)(properties.mapStyleOptions)),errors.collect(cdk().propertyValidator("pointStyleOptions",CfnDashboardGeospatialPointStyleOptionsPropertyValidator)(properties.pointStyleOptions)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("windowOptions",CfnDashboardGeospatialWindowOptionsPropertyValidator)(properties.windowOptions)),errors.wrap('supplied properties not correct for "GeospatialMapConfigurationProperty"')}function convertCfnDashboardGeospatialMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialMapConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:convertCfnDashboardGeospatialMapFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),MapStyleOptions:convertCfnDashboardGeospatialMapStyleOptionsPropertyToCloudFormation(properties.mapStyleOptions),PointStyleOptions:convertCfnDashboardGeospatialPointStyleOptionsPropertyToCloudFormation(properties.pointStyleOptions),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette),WindowOptions:convertCfnDashboardGeospatialWindowOptionsPropertyToCloudFormation(properties.windowOptions)}):properties}function CfnDashboardGeospatialMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardGeospatialMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("mapStyleOptions","MapStyleOptions",properties.MapStyleOptions!=null?CfnDashboardGeospatialMapStyleOptionsPropertyFromCloudFormation(properties.MapStyleOptions):void 0),ret.addPropertyResult("pointStyleOptions","PointStyleOptions",properties.PointStyleOptions!=null?CfnDashboardGeospatialPointStyleOptionsPropertyFromCloudFormation(properties.PointStyleOptions):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("windowOptions","WindowOptions",properties.WindowOptions!=null?CfnDashboardGeospatialWindowOptionsPropertyFromCloudFormation(properties.WindowOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardGeospatialMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "GeospatialMapVisualProperty"')}function convertCfnDashboardGeospatialMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardGeospatialMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardGeospatialMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardGeospatialMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBarChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimit)),errors.collect(cdk().propertyValidator("colorSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.colorSort)),errors.collect(cdk().propertyValidator("smallMultiplesLimitConfiguration",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.smallMultiplesLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.smallMultiplesSort)),errors.wrap('supplied properties not correct for "BarChartSortConfigurationProperty"')}function convertCfnDashboardBarChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBarChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimit),ColorSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.colorSort),SmallMultiplesLimitConfiguration:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.smallMultiplesLimitConfiguration),SmallMultiplesSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.smallMultiplesSort)}):properties}function CfnDashboardBarChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimit","ColorItemsLimit",properties.ColorItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimit):void 0),ret.addPropertyResult("colorSort","ColorSort",properties.ColorSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.ColorSort):void 0),ret.addPropertyResult("smallMultiplesLimitConfiguration","SmallMultiplesLimitConfiguration",properties.SmallMultiplesLimitConfiguration!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.SmallMultiplesLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesSort","SmallMultiplesSort",properties.SmallMultiplesSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.SmallMultiplesSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBarChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("smallMultiples",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.smallMultiples)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "BarChartAggregatedFieldWellsProperty"')}function convertCfnDashboardBarChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBarChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.category),Colors:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.colors),SmallMultiples:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.smallMultiples),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardBarChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("smallMultiples","SmallMultiples",properties.SmallMultiples!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.SmallMultiples):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBarChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barChartAggregatedFieldWells",CfnDashboardBarChartAggregatedFieldWellsPropertyValidator)(properties.barChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "BarChartFieldWellsProperty"')}function convertCfnDashboardBarChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBarChartFieldWellsPropertyValidator(properties).assertSuccess(),{BarChartAggregatedFieldWells:convertCfnDashboardBarChartAggregatedFieldWellsPropertyToCloudFormation(properties.barChartAggregatedFieldWells)}):properties}function CfnDashboardBarChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barChartAggregatedFieldWells","BarChartAggregatedFieldWells",properties.BarChartAggregatedFieldWells!=null?CfnDashboardBarChartAggregatedFieldWellsPropertyFromCloudFormation(properties.BarChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBarChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barsArrangement",cdk().validateString)(properties.barsArrangement)),errors.collect(cdk().propertyValidator("categoryAxis",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("contributionAnalysisDefaults",cdk().listValidator(CfnDashboardContributionAnalysisDefaultPropertyValidator))(properties.contributionAnalysisDefaults)),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardBarChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("orientation",cdk().validateString)(properties.orientation)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnDashboardReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("smallMultiplesOptions",CfnDashboardSmallMultiplesOptionsPropertyValidator)(properties.smallMultiplesOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardBarChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("valueAxis",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.valueAxis)),errors.collect(cdk().propertyValidator("valueLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.valueLabelOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "BarChartConfigurationProperty"')}function convertCfnDashboardBarChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBarChartConfigurationPropertyValidator(properties).assertSuccess(),{BarsArrangement:cdk().stringToCloudFormation(properties.barsArrangement),CategoryAxis:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ColorLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),ContributionAnalysisDefaults:cdk().listMapper(convertCfnDashboardContributionAnalysisDefaultPropertyToCloudFormation)(properties.contributionAnalysisDefaults),DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnDashboardBarChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),Orientation:cdk().stringToCloudFormation(properties.orientation),ReferenceLines:cdk().listMapper(convertCfnDashboardReferenceLinePropertyToCloudFormation)(properties.referenceLines),SmallMultiplesOptions:convertCfnDashboardSmallMultiplesOptionsPropertyToCloudFormation(properties.smallMultiplesOptions),SortConfiguration:convertCfnDashboardBarChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),ValueAxis:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.valueAxis),ValueLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.valueLabelOptions),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnDashboardBarChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barsArrangement","BarsArrangement",properties.BarsArrangement!=null?cfn_parse().FromCloudFormation.getString(properties.BarsArrangement):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("contributionAnalysisDefaults","ContributionAnalysisDefaults",properties.ContributionAnalysisDefaults!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardContributionAnalysisDefaultPropertyFromCloudFormation)(properties.ContributionAnalysisDefaults):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardBarChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("orientation","Orientation",properties.Orientation!=null?cfn_parse().FromCloudFormation.getString(properties.Orientation):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("smallMultiplesOptions","SmallMultiplesOptions",properties.SmallMultiplesOptions!=null?CfnDashboardSmallMultiplesOptionsPropertyFromCloudFormation(properties.SmallMultiplesOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardBarChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("valueAxis","ValueAxis",properties.ValueAxis!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.ValueAxis):void 0),ret.addPropertyResult("valueLabelOptions","ValueLabelOptions",properties.ValueLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.ValueLabelOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardBarChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardBarChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "BarChartVisualProperty"')}function convertCfnDashboardBarChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardBarChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardBarChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardBarChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardBarChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardScatterPlotUnaggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("label",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.label)),errors.collect(cdk().propertyValidator("size",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.size)),errors.collect(cdk().propertyValidator("xAxis",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.xAxis)),errors.collect(cdk().propertyValidator("yAxis",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.yAxis)),errors.wrap('supplied properties not correct for "ScatterPlotUnaggregatedFieldWellsProperty"')}function convertCfnDashboardScatterPlotUnaggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardScatterPlotUnaggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.category),Label:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.label),Size:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.size),XAxis:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.xAxis),YAxis:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.yAxis)}):properties}function CfnDashboardScatterPlotUnaggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Label):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Size):void 0),ret.addPropertyResult("xAxis","XAxis",properties.XAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.XAxis):void 0),ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardScatterPlotCategoricallyAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("label",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.label)),errors.collect(cdk().propertyValidator("size",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.size)),errors.collect(cdk().propertyValidator("xAxis",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.xAxis)),errors.collect(cdk().propertyValidator("yAxis",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.yAxis)),errors.wrap('supplied properties not correct for "ScatterPlotCategoricallyAggregatedFieldWellsProperty"')}function convertCfnDashboardScatterPlotCategoricallyAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardScatterPlotCategoricallyAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.category),Label:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.label),Size:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.size),XAxis:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.xAxis),YAxis:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.yAxis)}):properties}function CfnDashboardScatterPlotCategoricallyAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Label):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Size):void 0),ret.addPropertyResult("xAxis","XAxis",properties.XAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.XAxis):void 0),ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardScatterPlotFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scatterPlotCategoricallyAggregatedFieldWells",CfnDashboardScatterPlotCategoricallyAggregatedFieldWellsPropertyValidator)(properties.scatterPlotCategoricallyAggregatedFieldWells)),errors.collect(cdk().propertyValidator("scatterPlotUnaggregatedFieldWells",CfnDashboardScatterPlotUnaggregatedFieldWellsPropertyValidator)(properties.scatterPlotUnaggregatedFieldWells)),errors.wrap('supplied properties not correct for "ScatterPlotFieldWellsProperty"')}function convertCfnDashboardScatterPlotFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardScatterPlotFieldWellsPropertyValidator(properties).assertSuccess(),{ScatterPlotCategoricallyAggregatedFieldWells:convertCfnDashboardScatterPlotCategoricallyAggregatedFieldWellsPropertyToCloudFormation(properties.scatterPlotCategoricallyAggregatedFieldWells),ScatterPlotUnaggregatedFieldWells:convertCfnDashboardScatterPlotUnaggregatedFieldWellsPropertyToCloudFormation(properties.scatterPlotUnaggregatedFieldWells)}):properties}function CfnDashboardScatterPlotFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scatterPlotCategoricallyAggregatedFieldWells","ScatterPlotCategoricallyAggregatedFieldWells",properties.ScatterPlotCategoricallyAggregatedFieldWells!=null?CfnDashboardScatterPlotCategoricallyAggregatedFieldWellsPropertyFromCloudFormation(properties.ScatterPlotCategoricallyAggregatedFieldWells):void 0),ret.addPropertyResult("scatterPlotUnaggregatedFieldWells","ScatterPlotUnaggregatedFieldWells",properties.ScatterPlotUnaggregatedFieldWells!=null?CfnDashboardScatterPlotUnaggregatedFieldWellsPropertyFromCloudFormation(properties.ScatterPlotUnaggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardScatterPlotSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scatterPlotLimitConfiguration",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.scatterPlotLimitConfiguration)),errors.wrap('supplied properties not correct for "ScatterPlotSortConfigurationProperty"')}function convertCfnDashboardScatterPlotSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardScatterPlotSortConfigurationPropertyValidator(properties).assertSuccess(),{ScatterPlotLimitConfiguration:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.scatterPlotLimitConfiguration)}):properties}function CfnDashboardScatterPlotSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scatterPlotLimitConfiguration","ScatterPlotLimitConfiguration",properties.ScatterPlotLimitConfiguration!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.ScatterPlotLimitConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardScatterPlotConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardScatterPlotFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardScatterPlotSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("xAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.xAxisDisplayOptions)),errors.collect(cdk().propertyValidator("xAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.xAxisLabelOptions)),errors.collect(cdk().propertyValidator("yAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.yAxisDisplayOptions)),errors.collect(cdk().propertyValidator("yAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.yAxisLabelOptions)),errors.wrap('supplied properties not correct for "ScatterPlotConfigurationProperty"')}function convertCfnDashboardScatterPlotConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardScatterPlotConfigurationPropertyValidator(properties).assertSuccess(),{DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnDashboardScatterPlotFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),SortConfiguration:convertCfnDashboardScatterPlotSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette),XAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.xAxisDisplayOptions),XAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.xAxisLabelOptions),YAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.yAxisDisplayOptions),YAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.yAxisLabelOptions)}):properties}function CfnDashboardScatterPlotConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardScatterPlotFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardScatterPlotSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("xAxisDisplayOptions","XAxisDisplayOptions",properties.XAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.XAxisDisplayOptions):void 0),ret.addPropertyResult("xAxisLabelOptions","XAxisLabelOptions",properties.XAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.XAxisLabelOptions):void 0),ret.addPropertyResult("yAxisDisplayOptions","YAxisDisplayOptions",properties.YAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.YAxisDisplayOptions):void 0),ret.addPropertyResult("yAxisLabelOptions","YAxisLabelOptions",properties.YAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.YAxisLabelOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardScatterPlotVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardScatterPlotConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "ScatterPlotVisualProperty"')}function convertCfnDashboardScatterPlotVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardScatterPlotVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardScatterPlotConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardScatterPlotVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardScatterPlotConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRadarChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimit)),errors.collect(cdk().propertyValidator("colorSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.colorSort)),errors.wrap('supplied properties not correct for "RadarChartSortConfigurationProperty"')}function convertCfnDashboardRadarChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRadarChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimit),ColorSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.colorSort)}):properties}function CfnDashboardRadarChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimit","ColorItemsLimit",properties.ColorItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimit):void 0),ret.addPropertyResult("colorSort","ColorSort",properties.ColorSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.ColorSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRadarChartAreaStyleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "RadarChartAreaStyleSettingsProperty"')}function convertCfnDashboardRadarChartAreaStyleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRadarChartAreaStyleSettingsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardRadarChartAreaStyleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRadarChartSeriesSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("areaStyleSettings",CfnDashboardRadarChartAreaStyleSettingsPropertyValidator)(properties.areaStyleSettings)),errors.wrap('supplied properties not correct for "RadarChartSeriesSettingsProperty"')}function convertCfnDashboardRadarChartSeriesSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRadarChartSeriesSettingsPropertyValidator(properties).assertSuccess(),{AreaStyleSettings:convertCfnDashboardRadarChartAreaStyleSettingsPropertyToCloudFormation(properties.areaStyleSettings)}):properties}function CfnDashboardRadarChartSeriesSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("areaStyleSettings","AreaStyleSettings",properties.AreaStyleSettings!=null?CfnDashboardRadarChartAreaStyleSettingsPropertyFromCloudFormation(properties.AreaStyleSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRadarChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("color",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.color)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "RadarChartAggregatedFieldWellsProperty"')}function convertCfnDashboardRadarChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRadarChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.category),Color:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.color),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardRadarChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Color):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRadarChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("radarChartAggregatedFieldWells",CfnDashboardRadarChartAggregatedFieldWellsPropertyValidator)(properties.radarChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "RadarChartFieldWellsProperty"')}function convertCfnDashboardRadarChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRadarChartFieldWellsPropertyValidator(properties).assertSuccess(),{RadarChartAggregatedFieldWells:convertCfnDashboardRadarChartAggregatedFieldWellsPropertyToCloudFormation(properties.radarChartAggregatedFieldWells)}):properties}function CfnDashboardRadarChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("radarChartAggregatedFieldWells","RadarChartAggregatedFieldWells",properties.RadarChartAggregatedFieldWells!=null?CfnDashboardRadarChartAggregatedFieldWellsPropertyFromCloudFormation(properties.RadarChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRadarChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alternateBandColorsVisibility",cdk().validateString)(properties.alternateBandColorsVisibility)),errors.collect(cdk().propertyValidator("alternateBandEvenColor",cdk().validateString)(properties.alternateBandEvenColor)),errors.collect(cdk().propertyValidator("alternateBandOddColor",cdk().validateString)(properties.alternateBandOddColor)),errors.collect(cdk().propertyValidator("axesRangeScale",cdk().validateString)(properties.axesRangeScale)),errors.collect(cdk().propertyValidator("baseSeriesSettings",CfnDashboardRadarChartSeriesSettingsPropertyValidator)(properties.baseSeriesSettings)),errors.collect(cdk().propertyValidator("categoryAxis",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("colorAxis",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.colorAxis)),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardRadarChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("shape",cdk().validateString)(properties.shape)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardRadarChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("startAngle",cdk().validateNumber)(properties.startAngle)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "RadarChartConfigurationProperty"')}function convertCfnDashboardRadarChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRadarChartConfigurationPropertyValidator(properties).assertSuccess(),{AlternateBandColorsVisibility:cdk().stringToCloudFormation(properties.alternateBandColorsVisibility),AlternateBandEvenColor:cdk().stringToCloudFormation(properties.alternateBandEvenColor),AlternateBandOddColor:cdk().stringToCloudFormation(properties.alternateBandOddColor),AxesRangeScale:cdk().stringToCloudFormation(properties.axesRangeScale),BaseSeriesSettings:convertCfnDashboardRadarChartSeriesSettingsPropertyToCloudFormation(properties.baseSeriesSettings),CategoryAxis:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ColorAxis:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.colorAxis),ColorLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),FieldWells:convertCfnDashboardRadarChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),Shape:cdk().stringToCloudFormation(properties.shape),SortConfiguration:convertCfnDashboardRadarChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),StartAngle:cdk().numberToCloudFormation(properties.startAngle),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnDashboardRadarChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alternateBandColorsVisibility","AlternateBandColorsVisibility",properties.AlternateBandColorsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateBandColorsVisibility):void 0),ret.addPropertyResult("alternateBandEvenColor","AlternateBandEvenColor",properties.AlternateBandEvenColor!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateBandEvenColor):void 0),ret.addPropertyResult("alternateBandOddColor","AlternateBandOddColor",properties.AlternateBandOddColor!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateBandOddColor):void 0),ret.addPropertyResult("axesRangeScale","AxesRangeScale",properties.AxesRangeScale!=null?cfn_parse().FromCloudFormation.getString(properties.AxesRangeScale):void 0),ret.addPropertyResult("baseSeriesSettings","BaseSeriesSettings",properties.BaseSeriesSettings!=null?CfnDashboardRadarChartSeriesSettingsPropertyFromCloudFormation(properties.BaseSeriesSettings):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("colorAxis","ColorAxis",properties.ColorAxis!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.ColorAxis):void 0),ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardRadarChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("shape","Shape",properties.Shape!=null?cfn_parse().FromCloudFormation.getString(properties.Shape):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardRadarChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("startAngle","StartAngle",properties.StartAngle!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartAngle):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardRadarChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardRadarChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "RadarChartVisualProperty"')}function convertCfnDashboardRadarChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardRadarChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardRadarChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardRadarChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardRadarChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHeatMapSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("heatMapColumnItemsLimitConfiguration",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.heatMapColumnItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("heatMapColumnSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.heatMapColumnSort)),errors.collect(cdk().propertyValidator("heatMapRowItemsLimitConfiguration",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.heatMapRowItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("heatMapRowSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.heatMapRowSort)),errors.wrap('supplied properties not correct for "HeatMapSortConfigurationProperty"')}function convertCfnDashboardHeatMapSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHeatMapSortConfigurationPropertyValidator(properties).assertSuccess(),{HeatMapColumnItemsLimitConfiguration:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.heatMapColumnItemsLimitConfiguration),HeatMapColumnSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.heatMapColumnSort),HeatMapRowItemsLimitConfiguration:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.heatMapRowItemsLimitConfiguration),HeatMapRowSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.heatMapRowSort)}):properties}function CfnDashboardHeatMapSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("heatMapColumnItemsLimitConfiguration","HeatMapColumnItemsLimitConfiguration",properties.HeatMapColumnItemsLimitConfiguration!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.HeatMapColumnItemsLimitConfiguration):void 0),ret.addPropertyResult("heatMapColumnSort","HeatMapColumnSort",properties.HeatMapColumnSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.HeatMapColumnSort):void 0),ret.addPropertyResult("heatMapRowItemsLimitConfiguration","HeatMapRowItemsLimitConfiguration",properties.HeatMapRowItemsLimitConfiguration!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.HeatMapRowItemsLimitConfiguration):void 0),ret.addPropertyResult("heatMapRowSort","HeatMapRowSort",properties.HeatMapRowSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.HeatMapRowSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHeatMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("rows",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.rows)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "HeatMapAggregatedFieldWellsProperty"')}function convertCfnDashboardHeatMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHeatMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.columns),Rows:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.rows),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardHeatMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("rows","Rows",properties.Rows!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Rows):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHeatMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("heatMapAggregatedFieldWells",CfnDashboardHeatMapAggregatedFieldWellsPropertyValidator)(properties.heatMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "HeatMapFieldWellsProperty"')}function convertCfnDashboardHeatMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHeatMapFieldWellsPropertyValidator(properties).assertSuccess(),{HeatMapAggregatedFieldWells:convertCfnDashboardHeatMapAggregatedFieldWellsPropertyToCloudFormation(properties.heatMapAggregatedFieldWells)}):properties}function CfnDashboardHeatMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("heatMapAggregatedFieldWells","HeatMapAggregatedFieldWells",properties.HeatMapAggregatedFieldWells!=null?CfnDashboardHeatMapAggregatedFieldWellsPropertyFromCloudFormation(properties.HeatMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateNumber)(properties.dataValue)),errors.wrap('supplied properties not correct for "DataColorProperty"')}function convertCfnDashboardDataColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().numberToCloudFormation(properties.dataValue)}):properties}function CfnDashboardDataColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.DataValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardColorScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorFillType",cdk().requiredValidator)(properties.colorFillType)),errors.collect(cdk().propertyValidator("colorFillType",cdk().validateString)(properties.colorFillType)),errors.collect(cdk().propertyValidator("colors",cdk().requiredValidator)(properties.colors)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnDashboardDataColorPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("nullValueColor",CfnDashboardDataColorPropertyValidator)(properties.nullValueColor)),errors.wrap('supplied properties not correct for "ColorScaleProperty"')}function convertCfnDashboardColorScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardColorScalePropertyValidator(properties).assertSuccess(),{ColorFillType:cdk().stringToCloudFormation(properties.colorFillType),Colors:cdk().listMapper(convertCfnDashboardDataColorPropertyToCloudFormation)(properties.colors),NullValueColor:convertCfnDashboardDataColorPropertyToCloudFormation(properties.nullValueColor)}):properties}function CfnDashboardColorScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorFillType","ColorFillType",properties.ColorFillType!=null?cfn_parse().FromCloudFormation.getString(properties.ColorFillType):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDataColorPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("nullValueColor","NullValueColor",properties.NullValueColor!=null?CfnDashboardDataColorPropertyFromCloudFormation(properties.NullValueColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHeatMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorScale",CfnDashboardColorScalePropertyValidator)(properties.colorScale)),errors.collect(cdk().propertyValidator("columnLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.columnLabelOptions)),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardHeatMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("rowLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.rowLabelOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardHeatMapSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.wrap('supplied properties not correct for "HeatMapConfigurationProperty"')}function convertCfnDashboardHeatMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHeatMapConfigurationPropertyValidator(properties).assertSuccess(),{ColorScale:convertCfnDashboardColorScalePropertyToCloudFormation(properties.colorScale),ColumnLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.columnLabelOptions),DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnDashboardHeatMapFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),RowLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.rowLabelOptions),SortConfiguration:convertCfnDashboardHeatMapSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip)}):properties}function CfnDashboardHeatMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorScale","ColorScale",properties.ColorScale!=null?CfnDashboardColorScalePropertyFromCloudFormation(properties.ColorScale):void 0),ret.addPropertyResult("columnLabelOptions","ColumnLabelOptions",properties.ColumnLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColumnLabelOptions):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardHeatMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("rowLabelOptions","RowLabelOptions",properties.RowLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.RowLabelOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardHeatMapSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardHeatMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardHeatMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "HeatMapVisualProperty"')}function convertCfnDashboardHeatMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardHeatMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardHeatMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardHeatMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardHeatMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTreeMapSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("treeMapGroupItemsLimitConfiguration",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.treeMapGroupItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("treeMapSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.treeMapSort)),errors.wrap('supplied properties not correct for "TreeMapSortConfigurationProperty"')}function convertCfnDashboardTreeMapSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTreeMapSortConfigurationPropertyValidator(properties).assertSuccess(),{TreeMapGroupItemsLimitConfiguration:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.treeMapGroupItemsLimitConfiguration),TreeMapSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.treeMapSort)}):properties}function CfnDashboardTreeMapSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("treeMapGroupItemsLimitConfiguration","TreeMapGroupItemsLimitConfiguration",properties.TreeMapGroupItemsLimitConfiguration!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.TreeMapGroupItemsLimitConfiguration):void 0),ret.addPropertyResult("treeMapSort","TreeMapSort",properties.TreeMapSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.TreeMapSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTreeMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("groups",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.groups)),errors.collect(cdk().propertyValidator("sizes",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.sizes)),errors.wrap('supplied properties not correct for "TreeMapAggregatedFieldWellsProperty"')}function convertCfnDashboardTreeMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTreeMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.colors),Groups:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.groups),Sizes:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.sizes)}):properties}function CfnDashboardTreeMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("groups","Groups",properties.Groups!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Groups):void 0),ret.addPropertyResult("sizes","Sizes",properties.Sizes!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Sizes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTreeMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("treeMapAggregatedFieldWells",CfnDashboardTreeMapAggregatedFieldWellsPropertyValidator)(properties.treeMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "TreeMapFieldWellsProperty"')}function convertCfnDashboardTreeMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTreeMapFieldWellsPropertyValidator(properties).assertSuccess(),{TreeMapAggregatedFieldWells:convertCfnDashboardTreeMapAggregatedFieldWellsPropertyToCloudFormation(properties.treeMapAggregatedFieldWells)}):properties}function CfnDashboardTreeMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("treeMapAggregatedFieldWells","TreeMapAggregatedFieldWells",properties.TreeMapAggregatedFieldWells!=null?CfnDashboardTreeMapAggregatedFieldWellsPropertyFromCloudFormation(properties.TreeMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTreeMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("colorScale",CfnDashboardColorScalePropertyValidator)(properties.colorScale)),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardTreeMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("groupLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.groupLabelOptions)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("sizeLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.sizeLabelOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardTreeMapSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.wrap('supplied properties not correct for "TreeMapConfigurationProperty"')}function convertCfnDashboardTreeMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTreeMapConfigurationPropertyValidator(properties).assertSuccess(),{ColorLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),ColorScale:convertCfnDashboardColorScalePropertyToCloudFormation(properties.colorScale),DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnDashboardTreeMapFieldWellsPropertyToCloudFormation(properties.fieldWells),GroupLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.groupLabelOptions),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),SizeLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.sizeLabelOptions),SortConfiguration:convertCfnDashboardTreeMapSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip)}):properties}function CfnDashboardTreeMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("colorScale","ColorScale",properties.ColorScale!=null?CfnDashboardColorScalePropertyFromCloudFormation(properties.ColorScale):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardTreeMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("groupLabelOptions","GroupLabelOptions",properties.GroupLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.GroupLabelOptions):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("sizeLabelOptions","SizeLabelOptions",properties.SizeLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.SizeLabelOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardTreeMapSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTreeMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardTreeMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "TreeMapVisualProperty"')}function convertCfnDashboardTreeMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTreeMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardTreeMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardTreeMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardTreeMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardComboChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimit)),errors.collect(cdk().propertyValidator("colorSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.colorSort)),errors.wrap('supplied properties not correct for "ComboChartSortConfigurationProperty"')}function convertCfnDashboardComboChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardComboChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimit),ColorSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.colorSort)}):properties}function CfnDashboardComboChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimit","ColorItemsLimit",properties.ColorItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimit):void 0),ret.addPropertyResult("colorSort","ColorSort",properties.ColorSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.ColorSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardComboChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barValues",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.barValues)),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("lineValues",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.lineValues)),errors.wrap('supplied properties not correct for "ComboChartAggregatedFieldWellsProperty"')}function convertCfnDashboardComboChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardComboChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{BarValues:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.barValues),Category:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.category),Colors:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.colors),LineValues:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.lineValues)}):properties}function CfnDashboardComboChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barValues","BarValues",properties.BarValues!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.BarValues):void 0),ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("lineValues","LineValues",properties.LineValues!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.LineValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardComboChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comboChartAggregatedFieldWells",CfnDashboardComboChartAggregatedFieldWellsPropertyValidator)(properties.comboChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "ComboChartFieldWellsProperty"')}function convertCfnDashboardComboChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardComboChartFieldWellsPropertyValidator(properties).assertSuccess(),{ComboChartAggregatedFieldWells:convertCfnDashboardComboChartAggregatedFieldWellsPropertyToCloudFormation(properties.comboChartAggregatedFieldWells)}):properties}function CfnDashboardComboChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comboChartAggregatedFieldWells","ComboChartAggregatedFieldWells",properties.ComboChartAggregatedFieldWells!=null?CfnDashboardComboChartAggregatedFieldWellsPropertyFromCloudFormation(properties.ComboChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardYAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("yAxis",cdk().requiredValidator)(properties.yAxis)),errors.collect(cdk().propertyValidator("yAxis",cdk().validateString)(properties.yAxis)),errors.wrap('supplied properties not correct for "YAxisOptionsProperty"')}function convertCfnDashboardYAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardYAxisOptionsPropertyValidator(properties).assertSuccess(),{YAxis:cdk().stringToCloudFormation(properties.yAxis)}):properties}function CfnDashboardYAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?cfn_parse().FromCloudFormation.getString(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSingleAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("yAxisOptions",CfnDashboardYAxisOptionsPropertyValidator)(properties.yAxisOptions)),errors.wrap('supplied properties not correct for "SingleAxisOptionsProperty"')}function convertCfnDashboardSingleAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSingleAxisOptionsPropertyValidator(properties).assertSuccess(),{YAxisOptions:convertCfnDashboardYAxisOptionsPropertyToCloudFormation(properties.yAxisOptions)}):properties}function CfnDashboardSingleAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("yAxisOptions","YAxisOptions",properties.YAxisOptions!=null?CfnDashboardYAxisOptionsPropertyFromCloudFormation(properties.YAxisOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardComboChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barDataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.barDataLabels)),errors.collect(cdk().propertyValidator("barsArrangement",cdk().validateString)(properties.barsArrangement)),errors.collect(cdk().propertyValidator("categoryAxis",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardComboChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("lineDataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.lineDataLabels)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnDashboardReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("secondaryYAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.secondaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("secondaryYAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.secondaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("singleAxisOptions",CfnDashboardSingleAxisOptionsPropertyValidator)(properties.singleAxisOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardComboChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "ComboChartConfigurationProperty"')}function convertCfnDashboardComboChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardComboChartConfigurationPropertyValidator(properties).assertSuccess(),{BarDataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.barDataLabels),BarsArrangement:cdk().stringToCloudFormation(properties.barsArrangement),CategoryAxis:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ColorLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),FieldWells:convertCfnDashboardComboChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),LineDataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.lineDataLabels),PrimaryYAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),ReferenceLines:cdk().listMapper(convertCfnDashboardReferenceLinePropertyToCloudFormation)(properties.referenceLines),SecondaryYAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.secondaryYAxisDisplayOptions),SecondaryYAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.secondaryYAxisLabelOptions),SingleAxisOptions:convertCfnDashboardSingleAxisOptionsPropertyToCloudFormation(properties.singleAxisOptions),SortConfiguration:convertCfnDashboardComboChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnDashboardComboChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barDataLabels","BarDataLabels",properties.BarDataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.BarDataLabels):void 0),ret.addPropertyResult("barsArrangement","BarsArrangement",properties.BarsArrangement!=null?cfn_parse().FromCloudFormation.getString(properties.BarsArrangement):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardComboChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("lineDataLabels","LineDataLabels",properties.LineDataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.LineDataLabels):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("secondaryYAxisDisplayOptions","SecondaryYAxisDisplayOptions",properties.SecondaryYAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.SecondaryYAxisDisplayOptions):void 0),ret.addPropertyResult("secondaryYAxisLabelOptions","SecondaryYAxisLabelOptions",properties.SecondaryYAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.SecondaryYAxisLabelOptions):void 0),ret.addPropertyResult("singleAxisOptions","SingleAxisOptions",properties.SingleAxisOptions!=null?CfnDashboardSingleAxisOptionsPropertyFromCloudFormation(properties.SingleAxisOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardComboChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardComboChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardComboChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "ComboChartVisualProperty"')}function convertCfnDashboardComboChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardComboChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardComboChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardComboChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardComboChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWordCloudSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "WordCloudSortConfigurationProperty"')}function convertCfnDashboardWordCloudSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWordCloudSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnDashboardWordCloudSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWordCloudAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("size",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.size)),errors.wrap('supplied properties not correct for "WordCloudAggregatedFieldWellsProperty"')}function convertCfnDashboardWordCloudAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWordCloudAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{GroupBy:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.groupBy),Size:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.size)}):properties}function CfnDashboardWordCloudAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Size):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWordCloudFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("wordCloudAggregatedFieldWells",CfnDashboardWordCloudAggregatedFieldWellsPropertyValidator)(properties.wordCloudAggregatedFieldWells)),errors.wrap('supplied properties not correct for "WordCloudFieldWellsProperty"')}function convertCfnDashboardWordCloudFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWordCloudFieldWellsPropertyValidator(properties).assertSuccess(),{WordCloudAggregatedFieldWells:convertCfnDashboardWordCloudAggregatedFieldWellsPropertyToCloudFormation(properties.wordCloudAggregatedFieldWells)}):properties}function CfnDashboardWordCloudFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("wordCloudAggregatedFieldWells","WordCloudAggregatedFieldWells",properties.WordCloudAggregatedFieldWells!=null?CfnDashboardWordCloudAggregatedFieldWellsPropertyFromCloudFormation(properties.WordCloudAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWordCloudOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cloudLayout",cdk().validateString)(properties.cloudLayout)),errors.collect(cdk().propertyValidator("maximumStringLength",cdk().validateNumber)(properties.maximumStringLength)),errors.collect(cdk().propertyValidator("wordCasing",cdk().validateString)(properties.wordCasing)),errors.collect(cdk().propertyValidator("wordOrientation",cdk().validateString)(properties.wordOrientation)),errors.collect(cdk().propertyValidator("wordPadding",cdk().validateString)(properties.wordPadding)),errors.collect(cdk().propertyValidator("wordScaling",cdk().validateString)(properties.wordScaling)),errors.wrap('supplied properties not correct for "WordCloudOptionsProperty"')}function convertCfnDashboardWordCloudOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWordCloudOptionsPropertyValidator(properties).assertSuccess(),{CloudLayout:cdk().stringToCloudFormation(properties.cloudLayout),MaximumStringLength:cdk().numberToCloudFormation(properties.maximumStringLength),WordCasing:cdk().stringToCloudFormation(properties.wordCasing),WordOrientation:cdk().stringToCloudFormation(properties.wordOrientation),WordPadding:cdk().stringToCloudFormation(properties.wordPadding),WordScaling:cdk().stringToCloudFormation(properties.wordScaling)}):properties}function CfnDashboardWordCloudOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudLayout","CloudLayout",properties.CloudLayout!=null?cfn_parse().FromCloudFormation.getString(properties.CloudLayout):void 0),ret.addPropertyResult("maximumStringLength","MaximumStringLength",properties.MaximumStringLength!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumStringLength):void 0),ret.addPropertyResult("wordCasing","WordCasing",properties.WordCasing!=null?cfn_parse().FromCloudFormation.getString(properties.WordCasing):void 0),ret.addPropertyResult("wordOrientation","WordOrientation",properties.WordOrientation!=null?cfn_parse().FromCloudFormation.getString(properties.WordOrientation):void 0),ret.addPropertyResult("wordPadding","WordPadding",properties.WordPadding!=null?cfn_parse().FromCloudFormation.getString(properties.WordPadding):void 0),ret.addPropertyResult("wordScaling","WordScaling",properties.WordScaling!=null?cfn_parse().FromCloudFormation.getString(properties.WordScaling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWordCloudChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardWordCloudFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardWordCloudSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("wordCloudOptions",CfnDashboardWordCloudOptionsPropertyValidator)(properties.wordCloudOptions)),errors.wrap('supplied properties not correct for "WordCloudChartConfigurationProperty"')}function convertCfnDashboardWordCloudChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWordCloudChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),FieldWells:convertCfnDashboardWordCloudFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),SortConfiguration:convertCfnDashboardWordCloudSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),WordCloudOptions:convertCfnDashboardWordCloudOptionsPropertyToCloudFormation(properties.wordCloudOptions)}):properties}function CfnDashboardWordCloudChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardWordCloudFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardWordCloudSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("wordCloudOptions","WordCloudOptions",properties.WordCloudOptions!=null?CfnDashboardWordCloudOptionsPropertyFromCloudFormation(properties.WordCloudOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWordCloudVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardWordCloudChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "WordCloudVisualProperty"')}function convertCfnDashboardWordCloudVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWordCloudVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardWordCloudChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardWordCloudVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardWordCloudChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPeriodToDateComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("periodTimeGranularity",cdk().validateString)(properties.periodTimeGranularity)),errors.collect(cdk().propertyValidator("time",CfnDashboardDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("value",CfnDashboardMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "PeriodToDateComputationProperty"')}function convertCfnDashboardPeriodToDateComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPeriodToDateComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),PeriodTimeGranularity:cdk().stringToCloudFormation(properties.periodTimeGranularity),Time:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.time),Value:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnDashboardPeriodToDateComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("periodTimeGranularity","PeriodTimeGranularity",properties.PeriodTimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.PeriodTimeGranularity):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGrowthRateComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("periodSize",cdk().validateNumber)(properties.periodSize)),errors.collect(cdk().propertyValidator("time",CfnDashboardDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("value",CfnDashboardMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "GrowthRateComputationProperty"')}function convertCfnDashboardGrowthRateComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGrowthRateComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),PeriodSize:cdk().numberToCloudFormation(properties.periodSize),Time:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.time),Value:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnDashboardGrowthRateComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("periodSize","PeriodSize",properties.PeriodSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodSize):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTopBottomRankedComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",CfnDashboardDimensionFieldPropertyValidator)(properties.category)),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resultSize",cdk().validateNumber)(properties.resultSize)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",CfnDashboardMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "TopBottomRankedComputationProperty"')}function convertCfnDashboardTopBottomRankedComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTopBottomRankedComputationPropertyValidator(properties).assertSuccess(),{Category:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.category),ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),ResultSize:cdk().numberToCloudFormation(properties.resultSize),Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnDashboardTopBottomRankedComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Category):void 0),ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("resultSize","ResultSize",properties.ResultSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.ResultSize):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTotalAggregationComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",CfnDashboardMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "TotalAggregationComputationProperty"')}function convertCfnDashboardTotalAggregationComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTotalAggregationComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),Value:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnDashboardTotalAggregationComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardForecastComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("customSeasonalityValue",cdk().validateNumber)(properties.customSeasonalityValue)),errors.collect(cdk().propertyValidator("lowerBoundary",cdk().validateNumber)(properties.lowerBoundary)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("periodsBackward",cdk().validateNumber)(properties.periodsBackward)),errors.collect(cdk().propertyValidator("periodsForward",cdk().validateNumber)(properties.periodsForward)),errors.collect(cdk().propertyValidator("predictionInterval",cdk().validateNumber)(properties.predictionInterval)),errors.collect(cdk().propertyValidator("seasonality",cdk().validateString)(properties.seasonality)),errors.collect(cdk().propertyValidator("time",CfnDashboardDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("upperBoundary",cdk().validateNumber)(properties.upperBoundary)),errors.collect(cdk().propertyValidator("value",CfnDashboardMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "ForecastComputationProperty"')}function convertCfnDashboardForecastComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardForecastComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),CustomSeasonalityValue:cdk().numberToCloudFormation(properties.customSeasonalityValue),LowerBoundary:cdk().numberToCloudFormation(properties.lowerBoundary),Name:cdk().stringToCloudFormation(properties.name),PeriodsBackward:cdk().numberToCloudFormation(properties.periodsBackward),PeriodsForward:cdk().numberToCloudFormation(properties.periodsForward),PredictionInterval:cdk().numberToCloudFormation(properties.predictionInterval),Seasonality:cdk().stringToCloudFormation(properties.seasonality),Time:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.time),UpperBoundary:cdk().numberToCloudFormation(properties.upperBoundary),Value:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnDashboardForecastComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("customSeasonalityValue","CustomSeasonalityValue",properties.CustomSeasonalityValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.CustomSeasonalityValue):void 0),ret.addPropertyResult("lowerBoundary","LowerBoundary",properties.LowerBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.LowerBoundary):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("periodsBackward","PeriodsBackward",properties.PeriodsBackward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsBackward):void 0),ret.addPropertyResult("periodsForward","PeriodsForward",properties.PeriodsForward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsForward):void 0),ret.addPropertyResult("predictionInterval","PredictionInterval",properties.PredictionInterval!=null?cfn_parse().FromCloudFormation.getNumber(properties.PredictionInterval):void 0),ret.addPropertyResult("seasonality","Seasonality",properties.Seasonality!=null?cfn_parse().FromCloudFormation.getString(properties.Seasonality):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("upperBoundary","UpperBoundary",properties.UpperBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.UpperBoundary):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardMaximumMinimumComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("time",CfnDashboardDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",CfnDashboardMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "MaximumMinimumComputationProperty"')}function convertCfnDashboardMaximumMinimumComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardMaximumMinimumComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),Time:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.time),Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnDashboardMaximumMinimumComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPeriodOverPeriodComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("time",CfnDashboardDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("value",CfnDashboardMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "PeriodOverPeriodComputationProperty"')}function convertCfnDashboardPeriodOverPeriodComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPeriodOverPeriodComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),Time:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.time),Value:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnDashboardPeriodOverPeriodComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardMetricComparisonComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("fromValue",CfnDashboardMeasureFieldPropertyValidator)(properties.fromValue)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("targetValue",CfnDashboardMeasureFieldPropertyValidator)(properties.targetValue)),errors.collect(cdk().propertyValidator("time",CfnDashboardDimensionFieldPropertyValidator)(properties.time)),errors.wrap('supplied properties not correct for "MetricComparisonComputationProperty"')}function convertCfnDashboardMetricComparisonComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardMetricComparisonComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),FromValue:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.fromValue),Name:cdk().stringToCloudFormation(properties.name),TargetValue:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.targetValue),Time:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.time)}):properties}function CfnDashboardMetricComparisonComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("fromValue","FromValue",properties.FromValue!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.FromValue):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("targetValue","TargetValue",properties.TargetValue!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.TargetValue):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTopBottomMoversComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",CfnDashboardDimensionFieldPropertyValidator)(properties.category)),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("moverSize",cdk().validateNumber)(properties.moverSize)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sortOrder",cdk().validateString)(properties.sortOrder)),errors.collect(cdk().propertyValidator("time",CfnDashboardDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",CfnDashboardMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "TopBottomMoversComputationProperty"')}function convertCfnDashboardTopBottomMoversComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTopBottomMoversComputationPropertyValidator(properties).assertSuccess(),{Category:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.category),ComputationId:cdk().stringToCloudFormation(properties.computationId),MoverSize:cdk().numberToCloudFormation(properties.moverSize),Name:cdk().stringToCloudFormation(properties.name),SortOrder:cdk().stringToCloudFormation(properties.sortOrder),Time:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.time),Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnDashboardMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnDashboardTopBottomMoversComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Category):void 0),ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("moverSize","MoverSize",properties.MoverSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MoverSize):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("sortOrder","SortOrder",properties.SortOrder!=null?cfn_parse().FromCloudFormation.getString(properties.SortOrder):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDashboardMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardUniqueValuesComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",CfnDashboardDimensionFieldPropertyValidator)(properties.category)),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "UniqueValuesComputationProperty"')}function convertCfnDashboardUniqueValuesComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardUniqueValuesComputationPropertyValidator(properties).assertSuccess(),{Category:convertCfnDashboardDimensionFieldPropertyToCloudFormation(properties.category),ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnDashboardUniqueValuesComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?CfnDashboardDimensionFieldPropertyFromCloudFormation(properties.Category):void 0),ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("forecast",CfnDashboardForecastComputationPropertyValidator)(properties.forecast)),errors.collect(cdk().propertyValidator("growthRate",CfnDashboardGrowthRateComputationPropertyValidator)(properties.growthRate)),errors.collect(cdk().propertyValidator("maximumMinimum",CfnDashboardMaximumMinimumComputationPropertyValidator)(properties.maximumMinimum)),errors.collect(cdk().propertyValidator("metricComparison",CfnDashboardMetricComparisonComputationPropertyValidator)(properties.metricComparison)),errors.collect(cdk().propertyValidator("periodOverPeriod",CfnDashboardPeriodOverPeriodComputationPropertyValidator)(properties.periodOverPeriod)),errors.collect(cdk().propertyValidator("periodToDate",CfnDashboardPeriodToDateComputationPropertyValidator)(properties.periodToDate)),errors.collect(cdk().propertyValidator("topBottomMovers",CfnDashboardTopBottomMoversComputationPropertyValidator)(properties.topBottomMovers)),errors.collect(cdk().propertyValidator("topBottomRanked",CfnDashboardTopBottomRankedComputationPropertyValidator)(properties.topBottomRanked)),errors.collect(cdk().propertyValidator("totalAggregation",CfnDashboardTotalAggregationComputationPropertyValidator)(properties.totalAggregation)),errors.collect(cdk().propertyValidator("uniqueValues",CfnDashboardUniqueValuesComputationPropertyValidator)(properties.uniqueValues)),errors.wrap('supplied properties not correct for "ComputationProperty"')}function convertCfnDashboardComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardComputationPropertyValidator(properties).assertSuccess(),{Forecast:convertCfnDashboardForecastComputationPropertyToCloudFormation(properties.forecast),GrowthRate:convertCfnDashboardGrowthRateComputationPropertyToCloudFormation(properties.growthRate),MaximumMinimum:convertCfnDashboardMaximumMinimumComputationPropertyToCloudFormation(properties.maximumMinimum),MetricComparison:convertCfnDashboardMetricComparisonComputationPropertyToCloudFormation(properties.metricComparison),PeriodOverPeriod:convertCfnDashboardPeriodOverPeriodComputationPropertyToCloudFormation(properties.periodOverPeriod),PeriodToDate:convertCfnDashboardPeriodToDateComputationPropertyToCloudFormation(properties.periodToDate),TopBottomMovers:convertCfnDashboardTopBottomMoversComputationPropertyToCloudFormation(properties.topBottomMovers),TopBottomRanked:convertCfnDashboardTopBottomRankedComputationPropertyToCloudFormation(properties.topBottomRanked),TotalAggregation:convertCfnDashboardTotalAggregationComputationPropertyToCloudFormation(properties.totalAggregation),UniqueValues:convertCfnDashboardUniqueValuesComputationPropertyToCloudFormation(properties.uniqueValues)}):properties}function CfnDashboardComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("forecast","Forecast",properties.Forecast!=null?CfnDashboardForecastComputationPropertyFromCloudFormation(properties.Forecast):void 0),ret.addPropertyResult("growthRate","GrowthRate",properties.GrowthRate!=null?CfnDashboardGrowthRateComputationPropertyFromCloudFormation(properties.GrowthRate):void 0),ret.addPropertyResult("maximumMinimum","MaximumMinimum",properties.MaximumMinimum!=null?CfnDashboardMaximumMinimumComputationPropertyFromCloudFormation(properties.MaximumMinimum):void 0),ret.addPropertyResult("metricComparison","MetricComparison",properties.MetricComparison!=null?CfnDashboardMetricComparisonComputationPropertyFromCloudFormation(properties.MetricComparison):void 0),ret.addPropertyResult("periodOverPeriod","PeriodOverPeriod",properties.PeriodOverPeriod!=null?CfnDashboardPeriodOverPeriodComputationPropertyFromCloudFormation(properties.PeriodOverPeriod):void 0),ret.addPropertyResult("periodToDate","PeriodToDate",properties.PeriodToDate!=null?CfnDashboardPeriodToDateComputationPropertyFromCloudFormation(properties.PeriodToDate):void 0),ret.addPropertyResult("topBottomMovers","TopBottomMovers",properties.TopBottomMovers!=null?CfnDashboardTopBottomMoversComputationPropertyFromCloudFormation(properties.TopBottomMovers):void 0),ret.addPropertyResult("topBottomRanked","TopBottomRanked",properties.TopBottomRanked!=null?CfnDashboardTopBottomRankedComputationPropertyFromCloudFormation(properties.TopBottomRanked):void 0),ret.addPropertyResult("totalAggregation","TotalAggregation",properties.TotalAggregation!=null?CfnDashboardTotalAggregationComputationPropertyFromCloudFormation(properties.TotalAggregation):void 0),ret.addPropertyResult("uniqueValues","UniqueValues",properties.UniqueValues!=null?CfnDashboardUniqueValuesComputationPropertyFromCloudFormation(properties.UniqueValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCustomNarrativeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("narrative",cdk().requiredValidator)(properties.narrative)),errors.collect(cdk().propertyValidator("narrative",cdk().validateString)(properties.narrative)),errors.wrap('supplied properties not correct for "CustomNarrativeOptionsProperty"')}function convertCfnDashboardCustomNarrativeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCustomNarrativeOptionsPropertyValidator(properties).assertSuccess(),{Narrative:cdk().stringToCloudFormation(properties.narrative)}):properties}function CfnDashboardCustomNarrativeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("narrative","Narrative",properties.Narrative!=null?cfn_parse().FromCloudFormation.getString(properties.Narrative):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardInsightConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computations",cdk().listValidator(CfnDashboardComputationPropertyValidator))(properties.computations)),errors.collect(cdk().propertyValidator("customNarrative",CfnDashboardCustomNarrativeOptionsPropertyValidator)(properties.customNarrative)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.wrap('supplied properties not correct for "InsightConfigurationProperty"')}function convertCfnDashboardInsightConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardInsightConfigurationPropertyValidator(properties).assertSuccess(),{Computations:cdk().listMapper(convertCfnDashboardComputationPropertyToCloudFormation)(properties.computations),CustomNarrative:convertCfnDashboardCustomNarrativeOptionsPropertyToCloudFormation(properties.customNarrative),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions)}):properties}function CfnDashboardInsightConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computations","Computations",properties.Computations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardComputationPropertyFromCloudFormation)(properties.Computations):void 0),ret.addPropertyResult("customNarrative","CustomNarrative",properties.CustomNarrative!=null?CfnDashboardCustomNarrativeOptionsPropertyFromCloudFormation(properties.CustomNarrative):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardInsightVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("insightConfiguration",CfnDashboardInsightConfigurationPropertyValidator)(properties.insightConfiguration)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "InsightVisualProperty"')}function convertCfnDashboardInsightVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardInsightVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),InsightConfiguration:convertCfnDashboardInsightConfigurationPropertyToCloudFormation(properties.insightConfiguration),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardInsightVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("insightConfiguration","InsightConfiguration",properties.InsightConfiguration!=null?CfnDashboardInsightConfigurationPropertyFromCloudFormation(properties.InsightConfiguration):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSankeyDiagramSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.destinationItemsLimit)),errors.collect(cdk().propertyValidator("sourceItemsLimit",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.sourceItemsLimit)),errors.collect(cdk().propertyValidator("weightSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.weightSort)),errors.wrap('supplied properties not correct for "SankeyDiagramSortConfigurationProperty"')}function convertCfnDashboardSankeyDiagramSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSankeyDiagramSortConfigurationPropertyValidator(properties).assertSuccess(),{DestinationItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.destinationItemsLimit),SourceItemsLimit:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.sourceItemsLimit),WeightSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.weightSort)}):properties}function CfnDashboardSankeyDiagramSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationItemsLimit","DestinationItemsLimit",properties.DestinationItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.DestinationItemsLimit):void 0),ret.addPropertyResult("sourceItemsLimit","SourceItemsLimit",properties.SourceItemsLimit!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.SourceItemsLimit):void 0),ret.addPropertyResult("weightSort","WeightSort",properties.WeightSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.WeightSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSankeyDiagramAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destination",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.destination)),errors.collect(cdk().propertyValidator("source",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.source)),errors.collect(cdk().propertyValidator("weight",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.weight)),errors.wrap('supplied properties not correct for "SankeyDiagramAggregatedFieldWellsProperty"')}function convertCfnDashboardSankeyDiagramAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSankeyDiagramAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Destination:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.destination),Source:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.source),Weight:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.weight)}):properties}function CfnDashboardSankeyDiagramAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",properties.Destination!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Destination):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Source):void 0),ret.addPropertyResult("weight","Weight",properties.Weight!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Weight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSankeyDiagramFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sankeyDiagramAggregatedFieldWells",CfnDashboardSankeyDiagramAggregatedFieldWellsPropertyValidator)(properties.sankeyDiagramAggregatedFieldWells)),errors.wrap('supplied properties not correct for "SankeyDiagramFieldWellsProperty"')}function convertCfnDashboardSankeyDiagramFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSankeyDiagramFieldWellsPropertyValidator(properties).assertSuccess(),{SankeyDiagramAggregatedFieldWells:convertCfnDashboardSankeyDiagramAggregatedFieldWellsPropertyToCloudFormation(properties.sankeyDiagramAggregatedFieldWells)}):properties}function CfnDashboardSankeyDiagramFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sankeyDiagramAggregatedFieldWells","SankeyDiagramAggregatedFieldWells",properties.SankeyDiagramAggregatedFieldWells!=null?CfnDashboardSankeyDiagramAggregatedFieldWellsPropertyFromCloudFormation(properties.SankeyDiagramAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSankeyDiagramChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardSankeyDiagramFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardSankeyDiagramSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.wrap('supplied properties not correct for "SankeyDiagramChartConfigurationProperty"')}function convertCfnDashboardSankeyDiagramChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSankeyDiagramChartConfigurationPropertyValidator(properties).assertSuccess(),{DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnDashboardSankeyDiagramFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),SortConfiguration:convertCfnDashboardSankeyDiagramSortConfigurationPropertyToCloudFormation(properties.sortConfiguration)}):properties}function CfnDashboardSankeyDiagramChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardSankeyDiagramFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardSankeyDiagramSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSankeyDiagramVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardSankeyDiagramChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "SankeyDiagramVisualProperty"')}function convertCfnDashboardSankeyDiagramVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSankeyDiagramVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardSankeyDiagramChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardSankeyDiagramVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardSankeyDiagramChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGaugeChartArcConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("foregroundColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.foregroundColor)),errors.wrap('supplied properties not correct for "GaugeChartArcConditionalFormattingProperty"')}function convertCfnDashboardGaugeChartArcConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGaugeChartArcConditionalFormattingPropertyValidator(properties).assertSuccess(),{ForegroundColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.foregroundColor)}):properties}function CfnDashboardGaugeChartArcConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("foregroundColor","ForegroundColor",properties.ForegroundColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.ForegroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGaugeChartPrimaryValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnDashboardConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnDashboardConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "GaugeChartPrimaryValueConditionalFormattingProperty"')}function convertCfnDashboardGaugeChartPrimaryValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGaugeChartPrimaryValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnDashboardConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnDashboardConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnDashboardGaugeChartPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnDashboardConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnDashboardConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGaugeChartConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arc",CfnDashboardGaugeChartArcConditionalFormattingPropertyValidator)(properties.arc)),errors.collect(cdk().propertyValidator("primaryValue",CfnDashboardGaugeChartPrimaryValueConditionalFormattingPropertyValidator)(properties.primaryValue)),errors.wrap('supplied properties not correct for "GaugeChartConditionalFormattingOptionProperty"')}function convertCfnDashboardGaugeChartConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGaugeChartConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Arc:convertCfnDashboardGaugeChartArcConditionalFormattingPropertyToCloudFormation(properties.arc),PrimaryValue:convertCfnDashboardGaugeChartPrimaryValueConditionalFormattingPropertyToCloudFormation(properties.primaryValue)}):properties}function CfnDashboardGaugeChartConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arc","Arc",properties.Arc!=null?CfnDashboardGaugeChartArcConditionalFormattingPropertyFromCloudFormation(properties.Arc):void 0),ret.addPropertyResult("primaryValue","PrimaryValue",properties.PrimaryValue!=null?CfnDashboardGaugeChartPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties.PrimaryValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGaugeChartConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnDashboardGaugeChartConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "GaugeChartConditionalFormattingProperty"')}function convertCfnDashboardGaugeChartConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGaugeChartConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnDashboardGaugeChartConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnDashboardGaugeChartConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGaugeChartConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGaugeChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetValues",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.targetValues)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "GaugeChartFieldWellsProperty"')}function convertCfnDashboardGaugeChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGaugeChartFieldWellsPropertyValidator(properties).assertSuccess(),{TargetValues:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.targetValues),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardGaugeChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetValues","TargetValues",properties.TargetValues!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.TargetValues):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardArcConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcAngle",cdk().validateNumber)(properties.arcAngle)),errors.collect(cdk().propertyValidator("arcThickness",cdk().validateString)(properties.arcThickness)),errors.wrap('supplied properties not correct for "ArcConfigurationProperty"')}function convertCfnDashboardArcConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardArcConfigurationPropertyValidator(properties).assertSuccess(),{ArcAngle:cdk().numberToCloudFormation(properties.arcAngle),ArcThickness:cdk().stringToCloudFormation(properties.arcThickness)}):properties}function CfnDashboardArcConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcAngle","ArcAngle",properties.ArcAngle!=null?cfn_parse().FromCloudFormation.getNumber(properties.ArcAngle):void 0),ret.addPropertyResult("arcThickness","ArcThickness",properties.ArcThickness!=null?cfn_parse().FromCloudFormation.getString(properties.ArcThickness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardArcAxisDisplayRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "ArcAxisDisplayRangeProperty"')}function convertCfnDashboardArcAxisDisplayRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardArcAxisDisplayRangePropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnDashboardArcAxisDisplayRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardArcAxisConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("range",CfnDashboardArcAxisDisplayRangePropertyValidator)(properties.range)),errors.collect(cdk().propertyValidator("reserveRange",cdk().validateNumber)(properties.reserveRange)),errors.wrap('supplied properties not correct for "ArcAxisConfigurationProperty"')}function convertCfnDashboardArcAxisConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardArcAxisConfigurationPropertyValidator(properties).assertSuccess(),{Range:convertCfnDashboardArcAxisDisplayRangePropertyToCloudFormation(properties.range),ReserveRange:cdk().numberToCloudFormation(properties.reserveRange)}):properties}function CfnDashboardArcAxisConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("range","Range",properties.Range!=null?CfnDashboardArcAxisDisplayRangePropertyFromCloudFormation(properties.Range):void 0),ret.addPropertyResult("reserveRange","ReserveRange",properties.ReserveRange!=null?cfn_parse().FromCloudFormation.getNumber(properties.ReserveRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGaugeChartOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arc",CfnDashboardArcConfigurationPropertyValidator)(properties.arc)),errors.collect(cdk().propertyValidator("arcAxis",CfnDashboardArcAxisConfigurationPropertyValidator)(properties.arcAxis)),errors.collect(cdk().propertyValidator("comparison",CfnDashboardComparisonConfigurationPropertyValidator)(properties.comparison)),errors.collect(cdk().propertyValidator("primaryValueDisplayType",cdk().validateString)(properties.primaryValueDisplayType)),errors.collect(cdk().propertyValidator("primaryValueFontConfiguration",CfnDashboardFontConfigurationPropertyValidator)(properties.primaryValueFontConfiguration)),errors.wrap('supplied properties not correct for "GaugeChartOptionsProperty"')}function convertCfnDashboardGaugeChartOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGaugeChartOptionsPropertyValidator(properties).assertSuccess(),{Arc:convertCfnDashboardArcConfigurationPropertyToCloudFormation(properties.arc),ArcAxis:convertCfnDashboardArcAxisConfigurationPropertyToCloudFormation(properties.arcAxis),Comparison:convertCfnDashboardComparisonConfigurationPropertyToCloudFormation(properties.comparison),PrimaryValueDisplayType:cdk().stringToCloudFormation(properties.primaryValueDisplayType),PrimaryValueFontConfiguration:convertCfnDashboardFontConfigurationPropertyToCloudFormation(properties.primaryValueFontConfiguration)}):properties}function CfnDashboardGaugeChartOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arc","Arc",properties.Arc!=null?CfnDashboardArcConfigurationPropertyFromCloudFormation(properties.Arc):void 0),ret.addPropertyResult("arcAxis","ArcAxis",properties.ArcAxis!=null?CfnDashboardArcAxisConfigurationPropertyFromCloudFormation(properties.ArcAxis):void 0),ret.addPropertyResult("comparison","Comparison",properties.Comparison!=null?CfnDashboardComparisonConfigurationPropertyFromCloudFormation(properties.Comparison):void 0),ret.addPropertyResult("primaryValueDisplayType","PrimaryValueDisplayType",properties.PrimaryValueDisplayType!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryValueDisplayType):void 0),ret.addPropertyResult("primaryValueFontConfiguration","PrimaryValueFontConfiguration",properties.PrimaryValueFontConfiguration!=null?CfnDashboardFontConfigurationPropertyFromCloudFormation(properties.PrimaryValueFontConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGaugeChartColorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("foregroundColor",cdk().validateString)(properties.foregroundColor)),errors.wrap('supplied properties not correct for "GaugeChartColorConfigurationProperty"')}function convertCfnDashboardGaugeChartColorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGaugeChartColorConfigurationPropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),ForegroundColor:cdk().stringToCloudFormation(properties.foregroundColor)}):properties}function CfnDashboardGaugeChartColorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("foregroundColor","ForegroundColor",properties.ForegroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.ForegroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGaugeChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorConfiguration",CfnDashboardGaugeChartColorConfigurationPropertyValidator)(properties.colorConfiguration)),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardGaugeChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("gaugeChartOptions",CfnDashboardGaugeChartOptionsPropertyValidator)(properties.gaugeChartOptions)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("tooltipOptions",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltipOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "GaugeChartConfigurationProperty"')}function convertCfnDashboardGaugeChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGaugeChartConfigurationPropertyValidator(properties).assertSuccess(),{ColorConfiguration:convertCfnDashboardGaugeChartColorConfigurationPropertyToCloudFormation(properties.colorConfiguration),DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnDashboardGaugeChartFieldWellsPropertyToCloudFormation(properties.fieldWells),GaugeChartOptions:convertCfnDashboardGaugeChartOptionsPropertyToCloudFormation(properties.gaugeChartOptions),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),TooltipOptions:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltipOptions),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnDashboardGaugeChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorConfiguration","ColorConfiguration",properties.ColorConfiguration!=null?CfnDashboardGaugeChartColorConfigurationPropertyFromCloudFormation(properties.ColorConfiguration):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardGaugeChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("gaugeChartOptions","GaugeChartOptions",properties.GaugeChartOptions!=null?CfnDashboardGaugeChartOptionsPropertyFromCloudFormation(properties.GaugeChartOptions):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("tooltipOptions","TooltipOptions",properties.TooltipOptions!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.TooltipOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGaugeChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardGaugeChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnDashboardGaugeChartConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "GaugeChartVisualProperty"')}function convertCfnDashboardGaugeChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGaugeChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardGaugeChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ConditionalFormatting:convertCfnDashboardGaugeChartConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardGaugeChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardGaugeChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnDashboardGaugeChartConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimitConfiguration",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimitConfiguration",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesLimitConfiguration",CfnDashboardItemsLimitConfigurationPropertyValidator)(properties.smallMultiplesLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.smallMultiplesSort)),errors.wrap('supplied properties not correct for "LineChartSortConfigurationProperty"')}function convertCfnDashboardLineChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimitConfiguration:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimitConfiguration),CategorySort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimitConfiguration:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimitConfiguration),SmallMultiplesLimitConfiguration:convertCfnDashboardItemsLimitConfigurationPropertyToCloudFormation(properties.smallMultiplesLimitConfiguration),SmallMultiplesSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.smallMultiplesSort)}):properties}function CfnDashboardLineChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimitConfiguration","CategoryItemsLimitConfiguration",properties.CategoryItemsLimitConfiguration!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimitConfiguration):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimitConfiguration","ColorItemsLimitConfiguration",properties.ColorItemsLimitConfiguration!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesLimitConfiguration","SmallMultiplesLimitConfiguration",properties.SmallMultiplesLimitConfiguration!=null?CfnDashboardItemsLimitConfigurationPropertyFromCloudFormation(properties.SmallMultiplesLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesSort","SmallMultiplesSort",properties.SmallMultiplesSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.SmallMultiplesSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardMissingDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("treatmentOption",cdk().validateString)(properties.treatmentOption)),errors.wrap('supplied properties not correct for "MissingDataConfigurationProperty"')}function convertCfnDashboardMissingDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardMissingDataConfigurationPropertyValidator(properties).assertSuccess(),{TreatmentOption:cdk().stringToCloudFormation(properties.treatmentOption)}):properties}function CfnDashboardMissingDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("treatmentOption","TreatmentOption",properties.TreatmentOption!=null?cfn_parse().FromCloudFormation.getString(properties.TreatmentOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineSeriesAxisDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.axisOptions)),errors.collect(cdk().propertyValidator("missingDataConfigurations",cdk().listValidator(CfnDashboardMissingDataConfigurationPropertyValidator))(properties.missingDataConfigurations)),errors.wrap('supplied properties not correct for "LineSeriesAxisDisplayOptionsProperty"')}function convertCfnDashboardLineSeriesAxisDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineSeriesAxisDisplayOptionsPropertyValidator(properties).assertSuccess(),{AxisOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.axisOptions),MissingDataConfigurations:cdk().listMapper(convertCfnDashboardMissingDataConfigurationPropertyToCloudFormation)(properties.missingDataConfigurations)}):properties}function CfnDashboardLineSeriesAxisDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisOptions","AxisOptions",properties.AxisOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.AxisOptions):void 0),ret.addPropertyResult("missingDataConfigurations","MissingDataConfigurations",properties.MissingDataConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMissingDataConfigurationPropertyFromCloudFormation)(properties.MissingDataConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineChartLineStyleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineInterpolation",cdk().validateString)(properties.lineInterpolation)),errors.collect(cdk().propertyValidator("lineStyle",cdk().validateString)(properties.lineStyle)),errors.collect(cdk().propertyValidator("lineVisibility",cdk().validateString)(properties.lineVisibility)),errors.collect(cdk().propertyValidator("lineWidth",cdk().validateString)(properties.lineWidth)),errors.wrap('supplied properties not correct for "LineChartLineStyleSettingsProperty"')}function convertCfnDashboardLineChartLineStyleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineChartLineStyleSettingsPropertyValidator(properties).assertSuccess(),{LineInterpolation:cdk().stringToCloudFormation(properties.lineInterpolation),LineStyle:cdk().stringToCloudFormation(properties.lineStyle),LineVisibility:cdk().stringToCloudFormation(properties.lineVisibility),LineWidth:cdk().stringToCloudFormation(properties.lineWidth)}):properties}function CfnDashboardLineChartLineStyleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineInterpolation","LineInterpolation",properties.LineInterpolation!=null?cfn_parse().FromCloudFormation.getString(properties.LineInterpolation):void 0),ret.addPropertyResult("lineStyle","LineStyle",properties.LineStyle!=null?cfn_parse().FromCloudFormation.getString(properties.LineStyle):void 0),ret.addPropertyResult("lineVisibility","LineVisibility",properties.LineVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.LineVisibility):void 0),ret.addPropertyResult("lineWidth","LineWidth",properties.LineWidth!=null?cfn_parse().FromCloudFormation.getString(properties.LineWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineChartMarkerStyleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("markerColor",cdk().validateString)(properties.markerColor)),errors.collect(cdk().propertyValidator("markerShape",cdk().validateString)(properties.markerShape)),errors.collect(cdk().propertyValidator("markerSize",cdk().validateString)(properties.markerSize)),errors.collect(cdk().propertyValidator("markerVisibility",cdk().validateString)(properties.markerVisibility)),errors.wrap('supplied properties not correct for "LineChartMarkerStyleSettingsProperty"')}function convertCfnDashboardLineChartMarkerStyleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineChartMarkerStyleSettingsPropertyValidator(properties).assertSuccess(),{MarkerColor:cdk().stringToCloudFormation(properties.markerColor),MarkerShape:cdk().stringToCloudFormation(properties.markerShape),MarkerSize:cdk().stringToCloudFormation(properties.markerSize),MarkerVisibility:cdk().stringToCloudFormation(properties.markerVisibility)}):properties}function CfnDashboardLineChartMarkerStyleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("markerColor","MarkerColor",properties.MarkerColor!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerColor):void 0),ret.addPropertyResult("markerShape","MarkerShape",properties.MarkerShape!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerShape):void 0),ret.addPropertyResult("markerSize","MarkerSize",properties.MarkerSize!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerSize):void 0),ret.addPropertyResult("markerVisibility","MarkerVisibility",properties.MarkerVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineChartDefaultSeriesSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("lineStyleSettings",CfnDashboardLineChartLineStyleSettingsPropertyValidator)(properties.lineStyleSettings)),errors.collect(cdk().propertyValidator("markerStyleSettings",CfnDashboardLineChartMarkerStyleSettingsPropertyValidator)(properties.markerStyleSettings)),errors.wrap('supplied properties not correct for "LineChartDefaultSeriesSettingsProperty"')}function convertCfnDashboardLineChartDefaultSeriesSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineChartDefaultSeriesSettingsPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),LineStyleSettings:convertCfnDashboardLineChartLineStyleSettingsPropertyToCloudFormation(properties.lineStyleSettings),MarkerStyleSettings:convertCfnDashboardLineChartMarkerStyleSettingsPropertyToCloudFormation(properties.markerStyleSettings)}):properties}function CfnDashboardLineChartDefaultSeriesSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("lineStyleSettings","LineStyleSettings",properties.LineStyleSettings!=null?CfnDashboardLineChartLineStyleSettingsPropertyFromCloudFormation(properties.LineStyleSettings):void 0),ret.addPropertyResult("markerStyleSettings","MarkerStyleSettings",properties.MarkerStyleSettings!=null?CfnDashboardLineChartMarkerStyleSettingsPropertyFromCloudFormation(properties.MarkerStyleSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTimeBasedForecastPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lowerBoundary",cdk().validateNumber)(properties.lowerBoundary)),errors.collect(cdk().propertyValidator("periodsBackward",cdk().validateNumber)(properties.periodsBackward)),errors.collect(cdk().propertyValidator("periodsForward",cdk().validateNumber)(properties.periodsForward)),errors.collect(cdk().propertyValidator("predictionInterval",cdk().validateNumber)(properties.predictionInterval)),errors.collect(cdk().propertyValidator("seasonality",cdk().validateNumber)(properties.seasonality)),errors.collect(cdk().propertyValidator("upperBoundary",cdk().validateNumber)(properties.upperBoundary)),errors.wrap('supplied properties not correct for "TimeBasedForecastPropertiesProperty"')}function convertCfnDashboardTimeBasedForecastPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTimeBasedForecastPropertiesPropertyValidator(properties).assertSuccess(),{LowerBoundary:cdk().numberToCloudFormation(properties.lowerBoundary),PeriodsBackward:cdk().numberToCloudFormation(properties.periodsBackward),PeriodsForward:cdk().numberToCloudFormation(properties.periodsForward),PredictionInterval:cdk().numberToCloudFormation(properties.predictionInterval),Seasonality:cdk().numberToCloudFormation(properties.seasonality),UpperBoundary:cdk().numberToCloudFormation(properties.upperBoundary)}):properties}function CfnDashboardTimeBasedForecastPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lowerBoundary","LowerBoundary",properties.LowerBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.LowerBoundary):void 0),ret.addPropertyResult("periodsBackward","PeriodsBackward",properties.PeriodsBackward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsBackward):void 0),ret.addPropertyResult("periodsForward","PeriodsForward",properties.PeriodsForward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsForward):void 0),ret.addPropertyResult("predictionInterval","PredictionInterval",properties.PredictionInterval!=null?cfn_parse().FromCloudFormation.getNumber(properties.PredictionInterval):void 0),ret.addPropertyResult("seasonality","Seasonality",properties.Seasonality!=null?cfn_parse().FromCloudFormation.getNumber(properties.Seasonality):void 0),ret.addPropertyResult("upperBoundary","UpperBoundary",properties.UpperBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.UpperBoundary):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWhatIfRangeScenarioPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("endDate",cdk().requiredValidator)(properties.endDate)),errors.collect(cdk().propertyValidator("endDate",cdk().validateString)(properties.endDate)),errors.collect(cdk().propertyValidator("startDate",cdk().requiredValidator)(properties.startDate)),errors.collect(cdk().propertyValidator("startDate",cdk().validateString)(properties.startDate)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "WhatIfRangeScenarioProperty"')}function convertCfnDashboardWhatIfRangeScenarioPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWhatIfRangeScenarioPropertyValidator(properties).assertSuccess(),{EndDate:cdk().stringToCloudFormation(properties.endDate),StartDate:cdk().stringToCloudFormation(properties.startDate),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnDashboardWhatIfRangeScenarioPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("endDate","EndDate",properties.EndDate!=null?cfn_parse().FromCloudFormation.getString(properties.EndDate):void 0),ret.addPropertyResult("startDate","StartDate",properties.StartDate!=null?cfn_parse().FromCloudFormation.getString(properties.StartDate):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWhatIfPointScenarioPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("date",cdk().requiredValidator)(properties.date)),errors.collect(cdk().propertyValidator("date",cdk().validateString)(properties.date)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "WhatIfPointScenarioProperty"')}function convertCfnDashboardWhatIfPointScenarioPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWhatIfPointScenarioPropertyValidator(properties).assertSuccess(),{Date:cdk().stringToCloudFormation(properties.date),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnDashboardWhatIfPointScenarioPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("date","Date",properties.Date!=null?cfn_parse().FromCloudFormation.getString(properties.Date):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardForecastScenarioPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("whatIfPointScenario",CfnDashboardWhatIfPointScenarioPropertyValidator)(properties.whatIfPointScenario)),errors.collect(cdk().propertyValidator("whatIfRangeScenario",CfnDashboardWhatIfRangeScenarioPropertyValidator)(properties.whatIfRangeScenario)),errors.wrap('supplied properties not correct for "ForecastScenarioProperty"')}function convertCfnDashboardForecastScenarioPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardForecastScenarioPropertyValidator(properties).assertSuccess(),{WhatIfPointScenario:convertCfnDashboardWhatIfPointScenarioPropertyToCloudFormation(properties.whatIfPointScenario),WhatIfRangeScenario:convertCfnDashboardWhatIfRangeScenarioPropertyToCloudFormation(properties.whatIfRangeScenario)}):properties}function CfnDashboardForecastScenarioPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("whatIfPointScenario","WhatIfPointScenario",properties.WhatIfPointScenario!=null?CfnDashboardWhatIfPointScenarioPropertyFromCloudFormation(properties.WhatIfPointScenario):void 0),ret.addPropertyResult("whatIfRangeScenario","WhatIfRangeScenario",properties.WhatIfRangeScenario!=null?CfnDashboardWhatIfRangeScenarioPropertyFromCloudFormation(properties.WhatIfRangeScenario):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardForecastConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("forecastProperties",CfnDashboardTimeBasedForecastPropertiesPropertyValidator)(properties.forecastProperties)),errors.collect(cdk().propertyValidator("scenario",CfnDashboardForecastScenarioPropertyValidator)(properties.scenario)),errors.wrap('supplied properties not correct for "ForecastConfigurationProperty"')}function convertCfnDashboardForecastConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardForecastConfigurationPropertyValidator(properties).assertSuccess(),{ForecastProperties:convertCfnDashboardTimeBasedForecastPropertiesPropertyToCloudFormation(properties.forecastProperties),Scenario:convertCfnDashboardForecastScenarioPropertyToCloudFormation(properties.scenario)}):properties}function CfnDashboardForecastConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("forecastProperties","ForecastProperties",properties.ForecastProperties!=null?CfnDashboardTimeBasedForecastPropertiesPropertyFromCloudFormation(properties.ForecastProperties):void 0),ret.addPropertyResult("scenario","Scenario",properties.Scenario!=null?CfnDashboardForecastScenarioPropertyFromCloudFormation(properties.Scenario):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineChartSeriesSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineStyleSettings",CfnDashboardLineChartLineStyleSettingsPropertyValidator)(properties.lineStyleSettings)),errors.collect(cdk().propertyValidator("markerStyleSettings",CfnDashboardLineChartMarkerStyleSettingsPropertyValidator)(properties.markerStyleSettings)),errors.wrap('supplied properties not correct for "LineChartSeriesSettingsProperty"')}function convertCfnDashboardLineChartSeriesSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineChartSeriesSettingsPropertyValidator(properties).assertSuccess(),{LineStyleSettings:convertCfnDashboardLineChartLineStyleSettingsPropertyToCloudFormation(properties.lineStyleSettings),MarkerStyleSettings:convertCfnDashboardLineChartMarkerStyleSettingsPropertyToCloudFormation(properties.markerStyleSettings)}):properties}function CfnDashboardLineChartSeriesSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineStyleSettings","LineStyleSettings",properties.LineStyleSettings!=null?CfnDashboardLineChartLineStyleSettingsPropertyFromCloudFormation(properties.LineStyleSettings):void 0),ret.addPropertyResult("markerStyleSettings","MarkerStyleSettings",properties.MarkerStyleSettings!=null?CfnDashboardLineChartMarkerStyleSettingsPropertyFromCloudFormation(properties.MarkerStyleSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardFieldSeriesItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().requiredValidator)(properties.axisBinding)),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("settings",CfnDashboardLineChartSeriesSettingsPropertyValidator)(properties.settings)),errors.wrap('supplied properties not correct for "FieldSeriesItemProperty"')}function convertCfnDashboardFieldSeriesItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardFieldSeriesItemPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),FieldId:cdk().stringToCloudFormation(properties.fieldId),Settings:convertCfnDashboardLineChartSeriesSettingsPropertyToCloudFormation(properties.settings)}):properties}function CfnDashboardFieldSeriesItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("settings","Settings",properties.Settings!=null?CfnDashboardLineChartSeriesSettingsPropertyFromCloudFormation(properties.Settings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDataFieldSeriesItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().requiredValidator)(properties.axisBinding)),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.collect(cdk().propertyValidator("settings",CfnDashboardLineChartSeriesSettingsPropertyValidator)(properties.settings)),errors.wrap('supplied properties not correct for "DataFieldSeriesItemProperty"')}function convertCfnDashboardDataFieldSeriesItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDataFieldSeriesItemPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),FieldId:cdk().stringToCloudFormation(properties.fieldId),FieldValue:cdk().stringToCloudFormation(properties.fieldValue),Settings:convertCfnDashboardLineChartSeriesSettingsPropertyToCloudFormation(properties.settings)}):properties}function CfnDashboardDataFieldSeriesItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addPropertyResult("settings","Settings",properties.Settings!=null?CfnDashboardLineChartSeriesSettingsPropertyFromCloudFormation(properties.Settings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSeriesItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataFieldSeriesItem",CfnDashboardDataFieldSeriesItemPropertyValidator)(properties.dataFieldSeriesItem)),errors.collect(cdk().propertyValidator("fieldSeriesItem",CfnDashboardFieldSeriesItemPropertyValidator)(properties.fieldSeriesItem)),errors.wrap('supplied properties not correct for "SeriesItemProperty"')}function convertCfnDashboardSeriesItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSeriesItemPropertyValidator(properties).assertSuccess(),{DataFieldSeriesItem:convertCfnDashboardDataFieldSeriesItemPropertyToCloudFormation(properties.dataFieldSeriesItem),FieldSeriesItem:convertCfnDashboardFieldSeriesItemPropertyToCloudFormation(properties.fieldSeriesItem)}):properties}function CfnDashboardSeriesItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataFieldSeriesItem","DataFieldSeriesItem",properties.DataFieldSeriesItem!=null?CfnDashboardDataFieldSeriesItemPropertyFromCloudFormation(properties.DataFieldSeriesItem):void 0),ret.addPropertyResult("fieldSeriesItem","FieldSeriesItem",properties.FieldSeriesItem!=null?CfnDashboardFieldSeriesItemPropertyFromCloudFormation(properties.FieldSeriesItem):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("smallMultiples",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.smallMultiples)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "LineChartAggregatedFieldWellsProperty"')}function convertCfnDashboardLineChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.category),Colors:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.colors),SmallMultiples:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.smallMultiples),Values:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnDashboardLineChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("smallMultiples","SmallMultiples",properties.SmallMultiples!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.SmallMultiples):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineChartAggregatedFieldWells",CfnDashboardLineChartAggregatedFieldWellsPropertyValidator)(properties.lineChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "LineChartFieldWellsProperty"')}function convertCfnDashboardLineChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineChartFieldWellsPropertyValidator(properties).assertSuccess(),{LineChartAggregatedFieldWells:convertCfnDashboardLineChartAggregatedFieldWellsPropertyToCloudFormation(properties.lineChartAggregatedFieldWells)}):properties}function CfnDashboardLineChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineChartAggregatedFieldWells","LineChartAggregatedFieldWells",properties.LineChartAggregatedFieldWells!=null?CfnDashboardLineChartAggregatedFieldWellsPropertyFromCloudFormation(properties.LineChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contributionAnalysisDefaults",cdk().listValidator(CfnDashboardContributionAnalysisDefaultPropertyValidator))(properties.contributionAnalysisDefaults)),errors.collect(cdk().propertyValidator("dataLabels",CfnDashboardDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("defaultSeriesSettings",CfnDashboardLineChartDefaultSeriesSettingsPropertyValidator)(properties.defaultSeriesSettings)),errors.collect(cdk().propertyValidator("fieldWells",CfnDashboardLineChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("forecastConfigurations",cdk().listValidator(CfnDashboardForecastConfigurationPropertyValidator))(properties.forecastConfigurations)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnDashboardLineSeriesAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnDashboardReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("secondaryYAxisDisplayOptions",CfnDashboardLineSeriesAxisDisplayOptionsPropertyValidator)(properties.secondaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("secondaryYAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.secondaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("series",cdk().listValidator(CfnDashboardSeriesItemPropertyValidator))(properties.series)),errors.collect(cdk().propertyValidator("singleAxisOptions",CfnDashboardSingleAxisOptionsPropertyValidator)(properties.singleAxisOptions)),errors.collect(cdk().propertyValidator("smallMultiplesOptions",CfnDashboardSmallMultiplesOptionsPropertyValidator)(properties.smallMultiplesOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardLineChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("visualPalette",CfnDashboardVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("xAxisDisplayOptions",CfnDashboardAxisDisplayOptionsPropertyValidator)(properties.xAxisDisplayOptions)),errors.collect(cdk().propertyValidator("xAxisLabelOptions",CfnDashboardChartAxisLabelOptionsPropertyValidator)(properties.xAxisLabelOptions)),errors.wrap('supplied properties not correct for "LineChartConfigurationProperty"')}function convertCfnDashboardLineChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineChartConfigurationPropertyValidator(properties).assertSuccess(),{ContributionAnalysisDefaults:cdk().listMapper(convertCfnDashboardContributionAnalysisDefaultPropertyToCloudFormation)(properties.contributionAnalysisDefaults),DataLabels:convertCfnDashboardDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),DefaultSeriesSettings:convertCfnDashboardLineChartDefaultSeriesSettingsPropertyToCloudFormation(properties.defaultSeriesSettings),FieldWells:convertCfnDashboardLineChartFieldWellsPropertyToCloudFormation(properties.fieldWells),ForecastConfigurations:cdk().listMapper(convertCfnDashboardForecastConfigurationPropertyToCloudFormation)(properties.forecastConfigurations),Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),PrimaryYAxisDisplayOptions:convertCfnDashboardLineSeriesAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),ReferenceLines:cdk().listMapper(convertCfnDashboardReferenceLinePropertyToCloudFormation)(properties.referenceLines),SecondaryYAxisDisplayOptions:convertCfnDashboardLineSeriesAxisDisplayOptionsPropertyToCloudFormation(properties.secondaryYAxisDisplayOptions),SecondaryYAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.secondaryYAxisLabelOptions),Series:cdk().listMapper(convertCfnDashboardSeriesItemPropertyToCloudFormation)(properties.series),SingleAxisOptions:convertCfnDashboardSingleAxisOptionsPropertyToCloudFormation(properties.singleAxisOptions),SmallMultiplesOptions:convertCfnDashboardSmallMultiplesOptionsPropertyToCloudFormation(properties.smallMultiplesOptions),SortConfiguration:convertCfnDashboardLineChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),Type:cdk().stringToCloudFormation(properties.type),VisualPalette:convertCfnDashboardVisualPalettePropertyToCloudFormation(properties.visualPalette),XAxisDisplayOptions:convertCfnDashboardAxisDisplayOptionsPropertyToCloudFormation(properties.xAxisDisplayOptions),XAxisLabelOptions:convertCfnDashboardChartAxisLabelOptionsPropertyToCloudFormation(properties.xAxisLabelOptions)}):properties}function CfnDashboardLineChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contributionAnalysisDefaults","ContributionAnalysisDefaults",properties.ContributionAnalysisDefaults!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardContributionAnalysisDefaultPropertyFromCloudFormation)(properties.ContributionAnalysisDefaults):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnDashboardDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("defaultSeriesSettings","DefaultSeriesSettings",properties.DefaultSeriesSettings!=null?CfnDashboardLineChartDefaultSeriesSettingsPropertyFromCloudFormation(properties.DefaultSeriesSettings):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnDashboardLineChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("forecastConfigurations","ForecastConfigurations",properties.ForecastConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardForecastConfigurationPropertyFromCloudFormation)(properties.ForecastConfigurations):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnDashboardLineSeriesAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("secondaryYAxisDisplayOptions","SecondaryYAxisDisplayOptions",properties.SecondaryYAxisDisplayOptions!=null?CfnDashboardLineSeriesAxisDisplayOptionsPropertyFromCloudFormation(properties.SecondaryYAxisDisplayOptions):void 0),ret.addPropertyResult("secondaryYAxisLabelOptions","SecondaryYAxisLabelOptions",properties.SecondaryYAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.SecondaryYAxisLabelOptions):void 0),ret.addPropertyResult("series","Series",properties.Series!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardSeriesItemPropertyFromCloudFormation)(properties.Series):void 0),ret.addPropertyResult("singleAxisOptions","SingleAxisOptions",properties.SingleAxisOptions!=null?CfnDashboardSingleAxisOptionsPropertyFromCloudFormation(properties.SingleAxisOptions):void 0),ret.addPropertyResult("smallMultiplesOptions","SmallMultiplesOptions",properties.SmallMultiplesOptions!=null?CfnDashboardSmallMultiplesOptionsPropertyFromCloudFormation(properties.SmallMultiplesOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardLineChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnDashboardVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("xAxisDisplayOptions","XAxisDisplayOptions",properties.XAxisDisplayOptions!=null?CfnDashboardAxisDisplayOptionsPropertyFromCloudFormation(properties.XAxisDisplayOptions):void 0),ret.addPropertyResult("xAxisLabelOptions","XAxisLabelOptions",properties.XAxisLabelOptions!=null?CfnDashboardChartAxisLabelOptionsPropertyFromCloudFormation(properties.XAxisLabelOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLineChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardLineChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnDashboardColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "LineChartVisualProperty"')}function convertCfnDashboardLineChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLineChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnDashboardLineChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnDashboardColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardLineChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardLineChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardEmptyVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "EmptyVisualProperty"')}function convertCfnDashboardEmptyVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardEmptyVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardVisualCustomActionPropertyToCloudFormation)(properties.actions),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardEmptyVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialMapStatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bounds",CfnDashboardGeospatialCoordinateBoundsPropertyValidator)(properties.bounds)),errors.collect(cdk().propertyValidator("mapNavigation",cdk().validateString)(properties.mapNavigation)),errors.wrap('supplied properties not correct for "GeospatialMapStateProperty"')}function convertCfnDashboardGeospatialMapStatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialMapStatePropertyValidator(properties).assertSuccess(),{Bounds:convertCfnDashboardGeospatialCoordinateBoundsPropertyToCloudFormation(properties.bounds),MapNavigation:cdk().stringToCloudFormation(properties.mapNavigation)}):properties}function CfnDashboardGeospatialMapStatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bounds","Bounds",properties.Bounds!=null?CfnDashboardGeospatialCoordinateBoundsPropertyFromCloudFormation(properties.Bounds):void 0),ret.addPropertyResult("mapNavigation","MapNavigation",properties.MapNavigation!=null?cfn_parse().FromCloudFormation.getString(properties.MapNavigation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialMapStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("baseMapStyle",cdk().validateString)(properties.baseMapStyle)),errors.collect(cdk().propertyValidator("baseMapVisibility",cdk().validateString)(properties.baseMapVisibility)),errors.wrap('supplied properties not correct for "GeospatialMapStyleProperty"')}function convertCfnDashboardGeospatialMapStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialMapStylePropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),BaseMapStyle:cdk().stringToCloudFormation(properties.baseMapStyle),BaseMapVisibility:cdk().stringToCloudFormation(properties.baseMapVisibility)}):properties}function CfnDashboardGeospatialMapStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("baseMapStyle","BaseMapStyle",properties.BaseMapStyle!=null?cfn_parse().FromCloudFormation.getString(properties.BaseMapStyle):void 0),ret.addPropertyResult("baseMapVisibility","BaseMapVisibility",properties.BaseMapVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.BaseMapVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialLayerColorFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorDimensionsFields",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.colorDimensionsFields)),errors.collect(cdk().propertyValidator("colorValuesFields",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.colorValuesFields)),errors.wrap('supplied properties not correct for "GeospatialLayerColorFieldProperty"')}function convertCfnDashboardGeospatialLayerColorFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialLayerColorFieldPropertyValidator(properties).assertSuccess(),{ColorDimensionsFields:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.colorDimensionsFields),ColorValuesFields:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.colorValuesFields)}):properties}function CfnDashboardGeospatialLayerColorFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorDimensionsFields","ColorDimensionsFields",properties.ColorDimensionsFields!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.ColorDimensionsFields):void 0),ret.addPropertyResult("colorValuesFields","ColorValuesFields",properties.ColorValuesFields!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.ColorValuesFields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialLayerJoinDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorField",CfnDashboardGeospatialLayerColorFieldPropertyValidator)(properties.colorField)),errors.collect(cdk().propertyValidator("datasetKeyField",CfnDashboardUnaggregatedFieldPropertyValidator)(properties.datasetKeyField)),errors.collect(cdk().propertyValidator("shapeKeyField",cdk().validateString)(properties.shapeKeyField)),errors.wrap('supplied properties not correct for "GeospatialLayerJoinDefinitionProperty"')}function convertCfnDashboardGeospatialLayerJoinDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialLayerJoinDefinitionPropertyValidator(properties).assertSuccess(),{ColorField:convertCfnDashboardGeospatialLayerColorFieldPropertyToCloudFormation(properties.colorField),DatasetKeyField:convertCfnDashboardUnaggregatedFieldPropertyToCloudFormation(properties.datasetKeyField),ShapeKeyField:cdk().stringToCloudFormation(properties.shapeKeyField)}):properties}function CfnDashboardGeospatialLayerJoinDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorField","ColorField",properties.ColorField!=null?CfnDashboardGeospatialLayerColorFieldPropertyFromCloudFormation(properties.ColorField):void 0),ret.addPropertyResult("datasetKeyField","DatasetKeyField",properties.DatasetKeyField!=null?CfnDashboardUnaggregatedFieldPropertyFromCloudFormation(properties.DatasetKeyField):void 0),ret.addPropertyResult("shapeKeyField","ShapeKeyField",properties.ShapeKeyField!=null?cfn_parse().FromCloudFormation.getString(properties.ShapeKeyField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLayerCustomActionOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("filterOperation",CfnDashboardCustomActionFilterOperationPropertyValidator)(properties.filterOperation)),errors.collect(cdk().propertyValidator("navigationOperation",CfnDashboardCustomActionNavigationOperationPropertyValidator)(properties.navigationOperation)),errors.collect(cdk().propertyValidator("setParametersOperation",CfnDashboardCustomActionSetParametersOperationPropertyValidator)(properties.setParametersOperation)),errors.collect(cdk().propertyValidator("urlOperation",CfnDashboardCustomActionURLOperationPropertyValidator)(properties.urlOperation)),errors.wrap('supplied properties not correct for "LayerCustomActionOperationProperty"')}function convertCfnDashboardLayerCustomActionOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLayerCustomActionOperationPropertyValidator(properties).assertSuccess(),{FilterOperation:convertCfnDashboardCustomActionFilterOperationPropertyToCloudFormation(properties.filterOperation),NavigationOperation:convertCfnDashboardCustomActionNavigationOperationPropertyToCloudFormation(properties.navigationOperation),SetParametersOperation:convertCfnDashboardCustomActionSetParametersOperationPropertyToCloudFormation(properties.setParametersOperation),URLOperation:convertCfnDashboardCustomActionURLOperationPropertyToCloudFormation(properties.urlOperation)}):properties}function CfnDashboardLayerCustomActionOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("filterOperation","FilterOperation",properties.FilterOperation!=null?CfnDashboardCustomActionFilterOperationPropertyFromCloudFormation(properties.FilterOperation):void 0),ret.addPropertyResult("navigationOperation","NavigationOperation",properties.NavigationOperation!=null?CfnDashboardCustomActionNavigationOperationPropertyFromCloudFormation(properties.NavigationOperation):void 0),ret.addPropertyResult("setParametersOperation","SetParametersOperation",properties.SetParametersOperation!=null?CfnDashboardCustomActionSetParametersOperationPropertyFromCloudFormation(properties.SetParametersOperation):void 0),ret.addPropertyResult("urlOperation","URLOperation",properties.URLOperation!=null?CfnDashboardCustomActionURLOperationPropertyFromCloudFormation(properties.URLOperation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLayerCustomActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actionOperations",cdk().requiredValidator)(properties.actionOperations)),errors.collect(cdk().propertyValidator("actionOperations",cdk().listValidator(CfnDashboardLayerCustomActionOperationPropertyValidator))(properties.actionOperations)),errors.collect(cdk().propertyValidator("customActionId",cdk().requiredValidator)(properties.customActionId)),errors.collect(cdk().propertyValidator("customActionId",cdk().validateString)(properties.customActionId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("trigger",cdk().requiredValidator)(properties.trigger)),errors.collect(cdk().propertyValidator("trigger",cdk().validateString)(properties.trigger)),errors.wrap('supplied properties not correct for "LayerCustomActionProperty"')}function convertCfnDashboardLayerCustomActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLayerCustomActionPropertyValidator(properties).assertSuccess(),{ActionOperations:cdk().listMapper(convertCfnDashboardLayerCustomActionOperationPropertyToCloudFormation)(properties.actionOperations),CustomActionId:cdk().stringToCloudFormation(properties.customActionId),Name:cdk().stringToCloudFormation(properties.name),Status:cdk().stringToCloudFormation(properties.status),Trigger:cdk().stringToCloudFormation(properties.trigger)}):properties}function CfnDashboardLayerCustomActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOperations","ActionOperations",properties.ActionOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardLayerCustomActionOperationPropertyFromCloudFormation)(properties.ActionOperations):void 0),ret.addPropertyResult("customActionId","CustomActionId",properties.CustomActionId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomActionId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("trigger","Trigger",properties.Trigger!=null?cfn_parse().FromCloudFormation.getString(properties.Trigger):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialGradientStepColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().requiredValidator)(properties.dataValue)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateNumber)(properties.dataValue)),errors.wrap('supplied properties not correct for "GeospatialGradientStepColorProperty"')}function convertCfnDashboardGeospatialGradientStepColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialGradientStepColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().numberToCloudFormation(properties.dataValue)}):properties}function CfnDashboardGeospatialGradientStepColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.DataValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialNullSymbolStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fillColor",cdk().validateString)(properties.fillColor)),errors.collect(cdk().propertyValidator("strokeColor",cdk().validateString)(properties.strokeColor)),errors.collect(cdk().propertyValidator("strokeWidth",cdk().validateNumber)(properties.strokeWidth)),errors.wrap('supplied properties not correct for "GeospatialNullSymbolStyleProperty"')}function convertCfnDashboardGeospatialNullSymbolStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialNullSymbolStylePropertyValidator(properties).assertSuccess(),{FillColor:cdk().stringToCloudFormation(properties.fillColor),StrokeColor:cdk().stringToCloudFormation(properties.strokeColor),StrokeWidth:cdk().numberToCloudFormation(properties.strokeWidth)}):properties}function CfnDashboardGeospatialNullSymbolStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fillColor","FillColor",properties.FillColor!=null?cfn_parse().FromCloudFormation.getString(properties.FillColor):void 0),ret.addPropertyResult("strokeColor","StrokeColor",properties.StrokeColor!=null?cfn_parse().FromCloudFormation.getString(properties.StrokeColor):void 0),ret.addPropertyResult("strokeWidth","StrokeWidth",properties.StrokeWidth!=null?cfn_parse().FromCloudFormation.getNumber(properties.StrokeWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialNullDataSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("symbolStyle",cdk().requiredValidator)(properties.symbolStyle)),errors.collect(cdk().propertyValidator("symbolStyle",CfnDashboardGeospatialNullSymbolStylePropertyValidator)(properties.symbolStyle)),errors.wrap('supplied properties not correct for "GeospatialNullDataSettingsProperty"')}function convertCfnDashboardGeospatialNullDataSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialNullDataSettingsPropertyValidator(properties).assertSuccess(),{SymbolStyle:convertCfnDashboardGeospatialNullSymbolStylePropertyToCloudFormation(properties.symbolStyle)}):properties}function CfnDashboardGeospatialNullDataSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("symbolStyle","SymbolStyle",properties.SymbolStyle!=null?CfnDashboardGeospatialNullSymbolStylePropertyFromCloudFormation(properties.SymbolStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialGradientColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultOpacity",cdk().validateNumber)(properties.defaultOpacity)),errors.collect(cdk().propertyValidator("nullDataSettings",CfnDashboardGeospatialNullDataSettingsPropertyValidator)(properties.nullDataSettings)),errors.collect(cdk().propertyValidator("nullDataVisibility",cdk().validateString)(properties.nullDataVisibility)),errors.collect(cdk().propertyValidator("stepColors",cdk().requiredValidator)(properties.stepColors)),errors.collect(cdk().propertyValidator("stepColors",cdk().listValidator(CfnDashboardGeospatialGradientStepColorPropertyValidator))(properties.stepColors)),errors.wrap('supplied properties not correct for "GeospatialGradientColorProperty"')}function convertCfnDashboardGeospatialGradientColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialGradientColorPropertyValidator(properties).assertSuccess(),{DefaultOpacity:cdk().numberToCloudFormation(properties.defaultOpacity),NullDataSettings:convertCfnDashboardGeospatialNullDataSettingsPropertyToCloudFormation(properties.nullDataSettings),NullDataVisibility:cdk().stringToCloudFormation(properties.nullDataVisibility),StepColors:cdk().listMapper(convertCfnDashboardGeospatialGradientStepColorPropertyToCloudFormation)(properties.stepColors)}):properties}function CfnDashboardGeospatialGradientColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultOpacity","DefaultOpacity",properties.DefaultOpacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.DefaultOpacity):void 0),ret.addPropertyResult("nullDataSettings","NullDataSettings",properties.NullDataSettings!=null?CfnDashboardGeospatialNullDataSettingsPropertyFromCloudFormation(properties.NullDataSettings):void 0),ret.addPropertyResult("nullDataVisibility","NullDataVisibility",properties.NullDataVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.NullDataVisibility):void 0),ret.addPropertyResult("stepColors","StepColors",properties.StepColors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGeospatialGradientStepColorPropertyFromCloudFormation)(properties.StepColors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialCategoricalDataColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().requiredValidator)(properties.dataValue)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateString)(properties.dataValue)),errors.wrap('supplied properties not correct for "GeospatialCategoricalDataColorProperty"')}function convertCfnDashboardGeospatialCategoricalDataColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialCategoricalDataColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().stringToCloudFormation(properties.dataValue)}):properties}function CfnDashboardGeospatialCategoricalDataColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getString(properties.DataValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialCategoricalColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryDataColors",cdk().requiredValidator)(properties.categoryDataColors)),errors.collect(cdk().propertyValidator("categoryDataColors",cdk().listValidator(CfnDashboardGeospatialCategoricalDataColorPropertyValidator))(properties.categoryDataColors)),errors.collect(cdk().propertyValidator("defaultOpacity",cdk().validateNumber)(properties.defaultOpacity)),errors.collect(cdk().propertyValidator("nullDataSettings",CfnDashboardGeospatialNullDataSettingsPropertyValidator)(properties.nullDataSettings)),errors.collect(cdk().propertyValidator("nullDataVisibility",cdk().validateString)(properties.nullDataVisibility)),errors.wrap('supplied properties not correct for "GeospatialCategoricalColorProperty"')}function convertCfnDashboardGeospatialCategoricalColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialCategoricalColorPropertyValidator(properties).assertSuccess(),{CategoryDataColors:cdk().listMapper(convertCfnDashboardGeospatialCategoricalDataColorPropertyToCloudFormation)(properties.categoryDataColors),DefaultOpacity:cdk().numberToCloudFormation(properties.defaultOpacity),NullDataSettings:convertCfnDashboardGeospatialNullDataSettingsPropertyToCloudFormation(properties.nullDataSettings),NullDataVisibility:cdk().stringToCloudFormation(properties.nullDataVisibility)}):properties}function CfnDashboardGeospatialCategoricalColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryDataColors","CategoryDataColors",properties.CategoryDataColors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGeospatialCategoricalDataColorPropertyFromCloudFormation)(properties.CategoryDataColors):void 0),ret.addPropertyResult("defaultOpacity","DefaultOpacity",properties.DefaultOpacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.DefaultOpacity):void 0),ret.addPropertyResult("nullDataSettings","NullDataSettings",properties.NullDataSettings!=null?CfnDashboardGeospatialNullDataSettingsPropertyFromCloudFormation(properties.NullDataSettings):void 0),ret.addPropertyResult("nullDataVisibility","NullDataVisibility",properties.NullDataVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.NullDataVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialSolidColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "GeospatialSolidColorProperty"')}function convertCfnDashboardGeospatialSolidColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialSolidColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnDashboardGeospatialSolidColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categorical",CfnDashboardGeospatialCategoricalColorPropertyValidator)(properties.categorical)),errors.collect(cdk().propertyValidator("gradient",CfnDashboardGeospatialGradientColorPropertyValidator)(properties.gradient)),errors.collect(cdk().propertyValidator("solid",CfnDashboardGeospatialSolidColorPropertyValidator)(properties.solid)),errors.wrap('supplied properties not correct for "GeospatialColorProperty"')}function convertCfnDashboardGeospatialColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialColorPropertyValidator(properties).assertSuccess(),{Categorical:convertCfnDashboardGeospatialCategoricalColorPropertyToCloudFormation(properties.categorical),Gradient:convertCfnDashboardGeospatialGradientColorPropertyToCloudFormation(properties.gradient),Solid:convertCfnDashboardGeospatialSolidColorPropertyToCloudFormation(properties.solid)}):properties}function CfnDashboardGeospatialColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categorical","Categorical",properties.Categorical!=null?CfnDashboardGeospatialCategoricalColorPropertyFromCloudFormation(properties.Categorical):void 0),ret.addPropertyResult("gradient","Gradient",properties.Gradient!=null?CfnDashboardGeospatialGradientColorPropertyFromCloudFormation(properties.Gradient):void 0),ret.addPropertyResult("solid","Solid",properties.Solid!=null?CfnDashboardGeospatialSolidColorPropertyFromCloudFormation(properties.Solid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialLineWidthPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineWidth",cdk().validateNumber)(properties.lineWidth)),errors.wrap('supplied properties not correct for "GeospatialLineWidthProperty"')}function convertCfnDashboardGeospatialLineWidthPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialLineWidthPropertyValidator(properties).assertSuccess(),{LineWidth:cdk().numberToCloudFormation(properties.lineWidth)}):properties}function CfnDashboardGeospatialLineWidthPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineWidth","LineWidth",properties.LineWidth!=null?cfn_parse().FromCloudFormation.getNumber(properties.LineWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialCircleRadiusPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("radius",cdk().validateNumber)(properties.radius)),errors.wrap('supplied properties not correct for "GeospatialCircleRadiusProperty"')}function convertCfnDashboardGeospatialCircleRadiusPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialCircleRadiusPropertyValidator(properties).assertSuccess(),{Radius:cdk().numberToCloudFormation(properties.radius)}):properties}function CfnDashboardGeospatialCircleRadiusPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("radius","Radius",properties.Radius!=null?cfn_parse().FromCloudFormation.getNumber(properties.Radius):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialCircleSymbolStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("circleRadius",CfnDashboardGeospatialCircleRadiusPropertyValidator)(properties.circleRadius)),errors.collect(cdk().propertyValidator("fillColor",CfnDashboardGeospatialColorPropertyValidator)(properties.fillColor)),errors.collect(cdk().propertyValidator("strokeColor",CfnDashboardGeospatialColorPropertyValidator)(properties.strokeColor)),errors.collect(cdk().propertyValidator("strokeWidth",CfnDashboardGeospatialLineWidthPropertyValidator)(properties.strokeWidth)),errors.wrap('supplied properties not correct for "GeospatialCircleSymbolStyleProperty"')}function convertCfnDashboardGeospatialCircleSymbolStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialCircleSymbolStylePropertyValidator(properties).assertSuccess(),{CircleRadius:convertCfnDashboardGeospatialCircleRadiusPropertyToCloudFormation(properties.circleRadius),FillColor:convertCfnDashboardGeospatialColorPropertyToCloudFormation(properties.fillColor),StrokeColor:convertCfnDashboardGeospatialColorPropertyToCloudFormation(properties.strokeColor),StrokeWidth:convertCfnDashboardGeospatialLineWidthPropertyToCloudFormation(properties.strokeWidth)}):properties}function CfnDashboardGeospatialCircleSymbolStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("circleRadius","CircleRadius",properties.CircleRadius!=null?CfnDashboardGeospatialCircleRadiusPropertyFromCloudFormation(properties.CircleRadius):void 0),ret.addPropertyResult("fillColor","FillColor",properties.FillColor!=null?CfnDashboardGeospatialColorPropertyFromCloudFormation(properties.FillColor):void 0),ret.addPropertyResult("strokeColor","StrokeColor",properties.StrokeColor!=null?CfnDashboardGeospatialColorPropertyFromCloudFormation(properties.StrokeColor):void 0),ret.addPropertyResult("strokeWidth","StrokeWidth",properties.StrokeWidth!=null?CfnDashboardGeospatialLineWidthPropertyFromCloudFormation(properties.StrokeWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialPointStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("circleSymbolStyle",CfnDashboardGeospatialCircleSymbolStylePropertyValidator)(properties.circleSymbolStyle)),errors.wrap('supplied properties not correct for "GeospatialPointStyleProperty"')}function convertCfnDashboardGeospatialPointStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialPointStylePropertyValidator(properties).assertSuccess(),{CircleSymbolStyle:convertCfnDashboardGeospatialCircleSymbolStylePropertyToCloudFormation(properties.circleSymbolStyle)}):properties}function CfnDashboardGeospatialPointStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("circleSymbolStyle","CircleSymbolStyle",properties.CircleSymbolStyle!=null?CfnDashboardGeospatialCircleSymbolStylePropertyFromCloudFormation(properties.CircleSymbolStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialPointLayerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("style",cdk().requiredValidator)(properties.style)),errors.collect(cdk().propertyValidator("style",CfnDashboardGeospatialPointStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "GeospatialPointLayerProperty"')}function convertCfnDashboardGeospatialPointLayerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialPointLayerPropertyValidator(properties).assertSuccess(),{Style:convertCfnDashboardGeospatialPointStylePropertyToCloudFormation(properties.style)}):properties}function CfnDashboardGeospatialPointLayerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("style","Style",properties.Style!=null?CfnDashboardGeospatialPointStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialPolygonSymbolStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fillColor",CfnDashboardGeospatialColorPropertyValidator)(properties.fillColor)),errors.collect(cdk().propertyValidator("strokeColor",CfnDashboardGeospatialColorPropertyValidator)(properties.strokeColor)),errors.collect(cdk().propertyValidator("strokeWidth",CfnDashboardGeospatialLineWidthPropertyValidator)(properties.strokeWidth)),errors.wrap('supplied properties not correct for "GeospatialPolygonSymbolStyleProperty"')}function convertCfnDashboardGeospatialPolygonSymbolStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialPolygonSymbolStylePropertyValidator(properties).assertSuccess(),{FillColor:convertCfnDashboardGeospatialColorPropertyToCloudFormation(properties.fillColor),StrokeColor:convertCfnDashboardGeospatialColorPropertyToCloudFormation(properties.strokeColor),StrokeWidth:convertCfnDashboardGeospatialLineWidthPropertyToCloudFormation(properties.strokeWidth)}):properties}function CfnDashboardGeospatialPolygonSymbolStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fillColor","FillColor",properties.FillColor!=null?CfnDashboardGeospatialColorPropertyFromCloudFormation(properties.FillColor):void 0),ret.addPropertyResult("strokeColor","StrokeColor",properties.StrokeColor!=null?CfnDashboardGeospatialColorPropertyFromCloudFormation(properties.StrokeColor):void 0),ret.addPropertyResult("strokeWidth","StrokeWidth",properties.StrokeWidth!=null?CfnDashboardGeospatialLineWidthPropertyFromCloudFormation(properties.StrokeWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialPolygonStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("polygonSymbolStyle",CfnDashboardGeospatialPolygonSymbolStylePropertyValidator)(properties.polygonSymbolStyle)),errors.wrap('supplied properties not correct for "GeospatialPolygonStyleProperty"')}function convertCfnDashboardGeospatialPolygonStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialPolygonStylePropertyValidator(properties).assertSuccess(),{PolygonSymbolStyle:convertCfnDashboardGeospatialPolygonSymbolStylePropertyToCloudFormation(properties.polygonSymbolStyle)}):properties}function CfnDashboardGeospatialPolygonStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("polygonSymbolStyle","PolygonSymbolStyle",properties.PolygonSymbolStyle!=null?CfnDashboardGeospatialPolygonSymbolStylePropertyFromCloudFormation(properties.PolygonSymbolStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialPolygonLayerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("style",cdk().requiredValidator)(properties.style)),errors.collect(cdk().propertyValidator("style",CfnDashboardGeospatialPolygonStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "GeospatialPolygonLayerProperty"')}function convertCfnDashboardGeospatialPolygonLayerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialPolygonLayerPropertyValidator(properties).assertSuccess(),{Style:convertCfnDashboardGeospatialPolygonStylePropertyToCloudFormation(properties.style)}):properties}function CfnDashboardGeospatialPolygonLayerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("style","Style",properties.Style!=null?CfnDashboardGeospatialPolygonStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialLineSymbolStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fillColor",CfnDashboardGeospatialColorPropertyValidator)(properties.fillColor)),errors.collect(cdk().propertyValidator("lineWidth",CfnDashboardGeospatialLineWidthPropertyValidator)(properties.lineWidth)),errors.wrap('supplied properties not correct for "GeospatialLineSymbolStyleProperty"')}function convertCfnDashboardGeospatialLineSymbolStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialLineSymbolStylePropertyValidator(properties).assertSuccess(),{FillColor:convertCfnDashboardGeospatialColorPropertyToCloudFormation(properties.fillColor),LineWidth:convertCfnDashboardGeospatialLineWidthPropertyToCloudFormation(properties.lineWidth)}):properties}function CfnDashboardGeospatialLineSymbolStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fillColor","FillColor",properties.FillColor!=null?CfnDashboardGeospatialColorPropertyFromCloudFormation(properties.FillColor):void 0),ret.addPropertyResult("lineWidth","LineWidth",properties.LineWidth!=null?CfnDashboardGeospatialLineWidthPropertyFromCloudFormation(properties.LineWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialLineStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineSymbolStyle",CfnDashboardGeospatialLineSymbolStylePropertyValidator)(properties.lineSymbolStyle)),errors.wrap('supplied properties not correct for "GeospatialLineStyleProperty"')}function convertCfnDashboardGeospatialLineStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialLineStylePropertyValidator(properties).assertSuccess(),{LineSymbolStyle:convertCfnDashboardGeospatialLineSymbolStylePropertyToCloudFormation(properties.lineSymbolStyle)}):properties}function CfnDashboardGeospatialLineStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineSymbolStyle","LineSymbolStyle",properties.LineSymbolStyle!=null?CfnDashboardGeospatialLineSymbolStylePropertyFromCloudFormation(properties.LineSymbolStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialLineLayerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("style",cdk().requiredValidator)(properties.style)),errors.collect(cdk().propertyValidator("style",CfnDashboardGeospatialLineStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "GeospatialLineLayerProperty"')}function convertCfnDashboardGeospatialLineLayerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialLineLayerPropertyValidator(properties).assertSuccess(),{Style:convertCfnDashboardGeospatialLineStylePropertyToCloudFormation(properties.style)}):properties}function CfnDashboardGeospatialLineLayerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("style","Style",properties.Style!=null?CfnDashboardGeospatialLineStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialLayerDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineLayer",CfnDashboardGeospatialLineLayerPropertyValidator)(properties.lineLayer)),errors.collect(cdk().propertyValidator("pointLayer",CfnDashboardGeospatialPointLayerPropertyValidator)(properties.pointLayer)),errors.collect(cdk().propertyValidator("polygonLayer",CfnDashboardGeospatialPolygonLayerPropertyValidator)(properties.polygonLayer)),errors.wrap('supplied properties not correct for "GeospatialLayerDefinitionProperty"')}function convertCfnDashboardGeospatialLayerDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialLayerDefinitionPropertyValidator(properties).assertSuccess(),{LineLayer:convertCfnDashboardGeospatialLineLayerPropertyToCloudFormation(properties.lineLayer),PointLayer:convertCfnDashboardGeospatialPointLayerPropertyToCloudFormation(properties.pointLayer),PolygonLayer:convertCfnDashboardGeospatialPolygonLayerPropertyToCloudFormation(properties.polygonLayer)}):properties}function CfnDashboardGeospatialLayerDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineLayer","LineLayer",properties.LineLayer!=null?CfnDashboardGeospatialLineLayerPropertyFromCloudFormation(properties.LineLayer):void 0),ret.addPropertyResult("pointLayer","PointLayer",properties.PointLayer!=null?CfnDashboardGeospatialPointLayerPropertyFromCloudFormation(properties.PointLayer):void 0),ret.addPropertyResult("polygonLayer","PolygonLayer",properties.PolygonLayer!=null?CfnDashboardGeospatialPolygonLayerPropertyFromCloudFormation(properties.PolygonLayer):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialStaticFileSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticFileId",cdk().requiredValidator)(properties.staticFileId)),errors.collect(cdk().propertyValidator("staticFileId",cdk().validateString)(properties.staticFileId)),errors.wrap('supplied properties not correct for "GeospatialStaticFileSourceProperty"')}function convertCfnDashboardGeospatialStaticFileSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialStaticFileSourcePropertyValidator(properties).assertSuccess(),{StaticFileId:cdk().stringToCloudFormation(properties.staticFileId)}):properties}function CfnDashboardGeospatialStaticFileSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticFileId","StaticFileId",properties.StaticFileId!=null?cfn_parse().FromCloudFormation.getString(properties.StaticFileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialDataSourceItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticFileDataSource",CfnDashboardGeospatialStaticFileSourcePropertyValidator)(properties.staticFileDataSource)),errors.wrap('supplied properties not correct for "GeospatialDataSourceItemProperty"')}function convertCfnDashboardGeospatialDataSourceItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialDataSourceItemPropertyValidator(properties).assertSuccess(),{StaticFileDataSource:convertCfnDashboardGeospatialStaticFileSourcePropertyToCloudFormation(properties.staticFileDataSource)}):properties}function CfnDashboardGeospatialDataSourceItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticFileDataSource","StaticFileDataSource",properties.StaticFileDataSource!=null?CfnDashboardGeospatialStaticFileSourcePropertyFromCloudFormation(properties.StaticFileDataSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialLayerItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardLayerCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("dataSource",CfnDashboardGeospatialDataSourceItemPropertyValidator)(properties.dataSource)),errors.collect(cdk().propertyValidator("joinDefinition",CfnDashboardGeospatialLayerJoinDefinitionPropertyValidator)(properties.joinDefinition)),errors.collect(cdk().propertyValidator("label",cdk().validateString)(properties.label)),errors.collect(cdk().propertyValidator("layerDefinition",CfnDashboardGeospatialLayerDefinitionPropertyValidator)(properties.layerDefinition)),errors.collect(cdk().propertyValidator("layerId",cdk().requiredValidator)(properties.layerId)),errors.collect(cdk().propertyValidator("layerId",cdk().validateString)(properties.layerId)),errors.collect(cdk().propertyValidator("layerType",cdk().validateString)(properties.layerType)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "GeospatialLayerItemProperty"')}function convertCfnDashboardGeospatialLayerItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialLayerItemPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardLayerCustomActionPropertyToCloudFormation)(properties.actions),DataSource:convertCfnDashboardGeospatialDataSourceItemPropertyToCloudFormation(properties.dataSource),JoinDefinition:convertCfnDashboardGeospatialLayerJoinDefinitionPropertyToCloudFormation(properties.joinDefinition),Label:cdk().stringToCloudFormation(properties.label),LayerDefinition:convertCfnDashboardGeospatialLayerDefinitionPropertyToCloudFormation(properties.layerDefinition),LayerId:cdk().stringToCloudFormation(properties.layerId),LayerType:cdk().stringToCloudFormation(properties.layerType),Tooltip:convertCfnDashboardTooltipOptionsPropertyToCloudFormation(properties.tooltip),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardGeospatialLayerItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardLayerCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("dataSource","DataSource",properties.DataSource!=null?CfnDashboardGeospatialDataSourceItemPropertyFromCloudFormation(properties.DataSource):void 0),ret.addPropertyResult("joinDefinition","JoinDefinition",properties.JoinDefinition!=null?CfnDashboardGeospatialLayerJoinDefinitionPropertyFromCloudFormation(properties.JoinDefinition):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("layerDefinition","LayerDefinition",properties.LayerDefinition!=null?CfnDashboardGeospatialLayerDefinitionPropertyFromCloudFormation(properties.LayerDefinition):void 0),ret.addPropertyResult("layerId","LayerId",properties.LayerId!=null?cfn_parse().FromCloudFormation.getString(properties.LayerId):void 0),ret.addPropertyResult("layerType","LayerType",properties.LayerType!=null?cfn_parse().FromCloudFormation.getString(properties.LayerType):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGeospatialLayerMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("interactions",CfnDashboardVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnDashboardLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("mapLayers",cdk().listValidator(CfnDashboardGeospatialLayerItemPropertyValidator))(properties.mapLayers)),errors.collect(cdk().propertyValidator("mapState",CfnDashboardGeospatialMapStatePropertyValidator)(properties.mapState)),errors.collect(cdk().propertyValidator("mapStyle",CfnDashboardGeospatialMapStylePropertyValidator)(properties.mapStyle)),errors.wrap('supplied properties not correct for "GeospatialLayerMapConfigurationProperty"')}function convertCfnDashboardGeospatialLayerMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGeospatialLayerMapConfigurationPropertyValidator(properties).assertSuccess(),{Interactions:convertCfnDashboardVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnDashboardLegendOptionsPropertyToCloudFormation(properties.legend),MapLayers:cdk().listMapper(convertCfnDashboardGeospatialLayerItemPropertyToCloudFormation)(properties.mapLayers),MapState:convertCfnDashboardGeospatialMapStatePropertyToCloudFormation(properties.mapState),MapStyle:convertCfnDashboardGeospatialMapStylePropertyToCloudFormation(properties.mapStyle)}):properties}function CfnDashboardGeospatialLayerMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnDashboardLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("mapLayers","MapLayers",properties.MapLayers!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGeospatialLayerItemPropertyFromCloudFormation)(properties.MapLayers):void 0),ret.addPropertyResult("mapState","MapState",properties.MapState!=null?CfnDashboardGeospatialMapStatePropertyFromCloudFormation(properties.MapState):void 0),ret.addPropertyResult("mapStyle","MapStyle",properties.MapStyle!=null?CfnDashboardGeospatialMapStylePropertyFromCloudFormation(properties.MapStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLayerMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardGeospatialLayerMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "LayerMapVisualProperty"')}function convertCfnDashboardLayerMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLayerMapVisualPropertyValidator(properties).assertSuccess(),{ChartConfiguration:convertCfnDashboardGeospatialLayerMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardLayerMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardGeospatialLayerMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPluginVisualItemsLimitConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("itemsLimit",cdk().validateNumber)(properties.itemsLimit)),errors.wrap('supplied properties not correct for "PluginVisualItemsLimitConfigurationProperty"')}function convertCfnDashboardPluginVisualItemsLimitConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPluginVisualItemsLimitConfigurationPropertyValidator(properties).assertSuccess(),{ItemsLimit:cdk().numberToCloudFormation(properties.itemsLimit)}):properties}function CfnDashboardPluginVisualItemsLimitConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("itemsLimit","ItemsLimit",properties.ItemsLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ItemsLimit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPluginVisualTableQuerySortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("itemsLimitConfiguration",CfnDashboardPluginVisualItemsLimitConfigurationPropertyValidator)(properties.itemsLimitConfiguration)),errors.collect(cdk().propertyValidator("rowSort",cdk().listValidator(CfnDashboardFieldSortOptionsPropertyValidator))(properties.rowSort)),errors.wrap('supplied properties not correct for "PluginVisualTableQuerySortProperty"')}function convertCfnDashboardPluginVisualTableQuerySortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPluginVisualTableQuerySortPropertyValidator(properties).assertSuccess(),{ItemsLimitConfiguration:convertCfnDashboardPluginVisualItemsLimitConfigurationPropertyToCloudFormation(properties.itemsLimitConfiguration),RowSort:cdk().listMapper(convertCfnDashboardFieldSortOptionsPropertyToCloudFormation)(properties.rowSort)}):properties}function CfnDashboardPluginVisualTableQuerySortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("itemsLimitConfiguration","ItemsLimitConfiguration",properties.ItemsLimitConfiguration!=null?CfnDashboardPluginVisualItemsLimitConfigurationPropertyFromCloudFormation(properties.ItemsLimitConfiguration):void 0),ret.addPropertyResult("rowSort","RowSort",properties.RowSort!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFieldSortOptionsPropertyFromCloudFormation)(properties.RowSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPluginVisualSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pluginVisualTableQuerySort",CfnDashboardPluginVisualTableQuerySortPropertyValidator)(properties.pluginVisualTableQuerySort)),errors.wrap('supplied properties not correct for "PluginVisualSortConfigurationProperty"')}function convertCfnDashboardPluginVisualSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPluginVisualSortConfigurationPropertyValidator(properties).assertSuccess(),{PluginVisualTableQuerySort:convertCfnDashboardPluginVisualTableQuerySortPropertyToCloudFormation(properties.pluginVisualTableQuerySort)}):properties}function CfnDashboardPluginVisualSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pluginVisualTableQuerySort","PluginVisualTableQuerySort",properties.PluginVisualTableQuerySort!=null?CfnDashboardPluginVisualTableQuerySortPropertyFromCloudFormation(properties.PluginVisualTableQuerySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPluginVisualPropertyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "PluginVisualPropertyProperty"')}function convertCfnDashboardPluginVisualPropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPluginVisualPropertyPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnDashboardPluginVisualPropertyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPluginVisualOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visualProperties",cdk().listValidator(CfnDashboardPluginVisualPropertyPropertyValidator))(properties.visualProperties)),errors.wrap('supplied properties not correct for "PluginVisualOptionsProperty"')}function convertCfnDashboardPluginVisualOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPluginVisualOptionsPropertyValidator(properties).assertSuccess(),{VisualProperties:cdk().listMapper(convertCfnDashboardPluginVisualPropertyPropertyToCloudFormation)(properties.visualProperties)}):properties}function CfnDashboardPluginVisualOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visualProperties","VisualProperties",properties.VisualProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardPluginVisualPropertyPropertyFromCloudFormation)(properties.VisualProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPluginVisualFieldWellPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisName",cdk().validateString)(properties.axisName)),errors.collect(cdk().propertyValidator("dimensions",cdk().listValidator(CfnDashboardDimensionFieldPropertyValidator))(properties.dimensions)),errors.collect(cdk().propertyValidator("measures",cdk().listValidator(CfnDashboardMeasureFieldPropertyValidator))(properties.measures)),errors.collect(cdk().propertyValidator("unaggregated",cdk().listValidator(CfnDashboardUnaggregatedFieldPropertyValidator))(properties.unaggregated)),errors.wrap('supplied properties not correct for "PluginVisualFieldWellProperty"')}function convertCfnDashboardPluginVisualFieldWellPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPluginVisualFieldWellPropertyValidator(properties).assertSuccess(),{AxisName:cdk().stringToCloudFormation(properties.axisName),Dimensions:cdk().listMapper(convertCfnDashboardDimensionFieldPropertyToCloudFormation)(properties.dimensions),Measures:cdk().listMapper(convertCfnDashboardMeasureFieldPropertyToCloudFormation)(properties.measures),Unaggregated:cdk().listMapper(convertCfnDashboardUnaggregatedFieldPropertyToCloudFormation)(properties.unaggregated)}):properties}function CfnDashboardPluginVisualFieldWellPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisName","AxisName",properties.AxisName!=null?cfn_parse().FromCloudFormation.getString(properties.AxisName):void 0),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDimensionFieldPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("measures","Measures",properties.Measures!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMeasureFieldPropertyFromCloudFormation)(properties.Measures):void 0),ret.addPropertyResult("unaggregated","Unaggregated",properties.Unaggregated!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardUnaggregatedFieldPropertyFromCloudFormation)(properties.Unaggregated):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPluginVisualConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",cdk().listValidator(CfnDashboardPluginVisualFieldWellPropertyValidator))(properties.fieldWells)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnDashboardPluginVisualSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("visualOptions",CfnDashboardPluginVisualOptionsPropertyValidator)(properties.visualOptions)),errors.wrap('supplied properties not correct for "PluginVisualConfigurationProperty"')}function convertCfnDashboardPluginVisualConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPluginVisualConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:cdk().listMapper(convertCfnDashboardPluginVisualFieldWellPropertyToCloudFormation)(properties.fieldWells),SortConfiguration:convertCfnDashboardPluginVisualSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),VisualOptions:convertCfnDashboardPluginVisualOptionsPropertyToCloudFormation(properties.visualOptions)}):properties}function CfnDashboardPluginVisualConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardPluginVisualFieldWellPropertyFromCloudFormation)(properties.FieldWells):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnDashboardPluginVisualSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("visualOptions","VisualOptions",properties.VisualOptions!=null?CfnDashboardPluginVisualOptionsPropertyFromCloudFormation(properties.VisualOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPluginVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("chartConfiguration",CfnDashboardPluginVisualConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("pluginArn",cdk().requiredValidator)(properties.pluginArn)),errors.collect(cdk().propertyValidator("pluginArn",cdk().validateString)(properties.pluginArn)),errors.collect(cdk().propertyValidator("subtitle",CfnDashboardVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnDashboardVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "PluginVisualProperty"')}function convertCfnDashboardPluginVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPluginVisualPropertyValidator(properties).assertSuccess(),{ChartConfiguration:convertCfnDashboardPluginVisualConfigurationPropertyToCloudFormation(properties.chartConfiguration),PluginArn:cdk().stringToCloudFormation(properties.pluginArn),Subtitle:convertCfnDashboardVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnDashboardVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnDashboardPluginVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnDashboardPluginVisualConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("pluginArn","PluginArn",properties.PluginArn!=null?cfn_parse().FromCloudFormation.getString(properties.PluginArn):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnDashboardVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnDashboardVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barChartVisual",CfnDashboardBarChartVisualPropertyValidator)(properties.barChartVisual)),errors.collect(cdk().propertyValidator("boxPlotVisual",CfnDashboardBoxPlotVisualPropertyValidator)(properties.boxPlotVisual)),errors.collect(cdk().propertyValidator("comboChartVisual",CfnDashboardComboChartVisualPropertyValidator)(properties.comboChartVisual)),errors.collect(cdk().propertyValidator("customContentVisual",CfnDashboardCustomContentVisualPropertyValidator)(properties.customContentVisual)),errors.collect(cdk().propertyValidator("emptyVisual",CfnDashboardEmptyVisualPropertyValidator)(properties.emptyVisual)),errors.collect(cdk().propertyValidator("filledMapVisual",CfnDashboardFilledMapVisualPropertyValidator)(properties.filledMapVisual)),errors.collect(cdk().propertyValidator("funnelChartVisual",CfnDashboardFunnelChartVisualPropertyValidator)(properties.funnelChartVisual)),errors.collect(cdk().propertyValidator("gaugeChartVisual",CfnDashboardGaugeChartVisualPropertyValidator)(properties.gaugeChartVisual)),errors.collect(cdk().propertyValidator("geospatialMapVisual",CfnDashboardGeospatialMapVisualPropertyValidator)(properties.geospatialMapVisual)),errors.collect(cdk().propertyValidator("heatMapVisual",CfnDashboardHeatMapVisualPropertyValidator)(properties.heatMapVisual)),errors.collect(cdk().propertyValidator("histogramVisual",CfnDashboardHistogramVisualPropertyValidator)(properties.histogramVisual)),errors.collect(cdk().propertyValidator("insightVisual",CfnDashboardInsightVisualPropertyValidator)(properties.insightVisual)),errors.collect(cdk().propertyValidator("kpiVisual",CfnDashboardKPIVisualPropertyValidator)(properties.kpiVisual)),errors.collect(cdk().propertyValidator("layerMapVisual",CfnDashboardLayerMapVisualPropertyValidator)(properties.layerMapVisual)),errors.collect(cdk().propertyValidator("lineChartVisual",CfnDashboardLineChartVisualPropertyValidator)(properties.lineChartVisual)),errors.collect(cdk().propertyValidator("pieChartVisual",CfnDashboardPieChartVisualPropertyValidator)(properties.pieChartVisual)),errors.collect(cdk().propertyValidator("pivotTableVisual",CfnDashboardPivotTableVisualPropertyValidator)(properties.pivotTableVisual)),errors.collect(cdk().propertyValidator("pluginVisual",CfnDashboardPluginVisualPropertyValidator)(properties.pluginVisual)),errors.collect(cdk().propertyValidator("radarChartVisual",CfnDashboardRadarChartVisualPropertyValidator)(properties.radarChartVisual)),errors.collect(cdk().propertyValidator("sankeyDiagramVisual",CfnDashboardSankeyDiagramVisualPropertyValidator)(properties.sankeyDiagramVisual)),errors.collect(cdk().propertyValidator("scatterPlotVisual",CfnDashboardScatterPlotVisualPropertyValidator)(properties.scatterPlotVisual)),errors.collect(cdk().propertyValidator("tableVisual",CfnDashboardTableVisualPropertyValidator)(properties.tableVisual)),errors.collect(cdk().propertyValidator("treeMapVisual",CfnDashboardTreeMapVisualPropertyValidator)(properties.treeMapVisual)),errors.collect(cdk().propertyValidator("waterfallVisual",CfnDashboardWaterfallVisualPropertyValidator)(properties.waterfallVisual)),errors.collect(cdk().propertyValidator("wordCloudVisual",CfnDashboardWordCloudVisualPropertyValidator)(properties.wordCloudVisual)),errors.wrap('supplied properties not correct for "VisualProperty"')}function convertCfnDashboardVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardVisualPropertyValidator(properties).assertSuccess(),{BarChartVisual:convertCfnDashboardBarChartVisualPropertyToCloudFormation(properties.barChartVisual),BoxPlotVisual:convertCfnDashboardBoxPlotVisualPropertyToCloudFormation(properties.boxPlotVisual),ComboChartVisual:convertCfnDashboardComboChartVisualPropertyToCloudFormation(properties.comboChartVisual),CustomContentVisual:convertCfnDashboardCustomContentVisualPropertyToCloudFormation(properties.customContentVisual),EmptyVisual:convertCfnDashboardEmptyVisualPropertyToCloudFormation(properties.emptyVisual),FilledMapVisual:convertCfnDashboardFilledMapVisualPropertyToCloudFormation(properties.filledMapVisual),FunnelChartVisual:convertCfnDashboardFunnelChartVisualPropertyToCloudFormation(properties.funnelChartVisual),GaugeChartVisual:convertCfnDashboardGaugeChartVisualPropertyToCloudFormation(properties.gaugeChartVisual),GeospatialMapVisual:convertCfnDashboardGeospatialMapVisualPropertyToCloudFormation(properties.geospatialMapVisual),HeatMapVisual:convertCfnDashboardHeatMapVisualPropertyToCloudFormation(properties.heatMapVisual),HistogramVisual:convertCfnDashboardHistogramVisualPropertyToCloudFormation(properties.histogramVisual),InsightVisual:convertCfnDashboardInsightVisualPropertyToCloudFormation(properties.insightVisual),KPIVisual:convertCfnDashboardKPIVisualPropertyToCloudFormation(properties.kpiVisual),LayerMapVisual:convertCfnDashboardLayerMapVisualPropertyToCloudFormation(properties.layerMapVisual),LineChartVisual:convertCfnDashboardLineChartVisualPropertyToCloudFormation(properties.lineChartVisual),PieChartVisual:convertCfnDashboardPieChartVisualPropertyToCloudFormation(properties.pieChartVisual),PivotTableVisual:convertCfnDashboardPivotTableVisualPropertyToCloudFormation(properties.pivotTableVisual),PluginVisual:convertCfnDashboardPluginVisualPropertyToCloudFormation(properties.pluginVisual),RadarChartVisual:convertCfnDashboardRadarChartVisualPropertyToCloudFormation(properties.radarChartVisual),SankeyDiagramVisual:convertCfnDashboardSankeyDiagramVisualPropertyToCloudFormation(properties.sankeyDiagramVisual),ScatterPlotVisual:convertCfnDashboardScatterPlotVisualPropertyToCloudFormation(properties.scatterPlotVisual),TableVisual:convertCfnDashboardTableVisualPropertyToCloudFormation(properties.tableVisual),TreeMapVisual:convertCfnDashboardTreeMapVisualPropertyToCloudFormation(properties.treeMapVisual),WaterfallVisual:convertCfnDashboardWaterfallVisualPropertyToCloudFormation(properties.waterfallVisual),WordCloudVisual:convertCfnDashboardWordCloudVisualPropertyToCloudFormation(properties.wordCloudVisual)}):properties}function CfnDashboardVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barChartVisual","BarChartVisual",properties.BarChartVisual!=null?CfnDashboardBarChartVisualPropertyFromCloudFormation(properties.BarChartVisual):void 0),ret.addPropertyResult("boxPlotVisual","BoxPlotVisual",properties.BoxPlotVisual!=null?CfnDashboardBoxPlotVisualPropertyFromCloudFormation(properties.BoxPlotVisual):void 0),ret.addPropertyResult("comboChartVisual","ComboChartVisual",properties.ComboChartVisual!=null?CfnDashboardComboChartVisualPropertyFromCloudFormation(properties.ComboChartVisual):void 0),ret.addPropertyResult("customContentVisual","CustomContentVisual",properties.CustomContentVisual!=null?CfnDashboardCustomContentVisualPropertyFromCloudFormation(properties.CustomContentVisual):void 0),ret.addPropertyResult("emptyVisual","EmptyVisual",properties.EmptyVisual!=null?CfnDashboardEmptyVisualPropertyFromCloudFormation(properties.EmptyVisual):void 0),ret.addPropertyResult("filledMapVisual","FilledMapVisual",properties.FilledMapVisual!=null?CfnDashboardFilledMapVisualPropertyFromCloudFormation(properties.FilledMapVisual):void 0),ret.addPropertyResult("funnelChartVisual","FunnelChartVisual",properties.FunnelChartVisual!=null?CfnDashboardFunnelChartVisualPropertyFromCloudFormation(properties.FunnelChartVisual):void 0),ret.addPropertyResult("gaugeChartVisual","GaugeChartVisual",properties.GaugeChartVisual!=null?CfnDashboardGaugeChartVisualPropertyFromCloudFormation(properties.GaugeChartVisual):void 0),ret.addPropertyResult("geospatialMapVisual","GeospatialMapVisual",properties.GeospatialMapVisual!=null?CfnDashboardGeospatialMapVisualPropertyFromCloudFormation(properties.GeospatialMapVisual):void 0),ret.addPropertyResult("heatMapVisual","HeatMapVisual",properties.HeatMapVisual!=null?CfnDashboardHeatMapVisualPropertyFromCloudFormation(properties.HeatMapVisual):void 0),ret.addPropertyResult("histogramVisual","HistogramVisual",properties.HistogramVisual!=null?CfnDashboardHistogramVisualPropertyFromCloudFormation(properties.HistogramVisual):void 0),ret.addPropertyResult("insightVisual","InsightVisual",properties.InsightVisual!=null?CfnDashboardInsightVisualPropertyFromCloudFormation(properties.InsightVisual):void 0),ret.addPropertyResult("kpiVisual","KPIVisual",properties.KPIVisual!=null?CfnDashboardKPIVisualPropertyFromCloudFormation(properties.KPIVisual):void 0),ret.addPropertyResult("layerMapVisual","LayerMapVisual",properties.LayerMapVisual!=null?CfnDashboardLayerMapVisualPropertyFromCloudFormation(properties.LayerMapVisual):void 0),ret.addPropertyResult("lineChartVisual","LineChartVisual",properties.LineChartVisual!=null?CfnDashboardLineChartVisualPropertyFromCloudFormation(properties.LineChartVisual):void 0),ret.addPropertyResult("pieChartVisual","PieChartVisual",properties.PieChartVisual!=null?CfnDashboardPieChartVisualPropertyFromCloudFormation(properties.PieChartVisual):void 0),ret.addPropertyResult("pivotTableVisual","PivotTableVisual",properties.PivotTableVisual!=null?CfnDashboardPivotTableVisualPropertyFromCloudFormation(properties.PivotTableVisual):void 0),ret.addPropertyResult("pluginVisual","PluginVisual",properties.PluginVisual!=null?CfnDashboardPluginVisualPropertyFromCloudFormation(properties.PluginVisual):void 0),ret.addPropertyResult("radarChartVisual","RadarChartVisual",properties.RadarChartVisual!=null?CfnDashboardRadarChartVisualPropertyFromCloudFormation(properties.RadarChartVisual):void 0),ret.addPropertyResult("sankeyDiagramVisual","SankeyDiagramVisual",properties.SankeyDiagramVisual!=null?CfnDashboardSankeyDiagramVisualPropertyFromCloudFormation(properties.SankeyDiagramVisual):void 0),ret.addPropertyResult("scatterPlotVisual","ScatterPlotVisual",properties.ScatterPlotVisual!=null?CfnDashboardScatterPlotVisualPropertyFromCloudFormation(properties.ScatterPlotVisual):void 0),ret.addPropertyResult("tableVisual","TableVisual",properties.TableVisual!=null?CfnDashboardTableVisualPropertyFromCloudFormation(properties.TableVisual):void 0),ret.addPropertyResult("treeMapVisual","TreeMapVisual",properties.TreeMapVisual!=null?CfnDashboardTreeMapVisualPropertyFromCloudFormation(properties.TreeMapVisual):void 0),ret.addPropertyResult("waterfallVisual","WaterfallVisual",properties.WaterfallVisual!=null?CfnDashboardWaterfallVisualPropertyFromCloudFormation(properties.WaterfallVisual):void 0),ret.addPropertyResult("wordCloudVisual","WordCloudVisual",properties.WordCloudVisual!=null?CfnDashboardWordCloudVisualPropertyFromCloudFormation(properties.WordCloudVisual):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardImageCustomActionOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("navigationOperation",CfnDashboardCustomActionNavigationOperationPropertyValidator)(properties.navigationOperation)),errors.collect(cdk().propertyValidator("setParametersOperation",CfnDashboardCustomActionSetParametersOperationPropertyValidator)(properties.setParametersOperation)),errors.collect(cdk().propertyValidator("urlOperation",CfnDashboardCustomActionURLOperationPropertyValidator)(properties.urlOperation)),errors.wrap('supplied properties not correct for "ImageCustomActionOperationProperty"')}function convertCfnDashboardImageCustomActionOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardImageCustomActionOperationPropertyValidator(properties).assertSuccess(),{NavigationOperation:convertCfnDashboardCustomActionNavigationOperationPropertyToCloudFormation(properties.navigationOperation),SetParametersOperation:convertCfnDashboardCustomActionSetParametersOperationPropertyToCloudFormation(properties.setParametersOperation),URLOperation:convertCfnDashboardCustomActionURLOperationPropertyToCloudFormation(properties.urlOperation)}):properties}function CfnDashboardImageCustomActionOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("navigationOperation","NavigationOperation",properties.NavigationOperation!=null?CfnDashboardCustomActionNavigationOperationPropertyFromCloudFormation(properties.NavigationOperation):void 0),ret.addPropertyResult("setParametersOperation","SetParametersOperation",properties.SetParametersOperation!=null?CfnDashboardCustomActionSetParametersOperationPropertyFromCloudFormation(properties.SetParametersOperation):void 0),ret.addPropertyResult("urlOperation","URLOperation",properties.URLOperation!=null?CfnDashboardCustomActionURLOperationPropertyFromCloudFormation(properties.URLOperation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardImageCustomActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actionOperations",cdk().requiredValidator)(properties.actionOperations)),errors.collect(cdk().propertyValidator("actionOperations",cdk().listValidator(CfnDashboardImageCustomActionOperationPropertyValidator))(properties.actionOperations)),errors.collect(cdk().propertyValidator("customActionId",cdk().requiredValidator)(properties.customActionId)),errors.collect(cdk().propertyValidator("customActionId",cdk().validateString)(properties.customActionId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("trigger",cdk().requiredValidator)(properties.trigger)),errors.collect(cdk().propertyValidator("trigger",cdk().validateString)(properties.trigger)),errors.wrap('supplied properties not correct for "ImageCustomActionProperty"')}function convertCfnDashboardImageCustomActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardImageCustomActionPropertyValidator(properties).assertSuccess(),{ActionOperations:cdk().listMapper(convertCfnDashboardImageCustomActionOperationPropertyToCloudFormation)(properties.actionOperations),CustomActionId:cdk().stringToCloudFormation(properties.customActionId),Name:cdk().stringToCloudFormation(properties.name),Status:cdk().stringToCloudFormation(properties.status),Trigger:cdk().stringToCloudFormation(properties.trigger)}):properties}function CfnDashboardImageCustomActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOperations","ActionOperations",properties.ActionOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardImageCustomActionOperationPropertyFromCloudFormation)(properties.ActionOperations):void 0),ret.addPropertyResult("customActionId","CustomActionId",properties.CustomActionId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomActionId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("trigger","Trigger",properties.Trigger!=null?cfn_parse().FromCloudFormation.getString(properties.Trigger):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetImageTooltipTextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("plainText",cdk().validateString)(properties.plainText)),errors.wrap('supplied properties not correct for "SheetImageTooltipTextProperty"')}function convertCfnDashboardSheetImageTooltipTextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetImageTooltipTextPropertyValidator(properties).assertSuccess(),{PlainText:cdk().stringToCloudFormation(properties.plainText)}):properties}function CfnDashboardSheetImageTooltipTextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("plainText","PlainText",properties.PlainText!=null?cfn_parse().FromCloudFormation.getString(properties.PlainText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetImageTooltipConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tooltipText",CfnDashboardSheetImageTooltipTextPropertyValidator)(properties.tooltipText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SheetImageTooltipConfigurationProperty"')}function convertCfnDashboardSheetImageTooltipConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetImageTooltipConfigurationPropertyValidator(properties).assertSuccess(),{TooltipText:convertCfnDashboardSheetImageTooltipTextPropertyToCloudFormation(properties.tooltipText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnDashboardSheetImageTooltipConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tooltipText","TooltipText",properties.TooltipText!=null?CfnDashboardSheetImageTooltipTextPropertyFromCloudFormation(properties.TooltipText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetImageScalingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scalingType",cdk().validateString)(properties.scalingType)),errors.wrap('supplied properties not correct for "SheetImageScalingConfigurationProperty"')}function convertCfnDashboardSheetImageScalingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetImageScalingConfigurationPropertyValidator(properties).assertSuccess(),{ScalingType:cdk().stringToCloudFormation(properties.scalingType)}):properties}function CfnDashboardSheetImageScalingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scalingType","ScalingType",properties.ScalingType!=null?cfn_parse().FromCloudFormation.getString(properties.ScalingType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardImageMenuOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ImageMenuOptionProperty"')}function convertCfnDashboardImageMenuOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardImageMenuOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnDashboardImageMenuOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardImageInteractionOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("imageMenuOption",CfnDashboardImageMenuOptionPropertyValidator)(properties.imageMenuOption)),errors.wrap('supplied properties not correct for "ImageInteractionOptionsProperty"')}function convertCfnDashboardImageInteractionOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardImageInteractionOptionsPropertyValidator(properties).assertSuccess(),{ImageMenuOption:convertCfnDashboardImageMenuOptionPropertyToCloudFormation(properties.imageMenuOption)}):properties}function CfnDashboardImageInteractionOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("imageMenuOption","ImageMenuOption",properties.ImageMenuOption!=null?CfnDashboardImageMenuOptionPropertyFromCloudFormation(properties.ImageMenuOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetImageStaticFileSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticFileId",cdk().requiredValidator)(properties.staticFileId)),errors.collect(cdk().propertyValidator("staticFileId",cdk().validateString)(properties.staticFileId)),errors.wrap('supplied properties not correct for "SheetImageStaticFileSourceProperty"')}function convertCfnDashboardSheetImageStaticFileSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetImageStaticFileSourcePropertyValidator(properties).assertSuccess(),{StaticFileId:cdk().stringToCloudFormation(properties.staticFileId)}):properties}function CfnDashboardSheetImageStaticFileSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticFileId","StaticFileId",properties.StaticFileId!=null?cfn_parse().FromCloudFormation.getString(properties.StaticFileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetImageSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sheetImageStaticFileSource",CfnDashboardSheetImageStaticFileSourcePropertyValidator)(properties.sheetImageStaticFileSource)),errors.wrap('supplied properties not correct for "SheetImageSourceProperty"')}function convertCfnDashboardSheetImageSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetImageSourcePropertyValidator(properties).assertSuccess(),{SheetImageStaticFileSource:convertCfnDashboardSheetImageStaticFileSourcePropertyToCloudFormation(properties.sheetImageStaticFileSource)}):properties}function CfnDashboardSheetImageSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sheetImageStaticFileSource","SheetImageStaticFileSource",properties.SheetImageStaticFileSource!=null?CfnDashboardSheetImageStaticFileSourcePropertyFromCloudFormation(properties.SheetImageStaticFileSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetImagePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnDashboardImageCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("imageContentAltText",cdk().validateString)(properties.imageContentAltText)),errors.collect(cdk().propertyValidator("interactions",CfnDashboardImageInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("scaling",CfnDashboardSheetImageScalingConfigurationPropertyValidator)(properties.scaling)),errors.collect(cdk().propertyValidator("sheetImageId",cdk().requiredValidator)(properties.sheetImageId)),errors.collect(cdk().propertyValidator("sheetImageId",cdk().validateString)(properties.sheetImageId)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDashboardSheetImageSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("tooltip",CfnDashboardSheetImageTooltipConfigurationPropertyValidator)(properties.tooltip)),errors.wrap('supplied properties not correct for "SheetImageProperty"')}function convertCfnDashboardSheetImagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetImagePropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnDashboardImageCustomActionPropertyToCloudFormation)(properties.actions),ImageContentAltText:cdk().stringToCloudFormation(properties.imageContentAltText),Interactions:convertCfnDashboardImageInteractionOptionsPropertyToCloudFormation(properties.interactions),Scaling:convertCfnDashboardSheetImageScalingConfigurationPropertyToCloudFormation(properties.scaling),SheetImageId:cdk().stringToCloudFormation(properties.sheetImageId),Source:convertCfnDashboardSheetImageSourcePropertyToCloudFormation(properties.source),Tooltip:convertCfnDashboardSheetImageTooltipConfigurationPropertyToCloudFormation(properties.tooltip)}):properties}function CfnDashboardSheetImagePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardImageCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("imageContentAltText","ImageContentAltText",properties.ImageContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.ImageContentAltText):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnDashboardImageInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("scaling","Scaling",properties.Scaling!=null?CfnDashboardSheetImageScalingConfigurationPropertyFromCloudFormation(properties.Scaling):void 0),ret.addPropertyResult("sheetImageId","SheetImageId",properties.SheetImageId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetImageId):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDashboardSheetImageSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnDashboardSheetImageTooltipConfigurationPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("filterControls",cdk().listValidator(CfnDashboardFilterControlPropertyValidator))(properties.filterControls)),errors.collect(cdk().propertyValidator("images",cdk().listValidator(CfnDashboardSheetImagePropertyValidator))(properties.images)),errors.collect(cdk().propertyValidator("layouts",cdk().listValidator(CfnDashboardLayoutPropertyValidator))(properties.layouts)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterControls",cdk().listValidator(CfnDashboardParameterControlPropertyValidator))(properties.parameterControls)),errors.collect(cdk().propertyValidator("sheetControlLayouts",cdk().listValidator(CfnDashboardSheetControlLayoutPropertyValidator))(properties.sheetControlLayouts)),errors.collect(cdk().propertyValidator("sheetId",cdk().requiredValidator)(properties.sheetId)),errors.collect(cdk().propertyValidator("sheetId",cdk().validateString)(properties.sheetId)),errors.collect(cdk().propertyValidator("textBoxes",cdk().listValidator(CfnDashboardSheetTextBoxPropertyValidator))(properties.textBoxes)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("visuals",cdk().listValidator(CfnDashboardVisualPropertyValidator))(properties.visuals)),errors.wrap('supplied properties not correct for "SheetDefinitionProperty"')}function convertCfnDashboardSheetDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetDefinitionPropertyValidator(properties).assertSuccess(),{ContentType:cdk().stringToCloudFormation(properties.contentType),Description:cdk().stringToCloudFormation(properties.description),FilterControls:cdk().listMapper(convertCfnDashboardFilterControlPropertyToCloudFormation)(properties.filterControls),Images:cdk().listMapper(convertCfnDashboardSheetImagePropertyToCloudFormation)(properties.images),Layouts:cdk().listMapper(convertCfnDashboardLayoutPropertyToCloudFormation)(properties.layouts),Name:cdk().stringToCloudFormation(properties.name),ParameterControls:cdk().listMapper(convertCfnDashboardParameterControlPropertyToCloudFormation)(properties.parameterControls),SheetControlLayouts:cdk().listMapper(convertCfnDashboardSheetControlLayoutPropertyToCloudFormation)(properties.sheetControlLayouts),SheetId:cdk().stringToCloudFormation(properties.sheetId),TextBoxes:cdk().listMapper(convertCfnDashboardSheetTextBoxPropertyToCloudFormation)(properties.textBoxes),Title:cdk().stringToCloudFormation(properties.title),Visuals:cdk().listMapper(convertCfnDashboardVisualPropertyToCloudFormation)(properties.visuals)}):properties}function CfnDashboardSheetDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("filterControls","FilterControls",properties.FilterControls!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFilterControlPropertyFromCloudFormation)(properties.FilterControls):void 0),ret.addPropertyResult("images","Images",properties.Images!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardSheetImagePropertyFromCloudFormation)(properties.Images):void 0),ret.addPropertyResult("layouts","Layouts",properties.Layouts!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardLayoutPropertyFromCloudFormation)(properties.Layouts):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterControls","ParameterControls",properties.ParameterControls!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardParameterControlPropertyFromCloudFormation)(properties.ParameterControls):void 0),ret.addPropertyResult("sheetControlLayouts","SheetControlLayouts",properties.SheetControlLayouts!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardSheetControlLayoutPropertyFromCloudFormation)(properties.SheetControlLayouts):void 0),ret.addPropertyResult("sheetId","SheetId",properties.SheetId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetId):void 0),ret.addPropertyResult("textBoxes","TextBoxes",properties.TextBoxes!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardSheetTextBoxPropertyFromCloudFormation)(properties.TextBoxes):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("visuals","Visuals",properties.Visuals!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardVisualPropertyFromCloudFormation)(properties.Visuals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardMappedDataSetParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetParameterName",cdk().requiredValidator)(properties.dataSetParameterName)),errors.collect(cdk().propertyValidator("dataSetParameterName",cdk().validateString)(properties.dataSetParameterName)),errors.wrap('supplied properties not correct for "MappedDataSetParameterProperty"')}function convertCfnDashboardMappedDataSetParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardMappedDataSetParameterPropertyValidator(properties).assertSuccess(),{DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),DataSetParameterName:cdk().stringToCloudFormation(properties.dataSetParameterName)}):properties}function CfnDashboardMappedDataSetParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("dataSetParameterName","DataSetParameterName",properties.DataSetParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDynamicDefaultValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValueColumn",cdk().requiredValidator)(properties.defaultValueColumn)),errors.collect(cdk().propertyValidator("defaultValueColumn",CfnDashboardColumnIdentifierPropertyValidator)(properties.defaultValueColumn)),errors.collect(cdk().propertyValidator("groupNameColumn",CfnDashboardColumnIdentifierPropertyValidator)(properties.groupNameColumn)),errors.collect(cdk().propertyValidator("userNameColumn",CfnDashboardColumnIdentifierPropertyValidator)(properties.userNameColumn)),errors.wrap('supplied properties not correct for "DynamicDefaultValueProperty"')}function convertCfnDashboardDynamicDefaultValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDynamicDefaultValuePropertyValidator(properties).assertSuccess(),{DefaultValueColumn:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.defaultValueColumn),GroupNameColumn:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.groupNameColumn),UserNameColumn:convertCfnDashboardColumnIdentifierPropertyToCloudFormation(properties.userNameColumn)}):properties}function CfnDashboardDynamicDefaultValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValueColumn","DefaultValueColumn",properties.DefaultValueColumn!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.DefaultValueColumn):void 0),ret.addPropertyResult("groupNameColumn","GroupNameColumn",properties.GroupNameColumn!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.GroupNameColumn):void 0),ret.addPropertyResult("userNameColumn","UserNameColumn",properties.UserNameColumn!=null?CfnDashboardColumnIdentifierPropertyFromCloudFormation(properties.UserNameColumn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardStringDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnDashboardDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateString))(properties.staticValues)),errors.wrap('supplied properties not correct for "StringDefaultValuesProperty"')}function convertCfnDashboardStringDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardStringDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnDashboardDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),StaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.staticValues)}):properties}function CfnDashboardStringDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnDashboardDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardStringValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateString)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "StringValueWhenUnsetConfigurationProperty"')}function convertCfnDashboardStringValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardStringValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().stringToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnDashboardStringValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getString(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardStringParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnDashboardStringDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnDashboardMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().requiredValidator)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().validateString)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnDashboardStringValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "StringParameterDeclarationProperty"')}function convertCfnDashboardStringParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardStringParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnDashboardStringDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnDashboardMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),ParameterValueType:cdk().stringToCloudFormation(properties.parameterValueType),ValueWhenUnset:convertCfnDashboardStringValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnDashboardStringParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnDashboardStringDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterValueType","ParameterValueType",properties.ParameterValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValueType):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnDashboardStringValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateTimeDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnDashboardDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("rollingDate",CfnDashboardRollingDateConfigurationPropertyValidator)(properties.rollingDate)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateString))(properties.staticValues)),errors.wrap('supplied properties not correct for "DateTimeDefaultValuesProperty"')}function convertCfnDashboardDateTimeDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateTimeDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnDashboardDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),RollingDate:convertCfnDashboardRollingDateConfigurationPropertyToCloudFormation(properties.rollingDate),StaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.staticValues)}):properties}function CfnDashboardDateTimeDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnDashboardDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("rollingDate","RollingDate",properties.RollingDate!=null?CfnDashboardRollingDateConfigurationPropertyFromCloudFormation(properties.RollingDate):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateTimeValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateString)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "DateTimeValueWhenUnsetConfigurationProperty"')}function convertCfnDashboardDateTimeValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateTimeValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().stringToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnDashboardDateTimeValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getString(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateTimeParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnDashboardDateTimeDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnDashboardMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnDashboardDateTimeValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "DateTimeParameterDeclarationProperty"')}function convertCfnDashboardDateTimeParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateTimeParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnDashboardDateTimeDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnDashboardMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity),ValueWhenUnset:convertCfnDashboardDateTimeValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnDashboardDateTimeParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnDashboardDateTimeDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnDashboardDateTimeValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDecimalDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnDashboardDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateNumber))(properties.staticValues)),errors.wrap('supplied properties not correct for "DecimalDefaultValuesProperty"')}function convertCfnDashboardDecimalDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDecimalDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnDashboardDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),StaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.staticValues)}):properties}function CfnDashboardDecimalDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnDashboardDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDecimalValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateNumber)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "DecimalValueWhenUnsetConfigurationProperty"')}function convertCfnDashboardDecimalValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDecimalValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().numberToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnDashboardDecimalValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDecimalParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnDashboardDecimalDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnDashboardMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().requiredValidator)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().validateString)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnDashboardDecimalValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "DecimalParameterDeclarationProperty"')}function convertCfnDashboardDecimalParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDecimalParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnDashboardDecimalDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnDashboardMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),ParameterValueType:cdk().stringToCloudFormation(properties.parameterValueType),ValueWhenUnset:convertCfnDashboardDecimalValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnDashboardDecimalParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnDashboardDecimalDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterValueType","ParameterValueType",properties.ParameterValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValueType):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnDashboardDecimalValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardIntegerDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnDashboardDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateNumber))(properties.staticValues)),errors.wrap('supplied properties not correct for "IntegerDefaultValuesProperty"')}function convertCfnDashboardIntegerDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardIntegerDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnDashboardDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),StaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.staticValues)}):properties}function CfnDashboardIntegerDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnDashboardDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardIntegerValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateNumber)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "IntegerValueWhenUnsetConfigurationProperty"')}function convertCfnDashboardIntegerValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardIntegerValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().numberToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnDashboardIntegerValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardIntegerParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnDashboardIntegerDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnDashboardMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().requiredValidator)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().validateString)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnDashboardIntegerValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "IntegerParameterDeclarationProperty"')}function convertCfnDashboardIntegerParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardIntegerParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnDashboardIntegerDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnDashboardMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),ParameterValueType:cdk().stringToCloudFormation(properties.parameterValueType),ValueWhenUnset:convertCfnDashboardIntegerValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnDashboardIntegerParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnDashboardIntegerDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterValueType","ParameterValueType",properties.ParameterValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValueType):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnDashboardIntegerValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeParameterDeclaration",CfnDashboardDateTimeParameterDeclarationPropertyValidator)(properties.dateTimeParameterDeclaration)),errors.collect(cdk().propertyValidator("decimalParameterDeclaration",CfnDashboardDecimalParameterDeclarationPropertyValidator)(properties.decimalParameterDeclaration)),errors.collect(cdk().propertyValidator("integerParameterDeclaration",CfnDashboardIntegerParameterDeclarationPropertyValidator)(properties.integerParameterDeclaration)),errors.collect(cdk().propertyValidator("stringParameterDeclaration",CfnDashboardStringParameterDeclarationPropertyValidator)(properties.stringParameterDeclaration)),errors.wrap('supplied properties not correct for "ParameterDeclarationProperty"')}function convertCfnDashboardParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardParameterDeclarationPropertyValidator(properties).assertSuccess(),{DateTimeParameterDeclaration:convertCfnDashboardDateTimeParameterDeclarationPropertyToCloudFormation(properties.dateTimeParameterDeclaration),DecimalParameterDeclaration:convertCfnDashboardDecimalParameterDeclarationPropertyToCloudFormation(properties.decimalParameterDeclaration),IntegerParameterDeclaration:convertCfnDashboardIntegerParameterDeclarationPropertyToCloudFormation(properties.integerParameterDeclaration),StringParameterDeclaration:convertCfnDashboardStringParameterDeclarationPropertyToCloudFormation(properties.stringParameterDeclaration)}):properties}function CfnDashboardParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeParameterDeclaration","DateTimeParameterDeclaration",properties.DateTimeParameterDeclaration!=null?CfnDashboardDateTimeParameterDeclarationPropertyFromCloudFormation(properties.DateTimeParameterDeclaration):void 0),ret.addPropertyResult("decimalParameterDeclaration","DecimalParameterDeclaration",properties.DecimalParameterDeclaration!=null?CfnDashboardDecimalParameterDeclarationPropertyFromCloudFormation(properties.DecimalParameterDeclaration):void 0),ret.addPropertyResult("integerParameterDeclaration","IntegerParameterDeclaration",properties.IntegerParameterDeclaration!=null?CfnDashboardIntegerParameterDeclarationPropertyFromCloudFormation(properties.IntegerParameterDeclaration):void 0),ret.addPropertyResult("stringParameterDeclaration","StringParameterDeclaration",properties.StringParameterDeclaration!=null?CfnDashboardStringParameterDeclarationPropertyFromCloudFormation(properties.StringParameterDeclaration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardAssetOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("excludedDataSetArns",cdk().listValidator(cdk().validateString))(properties.excludedDataSetArns)),errors.collect(cdk().propertyValidator("qBusinessInsightsStatus",cdk().validateString)(properties.qBusinessInsightsStatus)),errors.collect(cdk().propertyValidator("timezone",cdk().validateString)(properties.timezone)),errors.collect(cdk().propertyValidator("weekStart",cdk().validateString)(properties.weekStart)),errors.wrap('supplied properties not correct for "AssetOptionsProperty"')}function convertCfnDashboardAssetOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardAssetOptionsPropertyValidator(properties).assertSuccess(),{ExcludedDataSetArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludedDataSetArns),QBusinessInsightsStatus:cdk().stringToCloudFormation(properties.qBusinessInsightsStatus),Timezone:cdk().stringToCloudFormation(properties.timezone),WeekStart:cdk().stringToCloudFormation(properties.weekStart)}):properties}function CfnDashboardAssetOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("excludedDataSetArns","ExcludedDataSetArns",properties.ExcludedDataSetArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludedDataSetArns):void 0),ret.addPropertyResult("qBusinessInsightsStatus","QBusinessInsightsStatus",properties.QBusinessInsightsStatus!=null?cfn_parse().FromCloudFormation.getString(properties.QBusinessInsightsStatus):void 0),ret.addPropertyResult("timezone","Timezone",properties.Timezone!=null?cfn_parse().FromCloudFormation.getString(properties.Timezone):void 0),ret.addPropertyResult("weekStart","WeekStart",properties.WeekStart!=null?cfn_parse().FromCloudFormation.getString(properties.WeekStart):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardStaticFileUrlSourceOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("url",cdk().requiredValidator)(properties.url)),errors.collect(cdk().propertyValidator("url",cdk().validateString)(properties.url)),errors.wrap('supplied properties not correct for "StaticFileUrlSourceOptionsProperty"')}function convertCfnDashboardStaticFileUrlSourceOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardStaticFileUrlSourceOptionsPropertyValidator(properties).assertSuccess(),{Url:cdk().stringToCloudFormation(properties.url)}):properties}function CfnDashboardStaticFileUrlSourceOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("url","Url",properties.Url!=null?cfn_parse().FromCloudFormation.getString(properties.Url):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardStaticFileS3SourceOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("objectKey",cdk().requiredValidator)(properties.objectKey)),errors.collect(cdk().propertyValidator("objectKey",cdk().validateString)(properties.objectKey)),errors.collect(cdk().propertyValidator("region",cdk().requiredValidator)(properties.region)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.wrap('supplied properties not correct for "StaticFileS3SourceOptionsProperty"')}function convertCfnDashboardStaticFileS3SourceOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardStaticFileS3SourceOptionsPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),ObjectKey:cdk().stringToCloudFormation(properties.objectKey),Region:cdk().stringToCloudFormation(properties.region)}):properties}function CfnDashboardStaticFileS3SourceOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("objectKey","ObjectKey",properties.ObjectKey!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectKey):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardStaticFileSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("s3Options",CfnDashboardStaticFileS3SourceOptionsPropertyValidator)(properties.s3Options)),errors.collect(cdk().propertyValidator("urlOptions",CfnDashboardStaticFileUrlSourceOptionsPropertyValidator)(properties.urlOptions)),errors.wrap('supplied properties not correct for "StaticFileSourceProperty"')}function convertCfnDashboardStaticFileSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardStaticFileSourcePropertyValidator(properties).assertSuccess(),{S3Options:convertCfnDashboardStaticFileS3SourceOptionsPropertyToCloudFormation(properties.s3Options),UrlOptions:convertCfnDashboardStaticFileUrlSourceOptionsPropertyToCloudFormation(properties.urlOptions)}):properties}function CfnDashboardStaticFileSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("s3Options","S3Options",properties.S3Options!=null?CfnDashboardStaticFileS3SourceOptionsPropertyFromCloudFormation(properties.S3Options):void 0),ret.addPropertyResult("urlOptions","UrlOptions",properties.UrlOptions!=null?CfnDashboardStaticFileUrlSourceOptionsPropertyFromCloudFormation(properties.UrlOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardImageStaticFilePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("source",CfnDashboardStaticFileSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("staticFileId",cdk().requiredValidator)(properties.staticFileId)),errors.collect(cdk().propertyValidator("staticFileId",cdk().validateString)(properties.staticFileId)),errors.wrap('supplied properties not correct for "ImageStaticFileProperty"')}function convertCfnDashboardImageStaticFilePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardImageStaticFilePropertyValidator(properties).assertSuccess(),{Source:convertCfnDashboardStaticFileSourcePropertyToCloudFormation(properties.source),StaticFileId:cdk().stringToCloudFormation(properties.staticFileId)}):properties}function CfnDashboardImageStaticFilePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("source","Source",properties.Source!=null?CfnDashboardStaticFileSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("staticFileId","StaticFileId",properties.StaticFileId!=null?cfn_parse().FromCloudFormation.getString(properties.StaticFileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSpatialStaticFilePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("source",CfnDashboardStaticFileSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("staticFileId",cdk().requiredValidator)(properties.staticFileId)),errors.collect(cdk().propertyValidator("staticFileId",cdk().validateString)(properties.staticFileId)),errors.wrap('supplied properties not correct for "SpatialStaticFileProperty"')}function convertCfnDashboardSpatialStaticFilePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSpatialStaticFilePropertyValidator(properties).assertSuccess(),{Source:convertCfnDashboardStaticFileSourcePropertyToCloudFormation(properties.source),StaticFileId:cdk().stringToCloudFormation(properties.staticFileId)}):properties}function CfnDashboardSpatialStaticFilePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("source","Source",properties.Source!=null?CfnDashboardStaticFileSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("staticFileId","StaticFileId",properties.StaticFileId!=null?cfn_parse().FromCloudFormation.getString(properties.StaticFileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardStaticFilePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("imageStaticFile",CfnDashboardImageStaticFilePropertyValidator)(properties.imageStaticFile)),errors.collect(cdk().propertyValidator("spatialStaticFile",CfnDashboardSpatialStaticFilePropertyValidator)(properties.spatialStaticFile)),errors.wrap('supplied properties not correct for "StaticFileProperty"')}function convertCfnDashboardStaticFilePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardStaticFilePropertyValidator(properties).assertSuccess(),{ImageStaticFile:convertCfnDashboardImageStaticFilePropertyToCloudFormation(properties.imageStaticFile),SpatialStaticFile:convertCfnDashboardSpatialStaticFilePropertyToCloudFormation(properties.spatialStaticFile)}):properties}function CfnDashboardStaticFilePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("imageStaticFile","ImageStaticFile",properties.ImageStaticFile!=null?CfnDashboardImageStaticFilePropertyFromCloudFormation(properties.ImageStaticFile):void 0),ret.addPropertyResult("spatialStaticFile","SpatialStaticFile",properties.SpatialStaticFile!=null?CfnDashboardSpatialStaticFilePropertyFromCloudFormation(properties.SpatialStaticFile):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDashboardVersionDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("analysisDefaults",CfnDashboardAnalysisDefaultsPropertyValidator)(properties.analysisDefaults)),errors.collect(cdk().propertyValidator("calculatedFields",cdk().listValidator(CfnDashboardCalculatedFieldPropertyValidator))(properties.calculatedFields)),errors.collect(cdk().propertyValidator("columnConfigurations",cdk().listValidator(CfnDashboardColumnConfigurationPropertyValidator))(properties.columnConfigurations)),errors.collect(cdk().propertyValidator("dataSetIdentifierDeclarations",cdk().requiredValidator)(properties.dataSetIdentifierDeclarations)),errors.collect(cdk().propertyValidator("dataSetIdentifierDeclarations",cdk().listValidator(CfnDashboardDataSetIdentifierDeclarationPropertyValidator))(properties.dataSetIdentifierDeclarations)),errors.collect(cdk().propertyValidator("filterGroups",cdk().listValidator(CfnDashboardFilterGroupPropertyValidator))(properties.filterGroups)),errors.collect(cdk().propertyValidator("options",CfnDashboardAssetOptionsPropertyValidator)(properties.options)),errors.collect(cdk().propertyValidator("parameterDeclarations",cdk().listValidator(CfnDashboardParameterDeclarationPropertyValidator))(properties.parameterDeclarations)),errors.collect(cdk().propertyValidator("sheets",cdk().listValidator(CfnDashboardSheetDefinitionPropertyValidator))(properties.sheets)),errors.collect(cdk().propertyValidator("staticFiles",cdk().listValidator(CfnDashboardStaticFilePropertyValidator))(properties.staticFiles)),errors.wrap('supplied properties not correct for "DashboardVersionDefinitionProperty"')}function convertCfnDashboardDashboardVersionDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDashboardVersionDefinitionPropertyValidator(properties).assertSuccess(),{AnalysisDefaults:convertCfnDashboardAnalysisDefaultsPropertyToCloudFormation(properties.analysisDefaults),CalculatedFields:cdk().listMapper(convertCfnDashboardCalculatedFieldPropertyToCloudFormation)(properties.calculatedFields),ColumnConfigurations:cdk().listMapper(convertCfnDashboardColumnConfigurationPropertyToCloudFormation)(properties.columnConfigurations),DataSetIdentifierDeclarations:cdk().listMapper(convertCfnDashboardDataSetIdentifierDeclarationPropertyToCloudFormation)(properties.dataSetIdentifierDeclarations),FilterGroups:cdk().listMapper(convertCfnDashboardFilterGroupPropertyToCloudFormation)(properties.filterGroups),Options:convertCfnDashboardAssetOptionsPropertyToCloudFormation(properties.options),ParameterDeclarations:cdk().listMapper(convertCfnDashboardParameterDeclarationPropertyToCloudFormation)(properties.parameterDeclarations),Sheets:cdk().listMapper(convertCfnDashboardSheetDefinitionPropertyToCloudFormation)(properties.sheets),StaticFiles:cdk().listMapper(convertCfnDashboardStaticFilePropertyToCloudFormation)(properties.staticFiles)}):properties}function CfnDashboardDashboardVersionDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("analysisDefaults","AnalysisDefaults",properties.AnalysisDefaults!=null?CfnDashboardAnalysisDefaultsPropertyFromCloudFormation(properties.AnalysisDefaults):void 0),ret.addPropertyResult("calculatedFields","CalculatedFields",properties.CalculatedFields!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardCalculatedFieldPropertyFromCloudFormation)(properties.CalculatedFields):void 0),ret.addPropertyResult("columnConfigurations","ColumnConfigurations",properties.ColumnConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardColumnConfigurationPropertyFromCloudFormation)(properties.ColumnConfigurations):void 0),ret.addPropertyResult("dataSetIdentifierDeclarations","DataSetIdentifierDeclarations",properties.DataSetIdentifierDeclarations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDataSetIdentifierDeclarationPropertyFromCloudFormation)(properties.DataSetIdentifierDeclarations):void 0),ret.addPropertyResult("filterGroups","FilterGroups",properties.FilterGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardFilterGroupPropertyFromCloudFormation)(properties.FilterGroups):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?CfnDashboardAssetOptionsPropertyFromCloudFormation(properties.Options):void 0),ret.addPropertyResult("parameterDeclarations","ParameterDeclarations",properties.ParameterDeclarations!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardParameterDeclarationPropertyFromCloudFormation)(properties.ParameterDeclarations):void 0),ret.addPropertyResult("sheets","Sheets",properties.Sheets!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardSheetDefinitionPropertyFromCloudFormation)(properties.Sheets):void 0),ret.addPropertyResult("staticFiles","StaticFiles",properties.StaticFiles!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardStaticFilePropertyFromCloudFormation)(properties.StaticFiles):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardResourcePermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("principal",cdk().requiredValidator)(properties.principal)),errors.collect(cdk().propertyValidator("principal",cdk().validateString)(properties.principal)),errors.collect(cdk().propertyValidator("resource",cdk().validateString)(properties.resource)),errors.wrap('supplied properties not correct for "ResourcePermissionProperty"')}function convertCfnDashboardResourcePermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardResourcePermissionPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),Principal:cdk().stringToCloudFormation(properties.principal),Resource:cdk().stringToCloudFormation(properties.resource)}):properties}function CfnDashboardResourcePermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getString(properties.Principal):void 0),ret.addPropertyResult("resource","Resource",properties.Resource!=null?cfn_parse().FromCloudFormation.getString(properties.Resource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardValidationStrategyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("mode",cdk().requiredValidator)(properties.mode)),errors.collect(cdk().propertyValidator("mode",cdk().validateString)(properties.mode)),errors.wrap('supplied properties not correct for "ValidationStrategyProperty"')}function convertCfnDashboardValidationStrategyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardValidationStrategyPropertyValidator(properties).assertSuccess(),{Mode:cdk().stringToCloudFormation(properties.mode)}):properties}function CfnDashboardValidationStrategyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("mode","Mode",properties.Mode!=null?cfn_parse().FromCloudFormation.getString(properties.Mode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardLinkSharingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(CfnDashboardResourcePermissionPropertyValidator))(properties.permissions)),errors.wrap('supplied properties not correct for "LinkSharingConfigurationProperty"')}function convertCfnDashboardLinkSharingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardLinkSharingConfigurationPropertyValidator(properties).assertSuccess(),{Permissions:cdk().listMapper(convertCfnDashboardResourcePermissionPropertyToCloudFormation)(properties.permissions)}):properties}function CfnDashboardLinkSharingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardResourcePermissionPropertyFromCloudFormation)(properties.Permissions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSheetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sheetId",cdk().validateString)(properties.sheetId)),errors.wrap('supplied properties not correct for "SheetProperty"')}function convertCfnDashboardSheetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSheetPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),SheetId:cdk().stringToCloudFormation(properties.sheetId)}):properties}function CfnDashboardSheetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("sheetId","SheetId",properties.SheetId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardEntityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.wrap('supplied properties not correct for "EntityProperty"')}function convertCfnDashboardEntityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardEntityPropertyValidator(properties).assertSuccess(),{Path:cdk().stringToCloudFormation(properties.path)}):properties}function CfnDashboardEntityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDashboardErrorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("violatedEntities",cdk().listValidator(CfnDashboardEntityPropertyValidator))(properties.violatedEntities)),errors.wrap('supplied properties not correct for "DashboardErrorProperty"')}function convertCfnDashboardDashboardErrorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDashboardErrorPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message),Type:cdk().stringToCloudFormation(properties.type),ViolatedEntities:cdk().listMapper(convertCfnDashboardEntityPropertyToCloudFormation)(properties.violatedEntities)}):properties}function CfnDashboardDashboardErrorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("violatedEntities","ViolatedEntities",properties.ViolatedEntities!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardEntityPropertyFromCloudFormation)(properties.ViolatedEntities):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDashboardVersionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("createdTime",cdk().validateString)(properties.createdTime)),errors.collect(cdk().propertyValidator("dataSetArns",cdk().listValidator(cdk().validateString))(properties.dataSetArns)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("errors",cdk().listValidator(CfnDashboardDashboardErrorPropertyValidator))(properties.errors)),errors.collect(cdk().propertyValidator("sheets",cdk().listValidator(CfnDashboardSheetPropertyValidator))(properties.sheets)),errors.collect(cdk().propertyValidator("sourceEntityArn",cdk().validateString)(properties.sourceEntityArn)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("themeArn",cdk().validateString)(properties.themeArn)),errors.collect(cdk().propertyValidator("versionNumber",cdk().validateNumber)(properties.versionNumber)),errors.wrap('supplied properties not correct for "DashboardVersionProperty"')}function convertCfnDashboardDashboardVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDashboardVersionPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),CreatedTime:cdk().stringToCloudFormation(properties.createdTime),DataSetArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.dataSetArns),Description:cdk().stringToCloudFormation(properties.description),Errors:cdk().listMapper(convertCfnDashboardDashboardErrorPropertyToCloudFormation)(properties.errors),Sheets:cdk().listMapper(convertCfnDashboardSheetPropertyToCloudFormation)(properties.sheets),SourceEntityArn:cdk().stringToCloudFormation(properties.sourceEntityArn),Status:cdk().stringToCloudFormation(properties.status),ThemeArn:cdk().stringToCloudFormation(properties.themeArn),VersionNumber:cdk().numberToCloudFormation(properties.versionNumber)}):properties}function CfnDashboardDashboardVersionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("createdTime","CreatedTime",properties.CreatedTime!=null?cfn_parse().FromCloudFormation.getString(properties.CreatedTime):void 0),ret.addPropertyResult("dataSetArns","DataSetArns",properties.DataSetArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DataSetArns):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("errors","Errors",properties.Errors!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardDashboardErrorPropertyFromCloudFormation)(properties.Errors):void 0),ret.addPropertyResult("sheets","Sheets",properties.Sheets!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardSheetPropertyFromCloudFormation)(properties.Sheets):void 0),ret.addPropertyResult("sourceEntityArn","SourceEntityArn",properties.SourceEntityArn!=null?cfn_parse().FromCloudFormation.getString(properties.SourceEntityArn):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("themeArn","ThemeArn",properties.ThemeArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThemeArn):void 0),ret.addPropertyResult("versionNumber","VersionNumber",properties.VersionNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.VersionNumber):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsAccountId",cdk().requiredValidator)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("dashboardId",cdk().requiredValidator)(properties.dashboardId)),errors.collect(cdk().propertyValidator("dashboardId",cdk().validateString)(properties.dashboardId)),errors.collect(cdk().propertyValidator("dashboardPublishOptions",CfnDashboardDashboardPublishOptionsPropertyValidator)(properties.dashboardPublishOptions)),errors.collect(cdk().propertyValidator("definition",CfnDashboardDashboardVersionDefinitionPropertyValidator)(properties.definition)),errors.collect(cdk().propertyValidator("folderArns",cdk().listValidator(cdk().validateString))(properties.folderArns)),errors.collect(cdk().propertyValidator("linkEntities",cdk().listValidator(cdk().validateString))(properties.linkEntities)),errors.collect(cdk().propertyValidator("linkSharingConfiguration",CfnDashboardLinkSharingConfigurationPropertyValidator)(properties.linkSharingConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameters",CfnDashboardParametersPropertyValidator)(properties.parameters)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(CfnDashboardResourcePermissionPropertyValidator))(properties.permissions)),errors.collect(cdk().propertyValidator("sourceEntity",CfnDashboardDashboardSourceEntityPropertyValidator)(properties.sourceEntity)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("themeArn",cdk().validateString)(properties.themeArn)),errors.collect(cdk().propertyValidator("validationStrategy",CfnDashboardValidationStrategyPropertyValidator)(properties.validationStrategy)),errors.collect(cdk().propertyValidator("versionDescription",cdk().validateString)(properties.versionDescription)),errors.wrap('supplied properties not correct for "CfnDashboardProps"')}function convertCfnDashboardPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardPropsValidator(properties).assertSuccess(),{AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),DashboardId:cdk().stringToCloudFormation(properties.dashboardId),DashboardPublishOptions:convertCfnDashboardDashboardPublishOptionsPropertyToCloudFormation(properties.dashboardPublishOptions),Definition:convertCfnDashboardDashboardVersionDefinitionPropertyToCloudFormation(properties.definition),FolderArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.folderArns),LinkEntities:cdk().listMapper(cdk().stringToCloudFormation)(properties.linkEntities),LinkSharingConfiguration:convertCfnDashboardLinkSharingConfigurationPropertyToCloudFormation(properties.linkSharingConfiguration),Name:cdk().stringToCloudFormation(properties.name),Parameters:convertCfnDashboardParametersPropertyToCloudFormation(properties.parameters),Permissions:cdk().listMapper(convertCfnDashboardResourcePermissionPropertyToCloudFormation)(properties.permissions),SourceEntity:convertCfnDashboardDashboardSourceEntityPropertyToCloudFormation(properties.sourceEntity),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),ThemeArn:cdk().stringToCloudFormation(properties.themeArn),ValidationStrategy:convertCfnDashboardValidationStrategyPropertyToCloudFormation(properties.validationStrategy),VersionDescription:cdk().stringToCloudFormation(properties.versionDescription)}):properties}function CfnDashboardPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("dashboardId","DashboardId",properties.DashboardId!=null?cfn_parse().FromCloudFormation.getString(properties.DashboardId):void 0),ret.addPropertyResult("dashboardPublishOptions","DashboardPublishOptions",properties.DashboardPublishOptions!=null?CfnDashboardDashboardPublishOptionsPropertyFromCloudFormation(properties.DashboardPublishOptions):void 0),ret.addPropertyResult("definition","Definition",properties.Definition!=null?CfnDashboardDashboardVersionDefinitionPropertyFromCloudFormation(properties.Definition):void 0),ret.addPropertyResult("folderArns","FolderArns",properties.FolderArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FolderArns):void 0),ret.addPropertyResult("linkEntities","LinkEntities",properties.LinkEntities!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LinkEntities):void 0),ret.addPropertyResult("linkSharingConfiguration","LinkSharingConfiguration",properties.LinkSharingConfiguration!=null?CfnDashboardLinkSharingConfigurationPropertyFromCloudFormation(properties.LinkSharingConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?CfnDashboardParametersPropertyFromCloudFormation(properties.Parameters):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardResourcePermissionPropertyFromCloudFormation)(properties.Permissions):void 0),ret.addPropertyResult("sourceEntity","SourceEntity",properties.SourceEntity!=null?CfnDashboardDashboardSourceEntityPropertyFromCloudFormation(properties.SourceEntity):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("themeArn","ThemeArn",properties.ThemeArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThemeArn):void 0),ret.addPropertyResult("validationStrategy","ValidationStrategy",properties.ValidationStrategy!=null?CfnDashboardValidationStrategyPropertyFromCloudFormation(properties.ValidationStrategy):void 0),ret.addPropertyResult("versionDescription","VersionDescription",properties.VersionDescription!=null?cfn_parse().FromCloudFormation.getString(properties.VersionDescription):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDataSet extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnDataSet",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::DataSet";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataSetPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataSet(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDataSet(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataSet.CFN_RESOURCE_TYPE_NAME}static arnForDataSet(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_IDataSetRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDataSet),error}return resource.dataSetRef.dataSetArn}_awsAccountId;_columnGroups;_columnLevelPermissionRules;_dataPrepConfiguration;_dataSetId;_datasetParameters;_dataSetRefreshProperties;_dataSetUsageConfiguration;_fieldFolders;_folderArns;_importMode;_ingestionWaitPolicy;_logicalTableMap;_name;_performanceConfiguration;_permissions;_physicalTableMap;_rowLevelPermissionDataSet;_rowLevelPermissionTagConfiguration;_semanticModelConfiguration;tags;_tagsRaw;_useAs;cfnPropertyNames={awsAccountId:"AwsAccountId",columnGroups:"ColumnGroups",columnLevelPermissionRules:"ColumnLevelPermissionRules",dataPrepConfiguration:"DataPrepConfiguration",dataSetId:"DataSetId",datasetParameters:"DatasetParameters",dataSetRefreshProperties:"DataSetRefreshProperties",dataSetUsageConfiguration:"DataSetUsageConfiguration",fieldFolders:"FieldFolders",folderArns:"FolderArns",importMode:"ImportMode",ingestionWaitPolicy:"IngestionWaitPolicy",logicalTableMap:"LogicalTableMap",name:"Name",performanceConfiguration:"PerformanceConfiguration",permissions:"Permissions",physicalTableMap:"PhysicalTableMap",rowLevelPermissionDataSet:"RowLevelPermissionDataSet",rowLevelPermissionTagConfiguration:"RowLevelPermissionTagConfiguration",semanticModelConfiguration:"SemanticModelConfiguration",tags:"Tags",useAs:"UseAs"};constructor(scope,id,props={}){super(scope,id,{type:CfnDataSet.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnDataSetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataSet),error}this._awsAccountId=props.awsAccountId,this._columnGroups=props.columnGroups,this._columnLevelPermissionRules=props.columnLevelPermissionRules,this._dataPrepConfiguration=props.dataPrepConfiguration,this._dataSetId=props.dataSetId,this._datasetParameters=props.datasetParameters,this._dataSetRefreshProperties=props.dataSetRefreshProperties,this._dataSetUsageConfiguration=props.dataSetUsageConfiguration,this._fieldFolders=props.fieldFolders,this._folderArns=props.folderArns,this._importMode=props.importMode,this._ingestionWaitPolicy=props.ingestionWaitPolicy,this._logicalTableMap=props.logicalTableMap,this._name=props.name,this._performanceConfiguration=props.performanceConfiguration,this._permissions=props.permissions,this._physicalTableMap=props.physicalTableMap,this._rowLevelPermissionDataSet=props.rowLevelPermissionDataSet,this._rowLevelPermissionTagConfiguration=props.rowLevelPermissionTagConfiguration,this._semanticModelConfiguration=props.semanticModelConfiguration,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::DataSet",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._useAs=props.useAs}get dataSetRef(){return{awsAccountId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),dataSetId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),dataSetArn:this.attrArn}}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get columnGroups(){return this._columnGroups}set columnGroups(value){cdk().traceProperty(this.node,"ColumnGroups"),this._columnGroups=value}get columnLevelPermissionRules(){return this._columnLevelPermissionRules}set columnLevelPermissionRules(value){cdk().traceProperty(this.node,"ColumnLevelPermissionRules"),this._columnLevelPermissionRules=value}get dataPrepConfiguration(){return this._dataPrepConfiguration}set dataPrepConfiguration(value){cdk().traceProperty(this.node,"DataPrepConfiguration"),this._dataPrepConfiguration=value}get dataSetId(){return this._dataSetId}set dataSetId(value){cdk().traceProperty(this.node,"DataSetId"),this._dataSetId=value}get datasetParameters(){return this._datasetParameters}set datasetParameters(value){cdk().traceProperty(this.node,"DatasetParameters"),this._datasetParameters=value}get dataSetRefreshProperties(){return this._dataSetRefreshProperties}set dataSetRefreshProperties(value){cdk().traceProperty(this.node,"DataSetRefreshProperties"),this._dataSetRefreshProperties=value}get dataSetUsageConfiguration(){return this._dataSetUsageConfiguration}set dataSetUsageConfiguration(value){cdk().traceProperty(this.node,"DataSetUsageConfiguration"),this._dataSetUsageConfiguration=value}get fieldFolders(){return this._fieldFolders}set fieldFolders(value){cdk().traceProperty(this.node,"FieldFolders"),this._fieldFolders=value}get folderArns(){return this._folderArns}set folderArns(value){cdk().traceProperty(this.node,"FolderArns"),this._folderArns=value}get importMode(){return this._importMode}set importMode(value){cdk().traceProperty(this.node,"ImportMode"),this._importMode=value}get ingestionWaitPolicy(){return this._ingestionWaitPolicy}set ingestionWaitPolicy(value){cdk().traceProperty(this.node,"IngestionWaitPolicy"),this._ingestionWaitPolicy=value}get logicalTableMap(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_quicksight.CfnDataSet#logicalTableMap","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"logicalTableMap").get),error}return this._logicalTableMap}set logicalTableMap(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_quicksight.CfnDataSet#logicalTableMap","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"logicalTableMap").set),error}cdk().traceProperty(this.node,"LogicalTableMap"),this._logicalTableMap=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get performanceConfiguration(){return this._performanceConfiguration}set performanceConfiguration(value){cdk().traceProperty(this.node,"PerformanceConfiguration"),this._performanceConfiguration=value}get permissions(){return this._permissions}set permissions(value){cdk().traceProperty(this.node,"Permissions"),this._permissions=value}get physicalTableMap(){return this._physicalTableMap}set physicalTableMap(value){cdk().traceProperty(this.node,"PhysicalTableMap"),this._physicalTableMap=value}get rowLevelPermissionDataSet(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_quicksight.CfnDataSet#rowLevelPermissionDataSet","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"rowLevelPermissionDataSet").get),error}return this._rowLevelPermissionDataSet}set rowLevelPermissionDataSet(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_quicksight.CfnDataSet#rowLevelPermissionDataSet","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"rowLevelPermissionDataSet").set),error}cdk().traceProperty(this.node,"RowLevelPermissionDataSet"),this._rowLevelPermissionDataSet=value}get rowLevelPermissionTagConfiguration(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_quicksight.CfnDataSet#rowLevelPermissionTagConfiguration","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"rowLevelPermissionTagConfiguration").get),error}return this._rowLevelPermissionTagConfiguration}set rowLevelPermissionTagConfiguration(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_quicksight.CfnDataSet#rowLevelPermissionTagConfiguration","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"rowLevelPermissionTagConfiguration").set),error}cdk().traceProperty(this.node,"RowLevelPermissionTagConfiguration"),this._rowLevelPermissionTagConfiguration=value}get semanticModelConfiguration(){return this._semanticModelConfiguration}set semanticModelConfiguration(value){cdk().traceProperty(this.node,"SemanticModelConfiguration"),this._semanticModelConfiguration=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get useAs(){return this._useAs}set useAs(value){cdk().traceProperty(this.node,"UseAs"),this._useAs=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrConsumedSpiceCapacityInBytes(){return this.getAtt("ConsumedSpiceCapacityInBytes",cdk().ResolutionTypeHint.NUMBER)}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get attrOutputColumns(){return this.getAtt("OutputColumns")}get cfnProperties(){return{awsAccountId:this._awsAccountId,columnGroups:this._columnGroups,columnLevelPermissionRules:this._columnLevelPermissionRules,dataPrepConfiguration:this._dataPrepConfiguration,dataSetId:this._dataSetId,datasetParameters:this._datasetParameters,dataSetRefreshProperties:this._dataSetRefreshProperties,dataSetUsageConfiguration:this._dataSetUsageConfiguration,fieldFolders:this._fieldFolders,folderArns:this._folderArns,importMode:this._importMode,ingestionWaitPolicy:this._ingestionWaitPolicy,logicalTableMap:this._logicalTableMap,name:this._name,performanceConfiguration:this._performanceConfiguration,permissions:this._permissions,physicalTableMap:this._physicalTableMap,rowLevelPermissionDataSet:this._rowLevelPermissionDataSet,rowLevelPermissionTagConfiguration:this._rowLevelPermissionTagConfiguration,semanticModelConfiguration:this._semanticModelConfiguration,tags:this.tags.renderTags(),useAs:this._useAs}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDataSet.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataSetPropsToCloudFormation(props)}}exports.CfnDataSet=CfnDataSet;function CfnDataSetInputColumnPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("subType",cdk().validateString)(properties.subType)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "InputColumnProperty"')}function convertCfnDataSetInputColumnPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetInputColumnPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),SubType:cdk().stringToCloudFormation(properties.subType),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDataSetInputColumnPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("subType","SubType",properties.SubType!=null?cfn_parse().FromCloudFormation.getString(properties.SubType):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRelationalTablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("catalog",cdk().validateString)(properties.catalog)),errors.collect(cdk().propertyValidator("dataSourceArn",cdk().requiredValidator)(properties.dataSourceArn)),errors.collect(cdk().propertyValidator("dataSourceArn",cdk().validateString)(properties.dataSourceArn)),errors.collect(cdk().propertyValidator("inputColumns",cdk().requiredValidator)(properties.inputColumns)),errors.collect(cdk().propertyValidator("inputColumns",cdk().listValidator(CfnDataSetInputColumnPropertyValidator))(properties.inputColumns)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("schema",cdk().validateString)(properties.schema)),errors.wrap('supplied properties not correct for "RelationalTableProperty"')}function convertCfnDataSetRelationalTablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRelationalTablePropertyValidator(properties).assertSuccess(),{Catalog:cdk().stringToCloudFormation(properties.catalog),DataSourceArn:cdk().stringToCloudFormation(properties.dataSourceArn),InputColumns:cdk().listMapper(convertCfnDataSetInputColumnPropertyToCloudFormation)(properties.inputColumns),Name:cdk().stringToCloudFormation(properties.name),Schema:cdk().stringToCloudFormation(properties.schema)}):properties}function CfnDataSetRelationalTablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("catalog","Catalog",properties.Catalog!=null?cfn_parse().FromCloudFormation.getString(properties.Catalog):void 0),ret.addPropertyResult("dataSourceArn","DataSourceArn",properties.DataSourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceArn):void 0),ret.addPropertyResult("inputColumns","InputColumns",properties.InputColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetInputColumnPropertyFromCloudFormation)(properties.InputColumns):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("schema","Schema",properties.Schema!=null?cfn_parse().FromCloudFormation.getString(properties.Schema):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetCustomSqlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().requiredValidator)(properties.columns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnDataSetInputColumnPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("dataSourceArn",cdk().requiredValidator)(properties.dataSourceArn)),errors.collect(cdk().propertyValidator("dataSourceArn",cdk().validateString)(properties.dataSourceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sqlQuery",cdk().requiredValidator)(properties.sqlQuery)),errors.collect(cdk().propertyValidator("sqlQuery",cdk().validateString)(properties.sqlQuery)),errors.wrap('supplied properties not correct for "CustomSqlProperty"')}function convertCfnDataSetCustomSqlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetCustomSqlPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnDataSetInputColumnPropertyToCloudFormation)(properties.columns),DataSourceArn:cdk().stringToCloudFormation(properties.dataSourceArn),Name:cdk().stringToCloudFormation(properties.name),SqlQuery:cdk().stringToCloudFormation(properties.sqlQuery)}):properties}function CfnDataSetCustomSqlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetInputColumnPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("dataSourceArn","DataSourceArn",properties.DataSourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("sqlQuery","SqlQuery",properties.SqlQuery!=null?cfn_parse().FromCloudFormation.getString(properties.SqlQuery):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetUploadSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containsHeader",cdk().validateBoolean)(properties.containsHeader)),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("format",cdk().validateString)(properties.format)),errors.collect(cdk().propertyValidator("startFromRow",cdk().validateNumber)(properties.startFromRow)),errors.collect(cdk().propertyValidator("textQualifier",cdk().validateString)(properties.textQualifier)),errors.wrap('supplied properties not correct for "UploadSettingsProperty"')}function convertCfnDataSetUploadSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetUploadSettingsPropertyValidator(properties).assertSuccess(),{ContainsHeader:cdk().booleanToCloudFormation(properties.containsHeader),Delimiter:cdk().stringToCloudFormation(properties.delimiter),Format:cdk().stringToCloudFormation(properties.format),StartFromRow:cdk().numberToCloudFormation(properties.startFromRow),TextQualifier:cdk().stringToCloudFormation(properties.textQualifier)}):properties}function CfnDataSetUploadSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containsHeader","ContainsHeader",properties.ContainsHeader!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ContainsHeader):void 0),ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("format","Format",properties.Format!=null?cfn_parse().FromCloudFormation.getString(properties.Format):void 0),ret.addPropertyResult("startFromRow","StartFromRow",properties.StartFromRow!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartFromRow):void 0),ret.addPropertyResult("textQualifier","TextQualifier",properties.TextQualifier!=null?cfn_parse().FromCloudFormation.getString(properties.TextQualifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetS3SourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSourceArn",cdk().requiredValidator)(properties.dataSourceArn)),errors.collect(cdk().propertyValidator("dataSourceArn",cdk().validateString)(properties.dataSourceArn)),errors.collect(cdk().propertyValidator("inputColumns",cdk().requiredValidator)(properties.inputColumns)),errors.collect(cdk().propertyValidator("inputColumns",cdk().listValidator(CfnDataSetInputColumnPropertyValidator))(properties.inputColumns)),errors.collect(cdk().propertyValidator("uploadSettings",CfnDataSetUploadSettingsPropertyValidator)(properties.uploadSettings)),errors.wrap('supplied properties not correct for "S3SourceProperty"')}function convertCfnDataSetS3SourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetS3SourcePropertyValidator(properties).assertSuccess(),{DataSourceArn:cdk().stringToCloudFormation(properties.dataSourceArn),InputColumns:cdk().listMapper(convertCfnDataSetInputColumnPropertyToCloudFormation)(properties.inputColumns),UploadSettings:convertCfnDataSetUploadSettingsPropertyToCloudFormation(properties.uploadSettings)}):properties}function CfnDataSetS3SourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSourceArn","DataSourceArn",properties.DataSourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceArn):void 0),ret.addPropertyResult("inputColumns","InputColumns",properties.InputColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetInputColumnPropertyFromCloudFormation)(properties.InputColumns):void 0),ret.addPropertyResult("uploadSettings","UploadSettings",properties.UploadSettings!=null?CfnDataSetUploadSettingsPropertyFromCloudFormation(properties.UploadSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetTablePathElementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "TablePathElementProperty"')}function convertCfnDataSetTablePathElementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetTablePathElementPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnDataSetTablePathElementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetSaaSTablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSourceArn",cdk().requiredValidator)(properties.dataSourceArn)),errors.collect(cdk().propertyValidator("dataSourceArn",cdk().validateString)(properties.dataSourceArn)),errors.collect(cdk().propertyValidator("inputColumns",cdk().requiredValidator)(properties.inputColumns)),errors.collect(cdk().propertyValidator("inputColumns",cdk().listValidator(CfnDataSetInputColumnPropertyValidator))(properties.inputColumns)),errors.collect(cdk().propertyValidator("tablePath",cdk().requiredValidator)(properties.tablePath)),errors.collect(cdk().propertyValidator("tablePath",cdk().listValidator(CfnDataSetTablePathElementPropertyValidator))(properties.tablePath)),errors.wrap('supplied properties not correct for "SaaSTableProperty"')}function convertCfnDataSetSaaSTablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetSaaSTablePropertyValidator(properties).assertSuccess(),{DataSourceArn:cdk().stringToCloudFormation(properties.dataSourceArn),InputColumns:cdk().listMapper(convertCfnDataSetInputColumnPropertyToCloudFormation)(properties.inputColumns),TablePath:cdk().listMapper(convertCfnDataSetTablePathElementPropertyToCloudFormation)(properties.tablePath)}):properties}function CfnDataSetSaaSTablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSourceArn","DataSourceArn",properties.DataSourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceArn):void 0),ret.addPropertyResult("inputColumns","InputColumns",properties.InputColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetInputColumnPropertyFromCloudFormation)(properties.InputColumns):void 0),ret.addPropertyResult("tablePath","TablePath",properties.TablePath!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetTablePathElementPropertyFromCloudFormation)(properties.TablePath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetPhysicalTablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customSql",CfnDataSetCustomSqlPropertyValidator)(properties.customSql)),errors.collect(cdk().propertyValidator("relationalTable",CfnDataSetRelationalTablePropertyValidator)(properties.relationalTable)),errors.collect(cdk().propertyValidator("s3Source",CfnDataSetS3SourcePropertyValidator)(properties.s3Source)),errors.collect(cdk().propertyValidator("saaSTable",CfnDataSetSaaSTablePropertyValidator)(properties.saaSTable)),errors.wrap('supplied properties not correct for "PhysicalTableProperty"')}function convertCfnDataSetPhysicalTablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetPhysicalTablePropertyValidator(properties).assertSuccess(),{CustomSql:convertCfnDataSetCustomSqlPropertyToCloudFormation(properties.customSql),RelationalTable:convertCfnDataSetRelationalTablePropertyToCloudFormation(properties.relationalTable),S3Source:convertCfnDataSetS3SourcePropertyToCloudFormation(properties.s3Source),SaaSTable:convertCfnDataSetSaaSTablePropertyToCloudFormation(properties.saaSTable)}):properties}function CfnDataSetPhysicalTablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customSql","CustomSql",properties.CustomSql!=null?CfnDataSetCustomSqlPropertyFromCloudFormation(properties.CustomSql):void 0),ret.addPropertyResult("relationalTable","RelationalTable",properties.RelationalTable!=null?CfnDataSetRelationalTablePropertyFromCloudFormation(properties.RelationalTable):void 0),ret.addPropertyResult("s3Source","S3Source",properties.S3Source!=null?CfnDataSetS3SourcePropertyFromCloudFormation(properties.S3Source):void 0),ret.addPropertyResult("saaSTable","SaaSTable",properties.SaaSTable!=null?CfnDataSetSaaSTablePropertyFromCloudFormation(properties.SaaSTable):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetFieldFolderPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(cdk().validateString))(properties.columns)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.wrap('supplied properties not correct for "FieldFolderProperty"')}function convertCfnDataSetFieldFolderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetFieldFolderPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(cdk().stringToCloudFormation)(properties.columns),Description:cdk().stringToCloudFormation(properties.description)}):properties}function CfnDataSetFieldFolderPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Columns):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRowLevelPermissionDataSetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("formatVersion",cdk().validateString)(properties.formatVersion)),errors.collect(cdk().propertyValidator("namespace",cdk().validateString)(properties.namespace)),errors.collect(cdk().propertyValidator("permissionPolicy",cdk().requiredValidator)(properties.permissionPolicy)),errors.collect(cdk().propertyValidator("permissionPolicy",cdk().validateString)(properties.permissionPolicy)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "RowLevelPermissionDataSetProperty"')}function convertCfnDataSetRowLevelPermissionDataSetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRowLevelPermissionDataSetPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),FormatVersion:cdk().stringToCloudFormation(properties.formatVersion),Namespace:cdk().stringToCloudFormation(properties.namespace),PermissionPolicy:cdk().stringToCloudFormation(properties.permissionPolicy),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnDataSetRowLevelPermissionDataSetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("formatVersion","FormatVersion",properties.FormatVersion!=null?cfn_parse().FromCloudFormation.getString(properties.FormatVersion):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("permissionPolicy","PermissionPolicy",properties.PermissionPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.PermissionPolicy):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRowLevelPermissionTagRulePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("matchAllValue",cdk().validateString)(properties.matchAllValue)),errors.collect(cdk().propertyValidator("tagKey",cdk().requiredValidator)(properties.tagKey)),errors.collect(cdk().propertyValidator("tagKey",cdk().validateString)(properties.tagKey)),errors.collect(cdk().propertyValidator("tagMultiValueDelimiter",cdk().validateString)(properties.tagMultiValueDelimiter)),errors.wrap('supplied properties not correct for "RowLevelPermissionTagRuleProperty"')}function convertCfnDataSetRowLevelPermissionTagRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRowLevelPermissionTagRulePropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),MatchAllValue:cdk().stringToCloudFormation(properties.matchAllValue),TagKey:cdk().stringToCloudFormation(properties.tagKey),TagMultiValueDelimiter:cdk().stringToCloudFormation(properties.tagMultiValueDelimiter)}):properties}function CfnDataSetRowLevelPermissionTagRulePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("matchAllValue","MatchAllValue",properties.MatchAllValue!=null?cfn_parse().FromCloudFormation.getString(properties.MatchAllValue):void 0),ret.addPropertyResult("tagKey","TagKey",properties.TagKey!=null?cfn_parse().FromCloudFormation.getString(properties.TagKey):void 0),ret.addPropertyResult("tagMultiValueDelimiter","TagMultiValueDelimiter",properties.TagMultiValueDelimiter!=null?cfn_parse().FromCloudFormation.getString(properties.TagMultiValueDelimiter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRowLevelPermissionTagConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("tagRuleConfigurations",cdk().validateObject)(properties.tagRuleConfigurations)),errors.collect(cdk().propertyValidator("tagRules",cdk().requiredValidator)(properties.tagRules)),errors.collect(cdk().propertyValidator("tagRules",cdk().listValidator(CfnDataSetRowLevelPermissionTagRulePropertyValidator))(properties.tagRules)),errors.wrap('supplied properties not correct for "RowLevelPermissionTagConfigurationProperty"')}function convertCfnDataSetRowLevelPermissionTagConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRowLevelPermissionTagConfigurationPropertyValidator(properties).assertSuccess(),{Status:cdk().stringToCloudFormation(properties.status),TagRuleConfigurations:cdk().objectToCloudFormation(properties.tagRuleConfigurations),TagRules:cdk().listMapper(convertCfnDataSetRowLevelPermissionTagRulePropertyToCloudFormation)(properties.tagRules)}):properties}function CfnDataSetRowLevelPermissionTagConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("tagRuleConfigurations","TagRuleConfigurations",properties.TagRuleConfigurations!=null?cfn_parse().FromCloudFormation.getAny(properties.TagRuleConfigurations):void 0),ret.addPropertyResult("tagRules","TagRules",properties.TagRules!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetRowLevelPermissionTagRulePropertyFromCloudFormation)(properties.TagRules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetIngestionWaitPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("ingestionWaitTimeInHours",cdk().validateNumber)(properties.ingestionWaitTimeInHours)),errors.collect(cdk().propertyValidator("waitForSpiceIngestion",cdk().validateBoolean)(properties.waitForSpiceIngestion)),errors.wrap('supplied properties not correct for "IngestionWaitPolicyProperty"')}function convertCfnDataSetIngestionWaitPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetIngestionWaitPolicyPropertyValidator(properties).assertSuccess(),{IngestionWaitTimeInHours:cdk().numberToCloudFormation(properties.ingestionWaitTimeInHours),WaitForSpiceIngestion:cdk().booleanToCloudFormation(properties.waitForSpiceIngestion)}):properties}function CfnDataSetIngestionWaitPolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("ingestionWaitTimeInHours","IngestionWaitTimeInHours",properties.IngestionWaitTimeInHours!=null?cfn_parse().FromCloudFormation.getNumber(properties.IngestionWaitTimeInHours):void 0),ret.addPropertyResult("waitForSpiceIngestion","WaitForSpiceIngestion",properties.WaitForSpiceIngestion!=null?cfn_parse().FromCloudFormation.getBoolean(properties.WaitForSpiceIngestion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetLookbackWindowPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("size",cdk().requiredValidator)(properties.size)),errors.collect(cdk().propertyValidator("size",cdk().validateNumber)(properties.size)),errors.collect(cdk().propertyValidator("sizeUnit",cdk().requiredValidator)(properties.sizeUnit)),errors.collect(cdk().propertyValidator("sizeUnit",cdk().validateString)(properties.sizeUnit)),errors.wrap('supplied properties not correct for "LookbackWindowProperty"')}function convertCfnDataSetLookbackWindowPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetLookbackWindowPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),Size:cdk().numberToCloudFormation(properties.size),SizeUnit:cdk().stringToCloudFormation(properties.sizeUnit)}):properties}function CfnDataSetLookbackWindowPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getNumber(properties.Size):void 0),ret.addPropertyResult("sizeUnit","SizeUnit",properties.SizeUnit!=null?cfn_parse().FromCloudFormation.getString(properties.SizeUnit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetIncrementalRefreshPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lookbackWindow",cdk().requiredValidator)(properties.lookbackWindow)),errors.collect(cdk().propertyValidator("lookbackWindow",CfnDataSetLookbackWindowPropertyValidator)(properties.lookbackWindow)),errors.wrap('supplied properties not correct for "IncrementalRefreshProperty"')}function convertCfnDataSetIncrementalRefreshPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetIncrementalRefreshPropertyValidator(properties).assertSuccess(),{LookbackWindow:convertCfnDataSetLookbackWindowPropertyToCloudFormation(properties.lookbackWindow)}):properties}function CfnDataSetIncrementalRefreshPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lookbackWindow","LookbackWindow",properties.LookbackWindow!=null?CfnDataSetLookbackWindowPropertyFromCloudFormation(properties.LookbackWindow):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRefreshConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("incrementalRefresh",cdk().requiredValidator)(properties.incrementalRefresh)),errors.collect(cdk().propertyValidator("incrementalRefresh",CfnDataSetIncrementalRefreshPropertyValidator)(properties.incrementalRefresh)),errors.wrap('supplied properties not correct for "RefreshConfigurationProperty"')}function convertCfnDataSetRefreshConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRefreshConfigurationPropertyValidator(properties).assertSuccess(),{IncrementalRefresh:convertCfnDataSetIncrementalRefreshPropertyToCloudFormation(properties.incrementalRefresh)}):properties}function CfnDataSetRefreshConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("incrementalRefresh","IncrementalRefresh",properties.IncrementalRefresh!=null?CfnDataSetIncrementalRefreshPropertyFromCloudFormation(properties.IncrementalRefresh):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRefreshFailureEmailAlertPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alertStatus",cdk().validateString)(properties.alertStatus)),errors.wrap('supplied properties not correct for "RefreshFailureEmailAlertProperty"')}function convertCfnDataSetRefreshFailureEmailAlertPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRefreshFailureEmailAlertPropertyValidator(properties).assertSuccess(),{AlertStatus:cdk().stringToCloudFormation(properties.alertStatus)}):properties}function CfnDataSetRefreshFailureEmailAlertPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alertStatus","AlertStatus",properties.AlertStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AlertStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRefreshFailureConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("emailAlert",CfnDataSetRefreshFailureEmailAlertPropertyValidator)(properties.emailAlert)),errors.wrap('supplied properties not correct for "RefreshFailureConfigurationProperty"')}function convertCfnDataSetRefreshFailureConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRefreshFailureConfigurationPropertyValidator(properties).assertSuccess(),{EmailAlert:convertCfnDataSetRefreshFailureEmailAlertPropertyToCloudFormation(properties.emailAlert)}):properties}function CfnDataSetRefreshFailureConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("emailAlert","EmailAlert",properties.EmailAlert!=null?CfnDataSetRefreshFailureEmailAlertPropertyFromCloudFormation(properties.EmailAlert):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetRefreshPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("failureConfiguration",CfnDataSetRefreshFailureConfigurationPropertyValidator)(properties.failureConfiguration)),errors.collect(cdk().propertyValidator("refreshConfiguration",CfnDataSetRefreshConfigurationPropertyValidator)(properties.refreshConfiguration)),errors.wrap('supplied properties not correct for "DataSetRefreshPropertiesProperty"')}function convertCfnDataSetDataSetRefreshPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetRefreshPropertiesPropertyValidator(properties).assertSuccess(),{FailureConfiguration:convertCfnDataSetRefreshFailureConfigurationPropertyToCloudFormation(properties.failureConfiguration),RefreshConfiguration:convertCfnDataSetRefreshConfigurationPropertyToCloudFormation(properties.refreshConfiguration)}):properties}function CfnDataSetDataSetRefreshPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("failureConfiguration","FailureConfiguration",properties.FailureConfiguration!=null?CfnDataSetRefreshFailureConfigurationPropertyFromCloudFormation(properties.FailureConfiguration):void 0),ret.addPropertyResult("refreshConfiguration","RefreshConfiguration",properties.RefreshConfiguration!=null?CfnDataSetRefreshConfigurationPropertyFromCloudFormation(properties.RefreshConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetColumnLevelPermissionRulePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnNames",cdk().listValidator(cdk().validateString))(properties.columnNames)),errors.collect(cdk().propertyValidator("principals",cdk().listValidator(cdk().validateString))(properties.principals)),errors.wrap('supplied properties not correct for "ColumnLevelPermissionRuleProperty"')}function convertCfnDataSetColumnLevelPermissionRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetColumnLevelPermissionRulePropertyValidator(properties).assertSuccess(),{ColumnNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.columnNames),Principals:cdk().listMapper(cdk().stringToCloudFormation)(properties.principals)}):properties}function CfnDataSetColumnLevelPermissionRulePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnNames","ColumnNames",properties.ColumnNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ColumnNames):void 0),ret.addPropertyResult("principals","Principals",properties.Principals!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Principals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetGeoSpatialColumnGroupPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().requiredValidator)(properties.columns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(cdk().validateString))(properties.columns)),errors.collect(cdk().propertyValidator("countryCode",cdk().validateString)(properties.countryCode)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "GeoSpatialColumnGroupProperty"')}function convertCfnDataSetGeoSpatialColumnGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetGeoSpatialColumnGroupPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(cdk().stringToCloudFormation)(properties.columns),CountryCode:cdk().stringToCloudFormation(properties.countryCode),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnDataSetGeoSpatialColumnGroupPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Columns):void 0),ret.addPropertyResult("countryCode","CountryCode",properties.CountryCode!=null?cfn_parse().FromCloudFormation.getString(properties.CountryCode):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetColumnGroupPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("geoSpatialColumnGroup",CfnDataSetGeoSpatialColumnGroupPropertyValidator)(properties.geoSpatialColumnGroup)),errors.wrap('supplied properties not correct for "ColumnGroupProperty"')}function convertCfnDataSetColumnGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetColumnGroupPropertyValidator(properties).assertSuccess(),{GeoSpatialColumnGroup:convertCfnDataSetGeoSpatialColumnGroupPropertyToCloudFormation(properties.geoSpatialColumnGroup)}):properties}function CfnDataSetColumnGroupPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("geoSpatialColumnGroup","GeoSpatialColumnGroup",properties.GeoSpatialColumnGroup!=null?CfnDataSetGeoSpatialColumnGroupPropertyFromCloudFormation(properties.GeoSpatialColumnGroup):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetIntegerDatasetParameterDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateNumber))(properties.staticValues)),errors.wrap('supplied properties not correct for "IntegerDatasetParameterDefaultValuesProperty"')}function convertCfnDataSetIntegerDatasetParameterDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetIntegerDatasetParameterDefaultValuesPropertyValidator(properties).assertSuccess(),{StaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.staticValues)}):properties}function CfnDataSetIntegerDatasetParameterDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetIntegerDatasetParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnDataSetIntegerDatasetParameterDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("valueType",cdk().requiredValidator)(properties.valueType)),errors.collect(cdk().propertyValidator("valueType",cdk().validateString)(properties.valueType)),errors.wrap('supplied properties not correct for "IntegerDatasetParameterProperty"')}function convertCfnDataSetIntegerDatasetParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetIntegerDatasetParameterPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnDataSetIntegerDatasetParameterDefaultValuesPropertyToCloudFormation(properties.defaultValues),Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),ValueType:cdk().stringToCloudFormation(properties.valueType)}):properties}function CfnDataSetIntegerDatasetParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnDataSetIntegerDatasetParameterDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("valueType","ValueType",properties.ValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ValueType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDateTimeDatasetParameterDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateString))(properties.staticValues)),errors.wrap('supplied properties not correct for "DateTimeDatasetParameterDefaultValuesProperty"')}function convertCfnDataSetDateTimeDatasetParameterDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDateTimeDatasetParameterDefaultValuesPropertyValidator(properties).assertSuccess(),{StaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.staticValues)}):properties}function CfnDataSetDateTimeDatasetParameterDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDateTimeDatasetParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnDataSetDateTimeDatasetParameterDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("valueType",cdk().requiredValidator)(properties.valueType)),errors.collect(cdk().propertyValidator("valueType",cdk().validateString)(properties.valueType)),errors.wrap('supplied properties not correct for "DateTimeDatasetParameterProperty"')}function convertCfnDataSetDateTimeDatasetParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDateTimeDatasetParameterPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnDataSetDateTimeDatasetParameterDefaultValuesPropertyToCloudFormation(properties.defaultValues),Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity),ValueType:cdk().stringToCloudFormation(properties.valueType)}):properties}function CfnDataSetDateTimeDatasetParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnDataSetDateTimeDatasetParameterDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addPropertyResult("valueType","ValueType",properties.ValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ValueType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDecimalDatasetParameterDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateNumber))(properties.staticValues)),errors.wrap('supplied properties not correct for "DecimalDatasetParameterDefaultValuesProperty"')}function convertCfnDataSetDecimalDatasetParameterDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDecimalDatasetParameterDefaultValuesPropertyValidator(properties).assertSuccess(),{StaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.staticValues)}):properties}function CfnDataSetDecimalDatasetParameterDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDecimalDatasetParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnDataSetDecimalDatasetParameterDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("valueType",cdk().requiredValidator)(properties.valueType)),errors.collect(cdk().propertyValidator("valueType",cdk().validateString)(properties.valueType)),errors.wrap('supplied properties not correct for "DecimalDatasetParameterProperty"')}function convertCfnDataSetDecimalDatasetParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDecimalDatasetParameterPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnDataSetDecimalDatasetParameterDefaultValuesPropertyToCloudFormation(properties.defaultValues),Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),ValueType:cdk().stringToCloudFormation(properties.valueType)}):properties}function CfnDataSetDecimalDatasetParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnDataSetDecimalDatasetParameterDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("valueType","ValueType",properties.ValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ValueType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetStringDatasetParameterDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateString))(properties.staticValues)),errors.wrap('supplied properties not correct for "StringDatasetParameterDefaultValuesProperty"')}function convertCfnDataSetStringDatasetParameterDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetStringDatasetParameterDefaultValuesPropertyValidator(properties).assertSuccess(),{StaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.staticValues)}):properties}function CfnDataSetStringDatasetParameterDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetStringDatasetParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnDataSetStringDatasetParameterDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("valueType",cdk().requiredValidator)(properties.valueType)),errors.collect(cdk().propertyValidator("valueType",cdk().validateString)(properties.valueType)),errors.wrap('supplied properties not correct for "StringDatasetParameterProperty"')}function convertCfnDataSetStringDatasetParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetStringDatasetParameterPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnDataSetStringDatasetParameterDefaultValuesPropertyToCloudFormation(properties.defaultValues),Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),ValueType:cdk().stringToCloudFormation(properties.valueType)}):properties}function CfnDataSetStringDatasetParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnDataSetStringDatasetParameterDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("valueType","ValueType",properties.ValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ValueType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDatasetParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeDatasetParameter",CfnDataSetDateTimeDatasetParameterPropertyValidator)(properties.dateTimeDatasetParameter)),errors.collect(cdk().propertyValidator("decimalDatasetParameter",CfnDataSetDecimalDatasetParameterPropertyValidator)(properties.decimalDatasetParameter)),errors.collect(cdk().propertyValidator("integerDatasetParameter",CfnDataSetIntegerDatasetParameterPropertyValidator)(properties.integerDatasetParameter)),errors.collect(cdk().propertyValidator("stringDatasetParameter",CfnDataSetStringDatasetParameterPropertyValidator)(properties.stringDatasetParameter)),errors.wrap('supplied properties not correct for "DatasetParameterProperty"')}function convertCfnDataSetDatasetParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDatasetParameterPropertyValidator(properties).assertSuccess(),{DateTimeDatasetParameter:convertCfnDataSetDateTimeDatasetParameterPropertyToCloudFormation(properties.dateTimeDatasetParameter),DecimalDatasetParameter:convertCfnDataSetDecimalDatasetParameterPropertyToCloudFormation(properties.decimalDatasetParameter),IntegerDatasetParameter:convertCfnDataSetIntegerDatasetParameterPropertyToCloudFormation(properties.integerDatasetParameter),StringDatasetParameter:convertCfnDataSetStringDatasetParameterPropertyToCloudFormation(properties.stringDatasetParameter)}):properties}function CfnDataSetDatasetParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeDatasetParameter","DateTimeDatasetParameter",properties.DateTimeDatasetParameter!=null?CfnDataSetDateTimeDatasetParameterPropertyFromCloudFormation(properties.DateTimeDatasetParameter):void 0),ret.addPropertyResult("decimalDatasetParameter","DecimalDatasetParameter",properties.DecimalDatasetParameter!=null?CfnDataSetDecimalDatasetParameterPropertyFromCloudFormation(properties.DecimalDatasetParameter):void 0),ret.addPropertyResult("integerDatasetParameter","IntegerDatasetParameter",properties.IntegerDatasetParameter!=null?CfnDataSetIntegerDatasetParameterPropertyFromCloudFormation(properties.IntegerDatasetParameter):void 0),ret.addPropertyResult("stringDatasetParameter","StringDatasetParameter",properties.StringDatasetParameter!=null?CfnDataSetStringDatasetParameterPropertyFromCloudFormation(properties.StringDatasetParameter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetColumnDescriptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "ColumnDescriptionProperty"')}function convertCfnDataSetColumnDescriptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetColumnDescriptionPropertyValidator(properties).assertSuccess(),{Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnDataSetColumnDescriptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetColumnTagPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnDescription",CfnDataSetColumnDescriptionPropertyValidator)(properties.columnDescription)),errors.collect(cdk().propertyValidator("columnGeographicRole",cdk().validateString)(properties.columnGeographicRole)),errors.wrap('supplied properties not correct for "ColumnTagProperty"')}function convertCfnDataSetColumnTagPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetColumnTagPropertyValidator(properties).assertSuccess(),{ColumnDescription:convertCfnDataSetColumnDescriptionPropertyToCloudFormation(properties.columnDescription),ColumnGeographicRole:cdk().stringToCloudFormation(properties.columnGeographicRole)}):properties}function CfnDataSetColumnTagPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnDescription","ColumnDescription",properties.ColumnDescription!=null?CfnDataSetColumnDescriptionPropertyFromCloudFormation(properties.ColumnDescription):void 0),ret.addPropertyResult("columnGeographicRole","ColumnGeographicRole",properties.ColumnGeographicRole!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnGeographicRole):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetTagColumnOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("tags",cdk().requiredValidator)(properties.tags)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(CfnDataSetColumnTagPropertyValidator))(properties.tags)),errors.wrap('supplied properties not correct for "TagColumnOperationProperty"')}function convertCfnDataSetTagColumnOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetTagColumnOperationPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),Tags:cdk().listMapper(convertCfnDataSetColumnTagPropertyToCloudFormation)(properties.tags)}):properties}function CfnDataSetTagColumnOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetColumnTagPropertyFromCloudFormation)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetNewDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeStaticValues",cdk().listValidator(cdk().validateString))(properties.dateTimeStaticValues)),errors.collect(cdk().propertyValidator("decimalStaticValues",cdk().listValidator(cdk().validateNumber))(properties.decimalStaticValues)),errors.collect(cdk().propertyValidator("integerStaticValues",cdk().listValidator(cdk().validateNumber))(properties.integerStaticValues)),errors.collect(cdk().propertyValidator("stringStaticValues",cdk().listValidator(cdk().validateString))(properties.stringStaticValues)),errors.wrap('supplied properties not correct for "NewDefaultValuesProperty"')}function convertCfnDataSetNewDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetNewDefaultValuesPropertyValidator(properties).assertSuccess(),{DateTimeStaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.dateTimeStaticValues),DecimalStaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.decimalStaticValues),IntegerStaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.integerStaticValues),StringStaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.stringStaticValues)}):properties}function CfnDataSetNewDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeStaticValues","DateTimeStaticValues",properties.DateTimeStaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DateTimeStaticValues):void 0),ret.addPropertyResult("decimalStaticValues","DecimalStaticValues",properties.DecimalStaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.DecimalStaticValues):void 0),ret.addPropertyResult("integerStaticValues","IntegerStaticValues",properties.IntegerStaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.IntegerStaticValues):void 0),ret.addPropertyResult("stringStaticValues","StringStaticValues",properties.StringStaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StringStaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetOverrideDatasetParameterOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("newDefaultValues",CfnDataSetNewDefaultValuesPropertyValidator)(properties.newDefaultValues)),errors.collect(cdk().propertyValidator("newParameterName",cdk().validateString)(properties.newParameterName)),errors.collect(cdk().propertyValidator("parameterName",cdk().requiredValidator)(properties.parameterName)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.wrap('supplied properties not correct for "OverrideDatasetParameterOperationProperty"')}function convertCfnDataSetOverrideDatasetParameterOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetOverrideDatasetParameterOperationPropertyValidator(properties).assertSuccess(),{NewDefaultValues:convertCfnDataSetNewDefaultValuesPropertyToCloudFormation(properties.newDefaultValues),NewParameterName:cdk().stringToCloudFormation(properties.newParameterName),ParameterName:cdk().stringToCloudFormation(properties.parameterName)}):properties}function CfnDataSetOverrideDatasetParameterOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("newDefaultValues","NewDefaultValues",properties.NewDefaultValues!=null?CfnDataSetNewDefaultValuesPropertyFromCloudFormation(properties.NewDefaultValues):void 0),ret.addPropertyResult("newParameterName","NewParameterName",properties.NewParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.NewParameterName):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetDateFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticValue",cdk().validateString)(properties.staticValue)),errors.wrap('supplied properties not correct for "DataSetDateFilterValueProperty"')}function convertCfnDataSetDataSetDateFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetDateFilterValuePropertyValidator(properties).assertSuccess(),{StaticValue:cdk().stringToCloudFormation(properties.staticValue)}):properties}function CfnDataSetDataSetDateFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticValue","StaticValue",properties.StaticValue!=null?cfn_parse().FromCloudFormation.getString(properties.StaticValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetDateRangeFilterConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("includeMaximum",cdk().validateBoolean)(properties.includeMaximum)),errors.collect(cdk().propertyValidator("includeMinimum",cdk().validateBoolean)(properties.includeMinimum)),errors.collect(cdk().propertyValidator("rangeMaximum",CfnDataSetDataSetDateFilterValuePropertyValidator)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMinimum",CfnDataSetDataSetDateFilterValuePropertyValidator)(properties.rangeMinimum)),errors.wrap('supplied properties not correct for "DataSetDateRangeFilterConditionProperty"')}function convertCfnDataSetDataSetDateRangeFilterConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetDateRangeFilterConditionPropertyValidator(properties).assertSuccess(),{IncludeMaximum:cdk().booleanToCloudFormation(properties.includeMaximum),IncludeMinimum:cdk().booleanToCloudFormation(properties.includeMinimum),RangeMaximum:convertCfnDataSetDataSetDateFilterValuePropertyToCloudFormation(properties.rangeMaximum),RangeMinimum:convertCfnDataSetDataSetDateFilterValuePropertyToCloudFormation(properties.rangeMinimum)}):properties}function CfnDataSetDataSetDateRangeFilterConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("includeMaximum","IncludeMaximum",properties.IncludeMaximum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMaximum):void 0),ret.addPropertyResult("includeMinimum","IncludeMinimum",properties.IncludeMinimum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMinimum):void 0),ret.addPropertyResult("rangeMaximum","RangeMaximum",properties.RangeMaximum!=null?CfnDataSetDataSetDateFilterValuePropertyFromCloudFormation(properties.RangeMaximum):void 0),ret.addPropertyResult("rangeMinimum","RangeMinimum",properties.RangeMinimum!=null?CfnDataSetDataSetDateFilterValuePropertyFromCloudFormation(properties.RangeMinimum):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetDateComparisonFilterConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("operator",cdk().requiredValidator)(properties.operator)),errors.collect(cdk().propertyValidator("operator",cdk().validateString)(properties.operator)),errors.collect(cdk().propertyValidator("value",CfnDataSetDataSetDateFilterValuePropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "DataSetDateComparisonFilterConditionProperty"')}function convertCfnDataSetDataSetDateComparisonFilterConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetDateComparisonFilterConditionPropertyValidator(properties).assertSuccess(),{Operator:cdk().stringToCloudFormation(properties.operator),Value:convertCfnDataSetDataSetDateFilterValuePropertyToCloudFormation(properties.value)}):properties}function CfnDataSetDataSetDateComparisonFilterConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("operator","Operator",properties.Operator!=null?cfn_parse().FromCloudFormation.getString(properties.Operator):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDataSetDataSetDateFilterValuePropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetDateFilterConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("comparisonFilterCondition",CfnDataSetDataSetDateComparisonFilterConditionPropertyValidator)(properties.comparisonFilterCondition)),errors.collect(cdk().propertyValidator("rangeFilterCondition",CfnDataSetDataSetDateRangeFilterConditionPropertyValidator)(properties.rangeFilterCondition)),errors.wrap('supplied properties not correct for "DataSetDateFilterConditionProperty"')}function convertCfnDataSetDataSetDateFilterConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetDateFilterConditionPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),ComparisonFilterCondition:convertCfnDataSetDataSetDateComparisonFilterConditionPropertyToCloudFormation(properties.comparisonFilterCondition),RangeFilterCondition:convertCfnDataSetDataSetDateRangeFilterConditionPropertyToCloudFormation(properties.rangeFilterCondition)}):properties}function CfnDataSetDataSetDateFilterConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("comparisonFilterCondition","ComparisonFilterCondition",properties.ComparisonFilterCondition!=null?CfnDataSetDataSetDateComparisonFilterConditionPropertyFromCloudFormation(properties.ComparisonFilterCondition):void 0),ret.addPropertyResult("rangeFilterCondition","RangeFilterCondition",properties.RangeFilterCondition!=null?CfnDataSetDataSetDateRangeFilterConditionPropertyFromCloudFormation(properties.RangeFilterCondition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetStringFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticValue",cdk().validateString)(properties.staticValue)),errors.wrap('supplied properties not correct for "DataSetStringFilterValueProperty"')}function convertCfnDataSetDataSetStringFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetStringFilterValuePropertyValidator(properties).assertSuccess(),{StaticValue:cdk().stringToCloudFormation(properties.staticValue)}):properties}function CfnDataSetDataSetStringFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticValue","StaticValue",properties.StaticValue!=null?cfn_parse().FromCloudFormation.getString(properties.StaticValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetStringComparisonFilterConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("operator",cdk().requiredValidator)(properties.operator)),errors.collect(cdk().propertyValidator("operator",cdk().validateString)(properties.operator)),errors.collect(cdk().propertyValidator("value",CfnDataSetDataSetStringFilterValuePropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "DataSetStringComparisonFilterConditionProperty"')}function convertCfnDataSetDataSetStringComparisonFilterConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetStringComparisonFilterConditionPropertyValidator(properties).assertSuccess(),{Operator:cdk().stringToCloudFormation(properties.operator),Value:convertCfnDataSetDataSetStringFilterValuePropertyToCloudFormation(properties.value)}):properties}function CfnDataSetDataSetStringComparisonFilterConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("operator","Operator",properties.Operator!=null?cfn_parse().FromCloudFormation.getString(properties.Operator):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDataSetDataSetStringFilterValuePropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetStringListFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateString))(properties.staticValues)),errors.wrap('supplied properties not correct for "DataSetStringListFilterValueProperty"')}function convertCfnDataSetDataSetStringListFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetStringListFilterValuePropertyValidator(properties).assertSuccess(),{StaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.staticValues)}):properties}function CfnDataSetDataSetStringListFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetStringListFilterConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("operator",cdk().requiredValidator)(properties.operator)),errors.collect(cdk().propertyValidator("operator",cdk().validateString)(properties.operator)),errors.collect(cdk().propertyValidator("values",CfnDataSetDataSetStringListFilterValuePropertyValidator)(properties.values)),errors.wrap('supplied properties not correct for "DataSetStringListFilterConditionProperty"')}function convertCfnDataSetDataSetStringListFilterConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetStringListFilterConditionPropertyValidator(properties).assertSuccess(),{Operator:cdk().stringToCloudFormation(properties.operator),Values:convertCfnDataSetDataSetStringListFilterValuePropertyToCloudFormation(properties.values)}):properties}function CfnDataSetDataSetStringListFilterConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("operator","Operator",properties.Operator!=null?cfn_parse().FromCloudFormation.getString(properties.Operator):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?CfnDataSetDataSetStringListFilterValuePropertyFromCloudFormation(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetStringFilterConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("comparisonFilterCondition",CfnDataSetDataSetStringComparisonFilterConditionPropertyValidator)(properties.comparisonFilterCondition)),errors.collect(cdk().propertyValidator("listFilterCondition",CfnDataSetDataSetStringListFilterConditionPropertyValidator)(properties.listFilterCondition)),errors.wrap('supplied properties not correct for "DataSetStringFilterConditionProperty"')}function convertCfnDataSetDataSetStringFilterConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetStringFilterConditionPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),ComparisonFilterCondition:convertCfnDataSetDataSetStringComparisonFilterConditionPropertyToCloudFormation(properties.comparisonFilterCondition),ListFilterCondition:convertCfnDataSetDataSetStringListFilterConditionPropertyToCloudFormation(properties.listFilterCondition)}):properties}function CfnDataSetDataSetStringFilterConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("comparisonFilterCondition","ComparisonFilterCondition",properties.ComparisonFilterCondition!=null?CfnDataSetDataSetStringComparisonFilterConditionPropertyFromCloudFormation(properties.ComparisonFilterCondition):void 0),ret.addPropertyResult("listFilterCondition","ListFilterCondition",properties.ListFilterCondition!=null?CfnDataSetDataSetStringListFilterConditionPropertyFromCloudFormation(properties.ListFilterCondition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetNumericFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticValue",cdk().validateNumber)(properties.staticValue)),errors.wrap('supplied properties not correct for "DataSetNumericFilterValueProperty"')}function convertCfnDataSetDataSetNumericFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetNumericFilterValuePropertyValidator(properties).assertSuccess(),{StaticValue:cdk().numberToCloudFormation(properties.staticValue)}):properties}function CfnDataSetDataSetNumericFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticValue","StaticValue",properties.StaticValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.StaticValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetNumericRangeFilterConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("includeMaximum",cdk().validateBoolean)(properties.includeMaximum)),errors.collect(cdk().propertyValidator("includeMinimum",cdk().validateBoolean)(properties.includeMinimum)),errors.collect(cdk().propertyValidator("rangeMaximum",CfnDataSetDataSetNumericFilterValuePropertyValidator)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMinimum",CfnDataSetDataSetNumericFilterValuePropertyValidator)(properties.rangeMinimum)),errors.wrap('supplied properties not correct for "DataSetNumericRangeFilterConditionProperty"')}function convertCfnDataSetDataSetNumericRangeFilterConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetNumericRangeFilterConditionPropertyValidator(properties).assertSuccess(),{IncludeMaximum:cdk().booleanToCloudFormation(properties.includeMaximum),IncludeMinimum:cdk().booleanToCloudFormation(properties.includeMinimum),RangeMaximum:convertCfnDataSetDataSetNumericFilterValuePropertyToCloudFormation(properties.rangeMaximum),RangeMinimum:convertCfnDataSetDataSetNumericFilterValuePropertyToCloudFormation(properties.rangeMinimum)}):properties}function CfnDataSetDataSetNumericRangeFilterConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("includeMaximum","IncludeMaximum",properties.IncludeMaximum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMaximum):void 0),ret.addPropertyResult("includeMinimum","IncludeMinimum",properties.IncludeMinimum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMinimum):void 0),ret.addPropertyResult("rangeMaximum","RangeMaximum",properties.RangeMaximum!=null?CfnDataSetDataSetNumericFilterValuePropertyFromCloudFormation(properties.RangeMaximum):void 0),ret.addPropertyResult("rangeMinimum","RangeMinimum",properties.RangeMinimum!=null?CfnDataSetDataSetNumericFilterValuePropertyFromCloudFormation(properties.RangeMinimum):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetNumericComparisonFilterConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("operator",cdk().requiredValidator)(properties.operator)),errors.collect(cdk().propertyValidator("operator",cdk().validateString)(properties.operator)),errors.collect(cdk().propertyValidator("value",CfnDataSetDataSetNumericFilterValuePropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "DataSetNumericComparisonFilterConditionProperty"')}function convertCfnDataSetDataSetNumericComparisonFilterConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetNumericComparisonFilterConditionPropertyValidator(properties).assertSuccess(),{Operator:cdk().stringToCloudFormation(properties.operator),Value:convertCfnDataSetDataSetNumericFilterValuePropertyToCloudFormation(properties.value)}):properties}function CfnDataSetDataSetNumericComparisonFilterConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("operator","Operator",properties.Operator!=null?cfn_parse().FromCloudFormation.getString(properties.Operator):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnDataSetDataSetNumericFilterValuePropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetNumericFilterConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("comparisonFilterCondition",CfnDataSetDataSetNumericComparisonFilterConditionPropertyValidator)(properties.comparisonFilterCondition)),errors.collect(cdk().propertyValidator("rangeFilterCondition",CfnDataSetDataSetNumericRangeFilterConditionPropertyValidator)(properties.rangeFilterCondition)),errors.wrap('supplied properties not correct for "DataSetNumericFilterConditionProperty"')}function convertCfnDataSetDataSetNumericFilterConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetNumericFilterConditionPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),ComparisonFilterCondition:convertCfnDataSetDataSetNumericComparisonFilterConditionPropertyToCloudFormation(properties.comparisonFilterCondition),RangeFilterCondition:convertCfnDataSetDataSetNumericRangeFilterConditionPropertyToCloudFormation(properties.rangeFilterCondition)}):properties}function CfnDataSetDataSetNumericFilterConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("comparisonFilterCondition","ComparisonFilterCondition",properties.ComparisonFilterCondition!=null?CfnDataSetDataSetNumericComparisonFilterConditionPropertyFromCloudFormation(properties.ComparisonFilterCondition):void 0),ret.addPropertyResult("rangeFilterCondition","RangeFilterCondition",properties.RangeFilterCondition!=null?CfnDataSetDataSetNumericRangeFilterConditionPropertyFromCloudFormation(properties.RangeFilterCondition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetFilterOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionExpression",cdk().validateString)(properties.conditionExpression)),errors.collect(cdk().propertyValidator("dateFilterCondition",CfnDataSetDataSetDateFilterConditionPropertyValidator)(properties.dateFilterCondition)),errors.collect(cdk().propertyValidator("numericFilterCondition",CfnDataSetDataSetNumericFilterConditionPropertyValidator)(properties.numericFilterCondition)),errors.collect(cdk().propertyValidator("stringFilterCondition",CfnDataSetDataSetStringFilterConditionPropertyValidator)(properties.stringFilterCondition)),errors.wrap('supplied properties not correct for "FilterOperationProperty"')}function convertCfnDataSetFilterOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetFilterOperationPropertyValidator(properties).assertSuccess(),{ConditionExpression:cdk().stringToCloudFormation(properties.conditionExpression),DateFilterCondition:convertCfnDataSetDataSetDateFilterConditionPropertyToCloudFormation(properties.dateFilterCondition),NumericFilterCondition:convertCfnDataSetDataSetNumericFilterConditionPropertyToCloudFormation(properties.numericFilterCondition),StringFilterCondition:convertCfnDataSetDataSetStringFilterConditionPropertyToCloudFormation(properties.stringFilterCondition)}):properties}function CfnDataSetFilterOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionExpression","ConditionExpression",properties.ConditionExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ConditionExpression):void 0),ret.addPropertyResult("dateFilterCondition","DateFilterCondition",properties.DateFilterCondition!=null?CfnDataSetDataSetDateFilterConditionPropertyFromCloudFormation(properties.DateFilterCondition):void 0),ret.addPropertyResult("numericFilterCondition","NumericFilterCondition",properties.NumericFilterCondition!=null?CfnDataSetDataSetNumericFilterConditionPropertyFromCloudFormation(properties.NumericFilterCondition):void 0),ret.addPropertyResult("stringFilterCondition","StringFilterCondition",properties.StringFilterCondition!=null?CfnDataSetDataSetStringFilterConditionPropertyFromCloudFormation(properties.StringFilterCondition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetCastColumnTypeOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("format",cdk().validateString)(properties.format)),errors.collect(cdk().propertyValidator("newColumnType",cdk().requiredValidator)(properties.newColumnType)),errors.collect(cdk().propertyValidator("newColumnType",cdk().validateString)(properties.newColumnType)),errors.collect(cdk().propertyValidator("subType",cdk().validateString)(properties.subType)),errors.wrap('supplied properties not correct for "CastColumnTypeOperationProperty"')}function convertCfnDataSetCastColumnTypeOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetCastColumnTypeOperationPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),Format:cdk().stringToCloudFormation(properties.format),NewColumnType:cdk().stringToCloudFormation(properties.newColumnType),SubType:cdk().stringToCloudFormation(properties.subType)}):properties}function CfnDataSetCastColumnTypeOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("format","Format",properties.Format!=null?cfn_parse().FromCloudFormation.getString(properties.Format):void 0),ret.addPropertyResult("newColumnType","NewColumnType",properties.NewColumnType!=null?cfn_parse().FromCloudFormation.getString(properties.NewColumnType):void 0),ret.addPropertyResult("subType","SubType",properties.SubType!=null?cfn_parse().FromCloudFormation.getString(properties.SubType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetCalculatedColumnPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnId",cdk().requiredValidator)(properties.columnId)),errors.collect(cdk().propertyValidator("columnId",cdk().validateString)(properties.columnId)),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "CalculatedColumnProperty"')}function convertCfnDataSetCalculatedColumnPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetCalculatedColumnPropertyValidator(properties).assertSuccess(),{ColumnId:cdk().stringToCloudFormation(properties.columnId),ColumnName:cdk().stringToCloudFormation(properties.columnName),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnDataSetCalculatedColumnPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnId","ColumnId",properties.ColumnId!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnId):void 0),ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetColumnIdMappingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sourceColumnId",cdk().requiredValidator)(properties.sourceColumnId)),errors.collect(cdk().propertyValidator("sourceColumnId",cdk().validateString)(properties.sourceColumnId)),errors.collect(cdk().propertyValidator("targetColumnId",cdk().requiredValidator)(properties.targetColumnId)),errors.collect(cdk().propertyValidator("targetColumnId",cdk().validateString)(properties.targetColumnId)),errors.wrap('supplied properties not correct for "DataSetColumnIdMappingProperty"')}function convertCfnDataSetDataSetColumnIdMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetColumnIdMappingPropertyValidator(properties).assertSuccess(),{SourceColumnId:cdk().stringToCloudFormation(properties.sourceColumnId),TargetColumnId:cdk().stringToCloudFormation(properties.targetColumnId)}):properties}function CfnDataSetDataSetColumnIdMappingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sourceColumnId","SourceColumnId",properties.SourceColumnId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceColumnId):void 0),ret.addPropertyResult("targetColumnId","TargetColumnId",properties.TargetColumnId!=null?cfn_parse().FromCloudFormation.getString(properties.TargetColumnId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetTransformOperationSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnIdMappings",cdk().listValidator(CfnDataSetDataSetColumnIdMappingPropertyValidator))(properties.columnIdMappings)),errors.collect(cdk().propertyValidator("transformOperationId",cdk().requiredValidator)(properties.transformOperationId)),errors.collect(cdk().propertyValidator("transformOperationId",cdk().validateString)(properties.transformOperationId)),errors.wrap('supplied properties not correct for "TransformOperationSourceProperty"')}function convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetTransformOperationSourcePropertyValidator(properties).assertSuccess(),{ColumnIdMappings:cdk().listMapper(convertCfnDataSetDataSetColumnIdMappingPropertyToCloudFormation)(properties.columnIdMappings),TransformOperationId:cdk().stringToCloudFormation(properties.transformOperationId)}):properties}function CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnIdMappings","ColumnIdMappings",properties.ColumnIdMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetDataSetColumnIdMappingPropertyFromCloudFormation)(properties.ColumnIdMappings):void 0),ret.addPropertyResult("transformOperationId","TransformOperationId",properties.TransformOperationId!=null?cfn_parse().FromCloudFormation.getString(properties.TransformOperationId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetCreateColumnsOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("columns",cdk().requiredValidator)(properties.columns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnDataSetCalculatedColumnPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("source",CfnDataSetTransformOperationSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "CreateColumnsOperationProperty"')}function convertCfnDataSetCreateColumnsOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetCreateColumnsOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),Columns:cdk().listMapper(convertCfnDataSetCalculatedColumnPropertyToCloudFormation)(properties.columns),Source:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.source)}):properties}function CfnDataSetCreateColumnsOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetCalculatedColumnPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRenameColumnOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("newColumnName",cdk().requiredValidator)(properties.newColumnName)),errors.collect(cdk().propertyValidator("newColumnName",cdk().validateString)(properties.newColumnName)),errors.wrap('supplied properties not correct for "RenameColumnOperationProperty"')}function convertCfnDataSetRenameColumnOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRenameColumnOperationPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),NewColumnName:cdk().stringToCloudFormation(properties.newColumnName)}):properties}function CfnDataSetRenameColumnOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("newColumnName","NewColumnName",properties.NewColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.NewColumnName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetProjectOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("projectedColumns",cdk().listValidator(cdk().validateString))(properties.projectedColumns)),errors.collect(cdk().propertyValidator("source",CfnDataSetTransformOperationSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "ProjectOperationProperty"')}function convertCfnDataSetProjectOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetProjectOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),ProjectedColumns:cdk().listMapper(cdk().stringToCloudFormation)(properties.projectedColumns),Source:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.source)}):properties}function CfnDataSetProjectOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("projectedColumns","ProjectedColumns",properties.ProjectedColumns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ProjectedColumns):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetUntagColumnOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("tagNames",cdk().requiredValidator)(properties.tagNames)),errors.collect(cdk().propertyValidator("tagNames",cdk().listValidator(cdk().validateString))(properties.tagNames)),errors.wrap('supplied properties not correct for "UntagColumnOperationProperty"')}function convertCfnDataSetUntagColumnOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetUntagColumnOperationPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),TagNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.tagNames)}):properties}function CfnDataSetUntagColumnOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("tagNames","TagNames",properties.TagNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TagNames):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetTransformOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("castColumnTypeOperation",CfnDataSetCastColumnTypeOperationPropertyValidator)(properties.castColumnTypeOperation)),errors.collect(cdk().propertyValidator("createColumnsOperation",CfnDataSetCreateColumnsOperationPropertyValidator)(properties.createColumnsOperation)),errors.collect(cdk().propertyValidator("filterOperation",CfnDataSetFilterOperationPropertyValidator)(properties.filterOperation)),errors.collect(cdk().propertyValidator("overrideDatasetParameterOperation",CfnDataSetOverrideDatasetParameterOperationPropertyValidator)(properties.overrideDatasetParameterOperation)),errors.collect(cdk().propertyValidator("projectOperation",CfnDataSetProjectOperationPropertyValidator)(properties.projectOperation)),errors.collect(cdk().propertyValidator("renameColumnOperation",CfnDataSetRenameColumnOperationPropertyValidator)(properties.renameColumnOperation)),errors.collect(cdk().propertyValidator("tagColumnOperation",CfnDataSetTagColumnOperationPropertyValidator)(properties.tagColumnOperation)),errors.collect(cdk().propertyValidator("untagColumnOperation",CfnDataSetUntagColumnOperationPropertyValidator)(properties.untagColumnOperation)),errors.wrap('supplied properties not correct for "TransformOperationProperty"')}function convertCfnDataSetTransformOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetTransformOperationPropertyValidator(properties).assertSuccess(),{CastColumnTypeOperation:convertCfnDataSetCastColumnTypeOperationPropertyToCloudFormation(properties.castColumnTypeOperation),CreateColumnsOperation:convertCfnDataSetCreateColumnsOperationPropertyToCloudFormation(properties.createColumnsOperation),FilterOperation:convertCfnDataSetFilterOperationPropertyToCloudFormation(properties.filterOperation),OverrideDatasetParameterOperation:convertCfnDataSetOverrideDatasetParameterOperationPropertyToCloudFormation(properties.overrideDatasetParameterOperation),ProjectOperation:convertCfnDataSetProjectOperationPropertyToCloudFormation(properties.projectOperation),RenameColumnOperation:convertCfnDataSetRenameColumnOperationPropertyToCloudFormation(properties.renameColumnOperation),TagColumnOperation:convertCfnDataSetTagColumnOperationPropertyToCloudFormation(properties.tagColumnOperation),UntagColumnOperation:convertCfnDataSetUntagColumnOperationPropertyToCloudFormation(properties.untagColumnOperation)}):properties}function CfnDataSetTransformOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("castColumnTypeOperation","CastColumnTypeOperation",properties.CastColumnTypeOperation!=null?CfnDataSetCastColumnTypeOperationPropertyFromCloudFormation(properties.CastColumnTypeOperation):void 0),ret.addPropertyResult("createColumnsOperation","CreateColumnsOperation",properties.CreateColumnsOperation!=null?CfnDataSetCreateColumnsOperationPropertyFromCloudFormation(properties.CreateColumnsOperation):void 0),ret.addPropertyResult("filterOperation","FilterOperation",properties.FilterOperation!=null?CfnDataSetFilterOperationPropertyFromCloudFormation(properties.FilterOperation):void 0),ret.addPropertyResult("overrideDatasetParameterOperation","OverrideDatasetParameterOperation",properties.OverrideDatasetParameterOperation!=null?CfnDataSetOverrideDatasetParameterOperationPropertyFromCloudFormation(properties.OverrideDatasetParameterOperation):void 0),ret.addPropertyResult("projectOperation","ProjectOperation",properties.ProjectOperation!=null?CfnDataSetProjectOperationPropertyFromCloudFormation(properties.ProjectOperation):void 0),ret.addPropertyResult("renameColumnOperation","RenameColumnOperation",properties.RenameColumnOperation!=null?CfnDataSetRenameColumnOperationPropertyFromCloudFormation(properties.RenameColumnOperation):void 0),ret.addPropertyResult("tagColumnOperation","TagColumnOperation",properties.TagColumnOperation!=null?CfnDataSetTagColumnOperationPropertyFromCloudFormation(properties.TagColumnOperation):void 0),ret.addPropertyResult("untagColumnOperation","UntagColumnOperation",properties.UntagColumnOperation!=null?CfnDataSetUntagColumnOperationPropertyFromCloudFormation(properties.UntagColumnOperation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetJoinKeyPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("uniqueKey",cdk().validateBoolean)(properties.uniqueKey)),errors.wrap('supplied properties not correct for "JoinKeyPropertiesProperty"')}function convertCfnDataSetJoinKeyPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetJoinKeyPropertiesPropertyValidator(properties).assertSuccess(),{UniqueKey:cdk().booleanToCloudFormation(properties.uniqueKey)}):properties}function CfnDataSetJoinKeyPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("uniqueKey","UniqueKey",properties.UniqueKey!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UniqueKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetJoinInstructionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("leftJoinKeyProperties",CfnDataSetJoinKeyPropertiesPropertyValidator)(properties.leftJoinKeyProperties)),errors.collect(cdk().propertyValidator("leftOperand",cdk().requiredValidator)(properties.leftOperand)),errors.collect(cdk().propertyValidator("leftOperand",cdk().validateString)(properties.leftOperand)),errors.collect(cdk().propertyValidator("onClause",cdk().requiredValidator)(properties.onClause)),errors.collect(cdk().propertyValidator("onClause",cdk().validateString)(properties.onClause)),errors.collect(cdk().propertyValidator("rightJoinKeyProperties",CfnDataSetJoinKeyPropertiesPropertyValidator)(properties.rightJoinKeyProperties)),errors.collect(cdk().propertyValidator("rightOperand",cdk().requiredValidator)(properties.rightOperand)),errors.collect(cdk().propertyValidator("rightOperand",cdk().validateString)(properties.rightOperand)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "JoinInstructionProperty"')}function convertCfnDataSetJoinInstructionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetJoinInstructionPropertyValidator(properties).assertSuccess(),{LeftJoinKeyProperties:convertCfnDataSetJoinKeyPropertiesPropertyToCloudFormation(properties.leftJoinKeyProperties),LeftOperand:cdk().stringToCloudFormation(properties.leftOperand),OnClause:cdk().stringToCloudFormation(properties.onClause),RightJoinKeyProperties:convertCfnDataSetJoinKeyPropertiesPropertyToCloudFormation(properties.rightJoinKeyProperties),RightOperand:cdk().stringToCloudFormation(properties.rightOperand),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDataSetJoinInstructionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("leftJoinKeyProperties","LeftJoinKeyProperties",properties.LeftJoinKeyProperties!=null?CfnDataSetJoinKeyPropertiesPropertyFromCloudFormation(properties.LeftJoinKeyProperties):void 0),ret.addPropertyResult("leftOperand","LeftOperand",properties.LeftOperand!=null?cfn_parse().FromCloudFormation.getString(properties.LeftOperand):void 0),ret.addPropertyResult("onClause","OnClause",properties.OnClause!=null?cfn_parse().FromCloudFormation.getString(properties.OnClause):void 0),ret.addPropertyResult("rightJoinKeyProperties","RightJoinKeyProperties",properties.RightJoinKeyProperties!=null?CfnDataSetJoinKeyPropertiesPropertyFromCloudFormation(properties.RightJoinKeyProperties):void 0),ret.addPropertyResult("rightOperand","RightOperand",properties.RightOperand!=null?cfn_parse().FromCloudFormation.getString(properties.RightOperand):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetLogicalTableSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetArn",cdk().validateString)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("joinInstruction",CfnDataSetJoinInstructionPropertyValidator)(properties.joinInstruction)),errors.collect(cdk().propertyValidator("physicalTableId",cdk().validateString)(properties.physicalTableId)),errors.wrap('supplied properties not correct for "LogicalTableSourceProperty"')}function convertCfnDataSetLogicalTableSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetLogicalTableSourcePropertyValidator(properties).assertSuccess(),{DataSetArn:cdk().stringToCloudFormation(properties.dataSetArn),JoinInstruction:convertCfnDataSetJoinInstructionPropertyToCloudFormation(properties.joinInstruction),PhysicalTableId:cdk().stringToCloudFormation(properties.physicalTableId)}):properties}function CfnDataSetLogicalTableSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetArn","DataSetArn",properties.DataSetArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetArn):void 0),ret.addPropertyResult("joinInstruction","JoinInstruction",properties.JoinInstruction!=null?CfnDataSetJoinInstructionPropertyFromCloudFormation(properties.JoinInstruction):void 0),ret.addPropertyResult("physicalTableId","PhysicalTableId",properties.PhysicalTableId!=null?cfn_parse().FromCloudFormation.getString(properties.PhysicalTableId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetLogicalTablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("dataTransforms",cdk().listValidator(CfnDataSetTransformOperationPropertyValidator))(properties.dataTransforms)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDataSetLogicalTableSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "LogicalTableProperty"')}function convertCfnDataSetLogicalTablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetLogicalTablePropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),DataTransforms:cdk().listMapper(convertCfnDataSetTransformOperationPropertyToCloudFormation)(properties.dataTransforms),Source:convertCfnDataSetLogicalTableSourcePropertyToCloudFormation(properties.source)}):properties}function CfnDataSetLogicalTablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("dataTransforms","DataTransforms",properties.DataTransforms!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetTransformOperationPropertyFromCloudFormation)(properties.DataTransforms):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetLogicalTableSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetResourcePermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("principal",cdk().requiredValidator)(properties.principal)),errors.collect(cdk().propertyValidator("principal",cdk().validateString)(properties.principal)),errors.wrap('supplied properties not correct for "ResourcePermissionProperty"')}function convertCfnDataSetResourcePermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetResourcePermissionPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),Principal:cdk().stringToCloudFormation(properties.principal)}):properties}function CfnDataSetResourcePermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getString(properties.Principal):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataSetUsageConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("disableUseAsDirectQuerySource",cdk().validateBoolean)(properties.disableUseAsDirectQuerySource)),errors.collect(cdk().propertyValidator("disableUseAsImportedSource",cdk().validateBoolean)(properties.disableUseAsImportedSource)),errors.wrap('supplied properties not correct for "DataSetUsageConfigurationProperty"')}function convertCfnDataSetDataSetUsageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataSetUsageConfigurationPropertyValidator(properties).assertSuccess(),{DisableUseAsDirectQuerySource:cdk().booleanToCloudFormation(properties.disableUseAsDirectQuerySource),DisableUseAsImportedSource:cdk().booleanToCloudFormation(properties.disableUseAsImportedSource)}):properties}function CfnDataSetDataSetUsageConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("disableUseAsDirectQuerySource","DisableUseAsDirectQuerySource",properties.DisableUseAsDirectQuerySource!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableUseAsDirectQuerySource):void 0),ret.addPropertyResult("disableUseAsImportedSource","DisableUseAsImportedSource",properties.DisableUseAsImportedSource!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableUseAsImportedSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRowLevelPermissionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("rowLevelPermissionDataSet",CfnDataSetRowLevelPermissionDataSetPropertyValidator)(properties.rowLevelPermissionDataSet)),errors.collect(cdk().propertyValidator("tagConfiguration",CfnDataSetRowLevelPermissionTagConfigurationPropertyValidator)(properties.tagConfiguration)),errors.wrap('supplied properties not correct for "RowLevelPermissionConfigurationProperty"')}function convertCfnDataSetRowLevelPermissionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRowLevelPermissionConfigurationPropertyValidator(properties).assertSuccess(),{RowLevelPermissionDataSet:convertCfnDataSetRowLevelPermissionDataSetPropertyToCloudFormation(properties.rowLevelPermissionDataSet),TagConfiguration:convertCfnDataSetRowLevelPermissionTagConfigurationPropertyToCloudFormation(properties.tagConfiguration)}):properties}function CfnDataSetRowLevelPermissionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("rowLevelPermissionDataSet","RowLevelPermissionDataSet",properties.RowLevelPermissionDataSet!=null?CfnDataSetRowLevelPermissionDataSetPropertyFromCloudFormation(properties.RowLevelPermissionDataSet):void 0),ret.addPropertyResult("tagConfiguration","TagConfiguration",properties.TagConfiguration!=null?CfnDataSetRowLevelPermissionTagConfigurationPropertyFromCloudFormation(properties.TagConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetSemanticTablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("destinationTableId",cdk().requiredValidator)(properties.destinationTableId)),errors.collect(cdk().propertyValidator("destinationTableId",cdk().validateString)(properties.destinationTableId)),errors.collect(cdk().propertyValidator("rowLevelPermissionConfiguration",CfnDataSetRowLevelPermissionConfigurationPropertyValidator)(properties.rowLevelPermissionConfiguration)),errors.wrap('supplied properties not correct for "SemanticTableProperty"')}function convertCfnDataSetSemanticTablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetSemanticTablePropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),DestinationTableId:cdk().stringToCloudFormation(properties.destinationTableId),RowLevelPermissionConfiguration:convertCfnDataSetRowLevelPermissionConfigurationPropertyToCloudFormation(properties.rowLevelPermissionConfiguration)}):properties}function CfnDataSetSemanticTablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("destinationTableId","DestinationTableId",properties.DestinationTableId!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationTableId):void 0),ret.addPropertyResult("rowLevelPermissionConfiguration","RowLevelPermissionConfiguration",properties.RowLevelPermissionConfiguration!=null?CfnDataSetRowLevelPermissionConfigurationPropertyFromCloudFormation(properties.RowLevelPermissionConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetSemanticModelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tableMap",cdk().hashValidator(CfnDataSetSemanticTablePropertyValidator))(properties.tableMap)),errors.wrap('supplied properties not correct for "SemanticModelConfigurationProperty"')}function convertCfnDataSetSemanticModelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetSemanticModelConfigurationPropertyValidator(properties).assertSuccess(),{TableMap:cdk().hashMapper(convertCfnDataSetSemanticTablePropertyToCloudFormation)(properties.tableMap)}):properties}function CfnDataSetSemanticModelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tableMap","TableMap",properties.TableMap!=null?cfn_parse().FromCloudFormation.getMap(CfnDataSetSemanticTablePropertyFromCloudFormation)(properties.TableMap):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetUniqueKeyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnNames",cdk().requiredValidator)(properties.columnNames)),errors.collect(cdk().propertyValidator("columnNames",cdk().listValidator(cdk().validateString))(properties.columnNames)),errors.wrap('supplied properties not correct for "UniqueKeyProperty"')}function convertCfnDataSetUniqueKeyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetUniqueKeyPropertyValidator(properties).assertSuccess(),{ColumnNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.columnNames)}):properties}function CfnDataSetUniqueKeyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnNames","ColumnNames",properties.ColumnNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ColumnNames):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetPerformanceConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("uniqueKeys",cdk().listValidator(CfnDataSetUniqueKeyPropertyValidator))(properties.uniqueKeys)),errors.wrap('supplied properties not correct for "PerformanceConfigurationProperty"')}function convertCfnDataSetPerformanceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetPerformanceConfigurationPropertyValidator(properties).assertSuccess(),{UniqueKeys:cdk().listMapper(convertCfnDataSetUniqueKeyPropertyToCloudFormation)(properties.uniqueKeys)}):properties}function CfnDataSetPerformanceConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("uniqueKeys","UniqueKeys",properties.UniqueKeys!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetUniqueKeyPropertyFromCloudFormation)(properties.UniqueKeys):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDestinationTableSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("transformOperationId",cdk().requiredValidator)(properties.transformOperationId)),errors.collect(cdk().propertyValidator("transformOperationId",cdk().validateString)(properties.transformOperationId)),errors.wrap('supplied properties not correct for "DestinationTableSourceProperty"')}function convertCfnDataSetDestinationTableSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDestinationTableSourcePropertyValidator(properties).assertSuccess(),{TransformOperationId:cdk().stringToCloudFormation(properties.transformOperationId)}):properties}function CfnDataSetDestinationTableSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("transformOperationId","TransformOperationId",properties.TransformOperationId!=null?cfn_parse().FromCloudFormation.getString(properties.TransformOperationId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDestinationTablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDataSetDestinationTableSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "DestinationTableProperty"')}function convertCfnDataSetDestinationTablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDestinationTablePropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),Source:convertCfnDataSetDestinationTableSourcePropertyToCloudFormation(properties.source)}):properties}function CfnDataSetDestinationTablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetDestinationTableSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetRenameColumnsOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("renameColumnOperations",cdk().requiredValidator)(properties.renameColumnOperations)),errors.collect(cdk().propertyValidator("renameColumnOperations",cdk().listValidator(CfnDataSetRenameColumnOperationPropertyValidator))(properties.renameColumnOperations)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDataSetTransformOperationSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "RenameColumnsOperationProperty"')}function convertCfnDataSetRenameColumnsOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetRenameColumnsOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),RenameColumnOperations:cdk().listMapper(convertCfnDataSetRenameColumnOperationPropertyToCloudFormation)(properties.renameColumnOperations),Source:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.source)}):properties}function CfnDataSetRenameColumnsOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("renameColumnOperations","RenameColumnOperations",properties.RenameColumnOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetRenameColumnOperationPropertyFromCloudFormation)(properties.RenameColumnOperations):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetCastColumnTypesOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("castColumnTypeOperations",cdk().requiredValidator)(properties.castColumnTypeOperations)),errors.collect(cdk().propertyValidator("castColumnTypeOperations",cdk().listValidator(CfnDataSetCastColumnTypeOperationPropertyValidator))(properties.castColumnTypeOperations)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDataSetTransformOperationSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "CastColumnTypesOperationProperty"')}function convertCfnDataSetCastColumnTypesOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetCastColumnTypesOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),CastColumnTypeOperations:cdk().listMapper(convertCfnDataSetCastColumnTypeOperationPropertyToCloudFormation)(properties.castColumnTypeOperations),Source:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.source)}):properties}function CfnDataSetCastColumnTypesOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("castColumnTypeOperations","CastColumnTypeOperations",properties.CastColumnTypeOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetCastColumnTypeOperationPropertyFromCloudFormation)(properties.CastColumnTypeOperations):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetImportTableOperationSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnIdMappings",cdk().listValidator(CfnDataSetDataSetColumnIdMappingPropertyValidator))(properties.columnIdMappings)),errors.collect(cdk().propertyValidator("sourceTableId",cdk().requiredValidator)(properties.sourceTableId)),errors.collect(cdk().propertyValidator("sourceTableId",cdk().validateString)(properties.sourceTableId)),errors.wrap('supplied properties not correct for "ImportTableOperationSourceProperty"')}function convertCfnDataSetImportTableOperationSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetImportTableOperationSourcePropertyValidator(properties).assertSuccess(),{ColumnIdMappings:cdk().listMapper(convertCfnDataSetDataSetColumnIdMappingPropertyToCloudFormation)(properties.columnIdMappings),SourceTableId:cdk().stringToCloudFormation(properties.sourceTableId)}):properties}function CfnDataSetImportTableOperationSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnIdMappings","ColumnIdMappings",properties.ColumnIdMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetDataSetColumnIdMappingPropertyFromCloudFormation)(properties.ColumnIdMappings):void 0),ret.addPropertyResult("sourceTableId","SourceTableId",properties.SourceTableId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceTableId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetImportTableOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDataSetImportTableOperationSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "ImportTableOperationProperty"')}function convertCfnDataSetImportTableOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetImportTableOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),Source:convertCfnDataSetImportTableOperationSourcePropertyToCloudFormation(properties.source)}):properties}function CfnDataSetImportTableOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetImportTableOperationSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetColumnToUnpivotPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("newValue",cdk().validateString)(properties.newValue)),errors.wrap('supplied properties not correct for "ColumnToUnpivotProperty"')}function convertCfnDataSetColumnToUnpivotPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetColumnToUnpivotPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),NewValue:cdk().stringToCloudFormation(properties.newValue)}):properties}function CfnDataSetColumnToUnpivotPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("newValue","NewValue",properties.NewValue!=null?cfn_parse().FromCloudFormation.getString(properties.NewValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetUnpivotOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("columnsToUnpivot",cdk().requiredValidator)(properties.columnsToUnpivot)),errors.collect(cdk().propertyValidator("columnsToUnpivot",cdk().listValidator(CfnDataSetColumnToUnpivotPropertyValidator))(properties.columnsToUnpivot)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDataSetTransformOperationSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("unpivotedLabelColumnId",cdk().requiredValidator)(properties.unpivotedLabelColumnId)),errors.collect(cdk().propertyValidator("unpivotedLabelColumnId",cdk().validateString)(properties.unpivotedLabelColumnId)),errors.collect(cdk().propertyValidator("unpivotedLabelColumnName",cdk().requiredValidator)(properties.unpivotedLabelColumnName)),errors.collect(cdk().propertyValidator("unpivotedLabelColumnName",cdk().validateString)(properties.unpivotedLabelColumnName)),errors.collect(cdk().propertyValidator("unpivotedValueColumnId",cdk().requiredValidator)(properties.unpivotedValueColumnId)),errors.collect(cdk().propertyValidator("unpivotedValueColumnId",cdk().validateString)(properties.unpivotedValueColumnId)),errors.collect(cdk().propertyValidator("unpivotedValueColumnName",cdk().requiredValidator)(properties.unpivotedValueColumnName)),errors.collect(cdk().propertyValidator("unpivotedValueColumnName",cdk().validateString)(properties.unpivotedValueColumnName)),errors.wrap('supplied properties not correct for "UnpivotOperationProperty"')}function convertCfnDataSetUnpivotOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetUnpivotOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),ColumnsToUnpivot:cdk().listMapper(convertCfnDataSetColumnToUnpivotPropertyToCloudFormation)(properties.columnsToUnpivot),Source:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.source),UnpivotedLabelColumnId:cdk().stringToCloudFormation(properties.unpivotedLabelColumnId),UnpivotedLabelColumnName:cdk().stringToCloudFormation(properties.unpivotedLabelColumnName),UnpivotedValueColumnId:cdk().stringToCloudFormation(properties.unpivotedValueColumnId),UnpivotedValueColumnName:cdk().stringToCloudFormation(properties.unpivotedValueColumnName)}):properties}function CfnDataSetUnpivotOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("columnsToUnpivot","ColumnsToUnpivot",properties.ColumnsToUnpivot!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetColumnToUnpivotPropertyFromCloudFormation)(properties.ColumnsToUnpivot):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("unpivotedLabelColumnId","UnpivotedLabelColumnId",properties.UnpivotedLabelColumnId!=null?cfn_parse().FromCloudFormation.getString(properties.UnpivotedLabelColumnId):void 0),ret.addPropertyResult("unpivotedLabelColumnName","UnpivotedLabelColumnName",properties.UnpivotedLabelColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.UnpivotedLabelColumnName):void 0),ret.addPropertyResult("unpivotedValueColumnId","UnpivotedValueColumnId",properties.UnpivotedValueColumnId!=null?cfn_parse().FromCloudFormation.getString(properties.UnpivotedValueColumnId):void 0),ret.addPropertyResult("unpivotedValueColumnName","UnpivotedValueColumnName",properties.UnpivotedValueColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.UnpivotedValueColumnName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetOutputColumnNameOverridePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("outputColumnName",cdk().requiredValidator)(properties.outputColumnName)),errors.collect(cdk().propertyValidator("outputColumnName",cdk().validateString)(properties.outputColumnName)),errors.collect(cdk().propertyValidator("sourceColumnName",cdk().validateString)(properties.sourceColumnName)),errors.wrap('supplied properties not correct for "OutputColumnNameOverrideProperty"')}function convertCfnDataSetOutputColumnNameOverridePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetOutputColumnNameOverridePropertyValidator(properties).assertSuccess(),{OutputColumnName:cdk().stringToCloudFormation(properties.outputColumnName),SourceColumnName:cdk().stringToCloudFormation(properties.sourceColumnName)}):properties}function CfnDataSetOutputColumnNameOverridePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("outputColumnName","OutputColumnName",properties.OutputColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.OutputColumnName):void 0),ret.addPropertyResult("sourceColumnName","SourceColumnName",properties.SourceColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceColumnName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetJoinOperandPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("outputColumnNameOverrides",cdk().requiredValidator)(properties.outputColumnNameOverrides)),errors.collect(cdk().propertyValidator("outputColumnNameOverrides",cdk().listValidator(CfnDataSetOutputColumnNameOverridePropertyValidator))(properties.outputColumnNameOverrides)),errors.wrap('supplied properties not correct for "JoinOperandPropertiesProperty"')}function convertCfnDataSetJoinOperandPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetJoinOperandPropertiesPropertyValidator(properties).assertSuccess(),{OutputColumnNameOverrides:cdk().listMapper(convertCfnDataSetOutputColumnNameOverridePropertyToCloudFormation)(properties.outputColumnNameOverrides)}):properties}function CfnDataSetJoinOperandPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("outputColumnNameOverrides","OutputColumnNameOverrides",properties.OutputColumnNameOverrides!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetOutputColumnNameOverridePropertyFromCloudFormation)(properties.OutputColumnNameOverrides):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetJoinOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("leftOperand",cdk().requiredValidator)(properties.leftOperand)),errors.collect(cdk().propertyValidator("leftOperand",CfnDataSetTransformOperationSourcePropertyValidator)(properties.leftOperand)),errors.collect(cdk().propertyValidator("leftOperandProperties",CfnDataSetJoinOperandPropertiesPropertyValidator)(properties.leftOperandProperties)),errors.collect(cdk().propertyValidator("onClause",cdk().requiredValidator)(properties.onClause)),errors.collect(cdk().propertyValidator("onClause",cdk().validateString)(properties.onClause)),errors.collect(cdk().propertyValidator("rightOperand",cdk().requiredValidator)(properties.rightOperand)),errors.collect(cdk().propertyValidator("rightOperand",CfnDataSetTransformOperationSourcePropertyValidator)(properties.rightOperand)),errors.collect(cdk().propertyValidator("rightOperandProperties",CfnDataSetJoinOperandPropertiesPropertyValidator)(properties.rightOperandProperties)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "JoinOperationProperty"')}function convertCfnDataSetJoinOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetJoinOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),LeftOperand:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.leftOperand),LeftOperandProperties:convertCfnDataSetJoinOperandPropertiesPropertyToCloudFormation(properties.leftOperandProperties),OnClause:cdk().stringToCloudFormation(properties.onClause),RightOperand:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.rightOperand),RightOperandProperties:convertCfnDataSetJoinOperandPropertiesPropertyToCloudFormation(properties.rightOperandProperties),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDataSetJoinOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("leftOperand","LeftOperand",properties.LeftOperand!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.LeftOperand):void 0),ret.addPropertyResult("leftOperandProperties","LeftOperandProperties",properties.LeftOperandProperties!=null?CfnDataSetJoinOperandPropertiesPropertyFromCloudFormation(properties.LeftOperandProperties):void 0),ret.addPropertyResult("onClause","OnClause",properties.OnClause!=null?cfn_parse().FromCloudFormation.getString(properties.OnClause):void 0),ret.addPropertyResult("rightOperand","RightOperand",properties.RightOperand!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.RightOperand):void 0),ret.addPropertyResult("rightOperandProperties","RightOperandProperties",properties.RightOperandProperties!=null?CfnDataSetJoinOperandPropertiesPropertyFromCloudFormation(properties.RightOperandProperties):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetAppendedColumnPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("newColumnId",cdk().requiredValidator)(properties.newColumnId)),errors.collect(cdk().propertyValidator("newColumnId",cdk().validateString)(properties.newColumnId)),errors.wrap('supplied properties not correct for "AppendedColumnProperty"')}function convertCfnDataSetAppendedColumnPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetAppendedColumnPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),NewColumnId:cdk().stringToCloudFormation(properties.newColumnId)}):properties}function CfnDataSetAppendedColumnPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("newColumnId","NewColumnId",properties.NewColumnId!=null?cfn_parse().FromCloudFormation.getString(properties.NewColumnId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetAppendOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("appendedColumns",cdk().requiredValidator)(properties.appendedColumns)),errors.collect(cdk().propertyValidator("appendedColumns",cdk().listValidator(CfnDataSetAppendedColumnPropertyValidator))(properties.appendedColumns)),errors.collect(cdk().propertyValidator("firstSource",CfnDataSetTransformOperationSourcePropertyValidator)(properties.firstSource)),errors.collect(cdk().propertyValidator("secondSource",CfnDataSetTransformOperationSourcePropertyValidator)(properties.secondSource)),errors.wrap('supplied properties not correct for "AppendOperationProperty"')}function convertCfnDataSetAppendOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetAppendOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),AppendedColumns:cdk().listMapper(convertCfnDataSetAppendedColumnPropertyToCloudFormation)(properties.appendedColumns),FirstSource:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.firstSource),SecondSource:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.secondSource)}):properties}function CfnDataSetAppendOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("appendedColumns","AppendedColumns",properties.AppendedColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetAppendedColumnPropertyFromCloudFormation)(properties.AppendedColumns):void 0),ret.addPropertyResult("firstSource","FirstSource",properties.FirstSource!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.FirstSource):void 0),ret.addPropertyResult("secondSource","SecondSource",properties.SecondSource!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.SecondSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetFiltersOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("filterOperations",cdk().requiredValidator)(properties.filterOperations)),errors.collect(cdk().propertyValidator("filterOperations",cdk().listValidator(CfnDataSetFilterOperationPropertyValidator))(properties.filterOperations)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDataSetTransformOperationSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "FiltersOperationProperty"')}function convertCfnDataSetFiltersOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetFiltersOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),FilterOperations:cdk().listMapper(convertCfnDataSetFilterOperationPropertyToCloudFormation)(properties.filterOperations),Source:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.source)}):properties}function CfnDataSetFiltersOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("filterOperations","FilterOperations",properties.FilterOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetFilterOperationPropertyFromCloudFormation)(properties.FilterOperations):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataPrepPercentileAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("inputColumnName",cdk().validateString)(properties.inputColumnName)),errors.collect(cdk().propertyValidator("percentileValue",cdk().requiredValidator)(properties.percentileValue)),errors.collect(cdk().propertyValidator("percentileValue",cdk().validateNumber)(properties.percentileValue)),errors.wrap('supplied properties not correct for "DataPrepPercentileAggregationFunctionProperty"')}function convertCfnDataSetDataPrepPercentileAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataPrepPercentileAggregationFunctionPropertyValidator(properties).assertSuccess(),{InputColumnName:cdk().stringToCloudFormation(properties.inputColumnName),PercentileValue:cdk().numberToCloudFormation(properties.percentileValue)}):properties}function CfnDataSetDataPrepPercentileAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("inputColumnName","InputColumnName",properties.InputColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.InputColumnName):void 0),ret.addPropertyResult("percentileValue","PercentileValue",properties.PercentileValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.PercentileValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataPrepSimpleAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("functionType",cdk().requiredValidator)(properties.functionType)),errors.collect(cdk().propertyValidator("functionType",cdk().validateString)(properties.functionType)),errors.collect(cdk().propertyValidator("inputColumnName",cdk().validateString)(properties.inputColumnName)),errors.wrap('supplied properties not correct for "DataPrepSimpleAggregationFunctionProperty"')}function convertCfnDataSetDataPrepSimpleAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataPrepSimpleAggregationFunctionPropertyValidator(properties).assertSuccess(),{FunctionType:cdk().stringToCloudFormation(properties.functionType),InputColumnName:cdk().stringToCloudFormation(properties.inputColumnName)}):properties}function CfnDataSetDataPrepSimpleAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("functionType","FunctionType",properties.FunctionType!=null?cfn_parse().FromCloudFormation.getString(properties.FunctionType):void 0),ret.addPropertyResult("inputColumnName","InputColumnName",properties.InputColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.InputColumnName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataPrepListAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("distinct",cdk().requiredValidator)(properties.distinct)),errors.collect(cdk().propertyValidator("distinct",cdk().validateBoolean)(properties.distinct)),errors.collect(cdk().propertyValidator("inputColumnName",cdk().validateString)(properties.inputColumnName)),errors.collect(cdk().propertyValidator("separator",cdk().requiredValidator)(properties.separator)),errors.collect(cdk().propertyValidator("separator",cdk().validateString)(properties.separator)),errors.wrap('supplied properties not correct for "DataPrepListAggregationFunctionProperty"')}function convertCfnDataSetDataPrepListAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataPrepListAggregationFunctionPropertyValidator(properties).assertSuccess(),{Distinct:cdk().booleanToCloudFormation(properties.distinct),InputColumnName:cdk().stringToCloudFormation(properties.inputColumnName),Separator:cdk().stringToCloudFormation(properties.separator)}):properties}function CfnDataSetDataPrepListAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("distinct","Distinct",properties.Distinct!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Distinct):void 0),ret.addPropertyResult("inputColumnName","InputColumnName",properties.InputColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.InputColumnName):void 0),ret.addPropertyResult("separator","Separator",properties.Separator!=null?cfn_parse().FromCloudFormation.getString(properties.Separator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataPrepAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("listAggregation",CfnDataSetDataPrepListAggregationFunctionPropertyValidator)(properties.listAggregation)),errors.collect(cdk().propertyValidator("percentileAggregation",CfnDataSetDataPrepPercentileAggregationFunctionPropertyValidator)(properties.percentileAggregation)),errors.collect(cdk().propertyValidator("simpleAggregation",CfnDataSetDataPrepSimpleAggregationFunctionPropertyValidator)(properties.simpleAggregation)),errors.wrap('supplied properties not correct for "DataPrepAggregationFunctionProperty"')}function convertCfnDataSetDataPrepAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataPrepAggregationFunctionPropertyValidator(properties).assertSuccess(),{ListAggregation:convertCfnDataSetDataPrepListAggregationFunctionPropertyToCloudFormation(properties.listAggregation),PercentileAggregation:convertCfnDataSetDataPrepPercentileAggregationFunctionPropertyToCloudFormation(properties.percentileAggregation),SimpleAggregation:convertCfnDataSetDataPrepSimpleAggregationFunctionPropertyToCloudFormation(properties.simpleAggregation)}):properties}function CfnDataSetDataPrepAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("listAggregation","ListAggregation",properties.ListAggregation!=null?CfnDataSetDataPrepListAggregationFunctionPropertyFromCloudFormation(properties.ListAggregation):void 0),ret.addPropertyResult("percentileAggregation","PercentileAggregation",properties.PercentileAggregation!=null?CfnDataSetDataPrepPercentileAggregationFunctionPropertyFromCloudFormation(properties.PercentileAggregation):void 0),ret.addPropertyResult("simpleAggregation","SimpleAggregation",properties.SimpleAggregation!=null?CfnDataSetDataPrepSimpleAggregationFunctionPropertyFromCloudFormation(properties.SimpleAggregation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetAggregationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",cdk().requiredValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("aggregationFunction",CfnDataSetDataPrepAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("newColumnId",cdk().requiredValidator)(properties.newColumnId)),errors.collect(cdk().propertyValidator("newColumnId",cdk().validateString)(properties.newColumnId)),errors.collect(cdk().propertyValidator("newColumnName",cdk().requiredValidator)(properties.newColumnName)),errors.collect(cdk().propertyValidator("newColumnName",cdk().validateString)(properties.newColumnName)),errors.wrap('supplied properties not correct for "AggregationProperty"')}function convertCfnDataSetAggregationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetAggregationPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnDataSetDataPrepAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),NewColumnId:cdk().stringToCloudFormation(properties.newColumnId),NewColumnName:cdk().stringToCloudFormation(properties.newColumnName)}):properties}function CfnDataSetAggregationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnDataSetDataPrepAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("newColumnId","NewColumnId",properties.NewColumnId!=null?cfn_parse().FromCloudFormation.getString(properties.NewColumnId):void 0),ret.addPropertyResult("newColumnName","NewColumnName",properties.NewColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.NewColumnName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetAggregateOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregations",cdk().requiredValidator)(properties.aggregations)),errors.collect(cdk().propertyValidator("aggregations",cdk().listValidator(CfnDataSetAggregationPropertyValidator))(properties.aggregations)),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("groupByColumnNames",cdk().listValidator(cdk().validateString))(properties.groupByColumnNames)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDataSetTransformOperationSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "AggregateOperationProperty"')}function convertCfnDataSetAggregateOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetAggregateOperationPropertyValidator(properties).assertSuccess(),{Aggregations:cdk().listMapper(convertCfnDataSetAggregationPropertyToCloudFormation)(properties.aggregations),Alias:cdk().stringToCloudFormation(properties.alias),GroupByColumnNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.groupByColumnNames),Source:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.source)}):properties}function CfnDataSetAggregateOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregations","Aggregations",properties.Aggregations!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetAggregationPropertyFromCloudFormation)(properties.Aggregations):void 0),ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("groupByColumnNames","GroupByColumnNames",properties.GroupByColumnNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.GroupByColumnNames):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetPivotedLabelPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("labelName",cdk().requiredValidator)(properties.labelName)),errors.collect(cdk().propertyValidator("labelName",cdk().validateString)(properties.labelName)),errors.collect(cdk().propertyValidator("newColumnId",cdk().requiredValidator)(properties.newColumnId)),errors.collect(cdk().propertyValidator("newColumnId",cdk().validateString)(properties.newColumnId)),errors.collect(cdk().propertyValidator("newColumnName",cdk().requiredValidator)(properties.newColumnName)),errors.collect(cdk().propertyValidator("newColumnName",cdk().validateString)(properties.newColumnName)),errors.wrap('supplied properties not correct for "PivotedLabelProperty"')}function convertCfnDataSetPivotedLabelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetPivotedLabelPropertyValidator(properties).assertSuccess(),{LabelName:cdk().stringToCloudFormation(properties.labelName),NewColumnId:cdk().stringToCloudFormation(properties.newColumnId),NewColumnName:cdk().stringToCloudFormation(properties.newColumnName)}):properties}function CfnDataSetPivotedLabelPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("labelName","LabelName",properties.LabelName!=null?cfn_parse().FromCloudFormation.getString(properties.LabelName):void 0),ret.addPropertyResult("newColumnId","NewColumnId",properties.NewColumnId!=null?cfn_parse().FromCloudFormation.getString(properties.NewColumnId):void 0),ret.addPropertyResult("newColumnName","NewColumnName",properties.NewColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.NewColumnName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetPivotConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("labelColumnName",cdk().validateString)(properties.labelColumnName)),errors.collect(cdk().propertyValidator("pivotedLabels",cdk().requiredValidator)(properties.pivotedLabels)),errors.collect(cdk().propertyValidator("pivotedLabels",cdk().listValidator(CfnDataSetPivotedLabelPropertyValidator))(properties.pivotedLabels)),errors.wrap('supplied properties not correct for "PivotConfigurationProperty"')}function convertCfnDataSetPivotConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetPivotConfigurationPropertyValidator(properties).assertSuccess(),{LabelColumnName:cdk().stringToCloudFormation(properties.labelColumnName),PivotedLabels:cdk().listMapper(convertCfnDataSetPivotedLabelPropertyToCloudFormation)(properties.pivotedLabels)}):properties}function CfnDataSetPivotConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("labelColumnName","LabelColumnName",properties.LabelColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.LabelColumnName):void 0),ret.addPropertyResult("pivotedLabels","PivotedLabels",properties.PivotedLabels!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetPivotedLabelPropertyFromCloudFormation)(properties.PivotedLabels):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetValueColumnConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnDataSetDataPrepAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.wrap('supplied properties not correct for "ValueColumnConfigurationProperty"')}function convertCfnDataSetValueColumnConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetValueColumnConfigurationPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnDataSetDataPrepAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction)}):properties}function CfnDataSetValueColumnConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnDataSetDataPrepAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetPivotOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("groupByColumnNames",cdk().listValidator(cdk().validateString))(properties.groupByColumnNames)),errors.collect(cdk().propertyValidator("pivotConfiguration",cdk().requiredValidator)(properties.pivotConfiguration)),errors.collect(cdk().propertyValidator("pivotConfiguration",CfnDataSetPivotConfigurationPropertyValidator)(properties.pivotConfiguration)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnDataSetTransformOperationSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("valueColumnConfiguration",cdk().requiredValidator)(properties.valueColumnConfiguration)),errors.collect(cdk().propertyValidator("valueColumnConfiguration",CfnDataSetValueColumnConfigurationPropertyValidator)(properties.valueColumnConfiguration)),errors.wrap('supplied properties not correct for "PivotOperationProperty"')}function convertCfnDataSetPivotOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetPivotOperationPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),GroupByColumnNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.groupByColumnNames),PivotConfiguration:convertCfnDataSetPivotConfigurationPropertyToCloudFormation(properties.pivotConfiguration),Source:convertCfnDataSetTransformOperationSourcePropertyToCloudFormation(properties.source),ValueColumnConfiguration:convertCfnDataSetValueColumnConfigurationPropertyToCloudFormation(properties.valueColumnConfiguration)}):properties}function CfnDataSetPivotOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("groupByColumnNames","GroupByColumnNames",properties.GroupByColumnNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.GroupByColumnNames):void 0),ret.addPropertyResult("pivotConfiguration","PivotConfiguration",properties.PivotConfiguration!=null?CfnDataSetPivotConfigurationPropertyFromCloudFormation(properties.PivotConfiguration):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnDataSetTransformOperationSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("valueColumnConfiguration","ValueColumnConfiguration",properties.ValueColumnConfiguration!=null?CfnDataSetValueColumnConfigurationPropertyFromCloudFormation(properties.ValueColumnConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetTransformStepPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregateStep",CfnDataSetAggregateOperationPropertyValidator)(properties.aggregateStep)),errors.collect(cdk().propertyValidator("appendStep",CfnDataSetAppendOperationPropertyValidator)(properties.appendStep)),errors.collect(cdk().propertyValidator("castColumnTypesStep",CfnDataSetCastColumnTypesOperationPropertyValidator)(properties.castColumnTypesStep)),errors.collect(cdk().propertyValidator("createColumnsStep",CfnDataSetCreateColumnsOperationPropertyValidator)(properties.createColumnsStep)),errors.collect(cdk().propertyValidator("filtersStep",CfnDataSetFiltersOperationPropertyValidator)(properties.filtersStep)),errors.collect(cdk().propertyValidator("importTableStep",CfnDataSetImportTableOperationPropertyValidator)(properties.importTableStep)),errors.collect(cdk().propertyValidator("joinStep",CfnDataSetJoinOperationPropertyValidator)(properties.joinStep)),errors.collect(cdk().propertyValidator("pivotStep",CfnDataSetPivotOperationPropertyValidator)(properties.pivotStep)),errors.collect(cdk().propertyValidator("projectStep",CfnDataSetProjectOperationPropertyValidator)(properties.projectStep)),errors.collect(cdk().propertyValidator("renameColumnsStep",CfnDataSetRenameColumnsOperationPropertyValidator)(properties.renameColumnsStep)),errors.collect(cdk().propertyValidator("unpivotStep",CfnDataSetUnpivotOperationPropertyValidator)(properties.unpivotStep)),errors.wrap('supplied properties not correct for "TransformStepProperty"')}function convertCfnDataSetTransformStepPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetTransformStepPropertyValidator(properties).assertSuccess(),{AggregateStep:convertCfnDataSetAggregateOperationPropertyToCloudFormation(properties.aggregateStep),AppendStep:convertCfnDataSetAppendOperationPropertyToCloudFormation(properties.appendStep),CastColumnTypesStep:convertCfnDataSetCastColumnTypesOperationPropertyToCloudFormation(properties.castColumnTypesStep),CreateColumnsStep:convertCfnDataSetCreateColumnsOperationPropertyToCloudFormation(properties.createColumnsStep),FiltersStep:convertCfnDataSetFiltersOperationPropertyToCloudFormation(properties.filtersStep),ImportTableStep:convertCfnDataSetImportTableOperationPropertyToCloudFormation(properties.importTableStep),JoinStep:convertCfnDataSetJoinOperationPropertyToCloudFormation(properties.joinStep),PivotStep:convertCfnDataSetPivotOperationPropertyToCloudFormation(properties.pivotStep),ProjectStep:convertCfnDataSetProjectOperationPropertyToCloudFormation(properties.projectStep),RenameColumnsStep:convertCfnDataSetRenameColumnsOperationPropertyToCloudFormation(properties.renameColumnsStep),UnpivotStep:convertCfnDataSetUnpivotOperationPropertyToCloudFormation(properties.unpivotStep)}):properties}function CfnDataSetTransformStepPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregateStep","AggregateStep",properties.AggregateStep!=null?CfnDataSetAggregateOperationPropertyFromCloudFormation(properties.AggregateStep):void 0),ret.addPropertyResult("appendStep","AppendStep",properties.AppendStep!=null?CfnDataSetAppendOperationPropertyFromCloudFormation(properties.AppendStep):void 0),ret.addPropertyResult("castColumnTypesStep","CastColumnTypesStep",properties.CastColumnTypesStep!=null?CfnDataSetCastColumnTypesOperationPropertyFromCloudFormation(properties.CastColumnTypesStep):void 0),ret.addPropertyResult("createColumnsStep","CreateColumnsStep",properties.CreateColumnsStep!=null?CfnDataSetCreateColumnsOperationPropertyFromCloudFormation(properties.CreateColumnsStep):void 0),ret.addPropertyResult("filtersStep","FiltersStep",properties.FiltersStep!=null?CfnDataSetFiltersOperationPropertyFromCloudFormation(properties.FiltersStep):void 0),ret.addPropertyResult("importTableStep","ImportTableStep",properties.ImportTableStep!=null?CfnDataSetImportTableOperationPropertyFromCloudFormation(properties.ImportTableStep):void 0),ret.addPropertyResult("joinStep","JoinStep",properties.JoinStep!=null?CfnDataSetJoinOperationPropertyFromCloudFormation(properties.JoinStep):void 0),ret.addPropertyResult("pivotStep","PivotStep",properties.PivotStep!=null?CfnDataSetPivotOperationPropertyFromCloudFormation(properties.PivotStep):void 0),ret.addPropertyResult("projectStep","ProjectStep",properties.ProjectStep!=null?CfnDataSetProjectOperationPropertyFromCloudFormation(properties.ProjectStep):void 0),ret.addPropertyResult("renameColumnsStep","RenameColumnsStep",properties.RenameColumnsStep!=null?CfnDataSetRenameColumnsOperationPropertyFromCloudFormation(properties.RenameColumnsStep):void 0),ret.addPropertyResult("unpivotStep","UnpivotStep",properties.UnpivotStep!=null?CfnDataSetUnpivotOperationPropertyFromCloudFormation(properties.UnpivotStep):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetParentDataSetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetArn",cdk().requiredValidator)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("dataSetArn",cdk().validateString)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("inputColumns",cdk().requiredValidator)(properties.inputColumns)),errors.collect(cdk().propertyValidator("inputColumns",cdk().listValidator(CfnDataSetInputColumnPropertyValidator))(properties.inputColumns)),errors.wrap('supplied properties not correct for "ParentDataSetProperty"')}function convertCfnDataSetParentDataSetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetParentDataSetPropertyValidator(properties).assertSuccess(),{DataSetArn:cdk().stringToCloudFormation(properties.dataSetArn),InputColumns:cdk().listMapper(convertCfnDataSetInputColumnPropertyToCloudFormation)(properties.inputColumns)}):properties}function CfnDataSetParentDataSetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetArn","DataSetArn",properties.DataSetArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetArn):void 0),ret.addPropertyResult("inputColumns","InputColumns",properties.InputColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetInputColumnPropertyFromCloudFormation)(properties.InputColumns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetSourceTablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSet",CfnDataSetParentDataSetPropertyValidator)(properties.dataSet)),errors.collect(cdk().propertyValidator("physicalTableId",cdk().validateString)(properties.physicalTableId)),errors.wrap('supplied properties not correct for "SourceTableProperty"')}function convertCfnDataSetSourceTablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetSourceTablePropertyValidator(properties).assertSuccess(),{DataSet:convertCfnDataSetParentDataSetPropertyToCloudFormation(properties.dataSet),PhysicalTableId:cdk().stringToCloudFormation(properties.physicalTableId)}):properties}function CfnDataSetSourceTablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSet","DataSet",properties.DataSet!=null?CfnDataSetParentDataSetPropertyFromCloudFormation(properties.DataSet):void 0),ret.addPropertyResult("physicalTableId","PhysicalTableId",properties.PhysicalTableId!=null?cfn_parse().FromCloudFormation.getString(properties.PhysicalTableId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetDataPrepConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationTableMap",cdk().requiredValidator)(properties.destinationTableMap)),errors.collect(cdk().propertyValidator("destinationTableMap",cdk().hashValidator(CfnDataSetDestinationTablePropertyValidator))(properties.destinationTableMap)),errors.collect(cdk().propertyValidator("sourceTableMap",cdk().requiredValidator)(properties.sourceTableMap)),errors.collect(cdk().propertyValidator("sourceTableMap",cdk().hashValidator(CfnDataSetSourceTablePropertyValidator))(properties.sourceTableMap)),errors.collect(cdk().propertyValidator("transformStepMap",cdk().requiredValidator)(properties.transformStepMap)),errors.collect(cdk().propertyValidator("transformStepMap",cdk().hashValidator(CfnDataSetTransformStepPropertyValidator))(properties.transformStepMap)),errors.wrap('supplied properties not correct for "DataPrepConfigurationProperty"')}function convertCfnDataSetDataPrepConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetDataPrepConfigurationPropertyValidator(properties).assertSuccess(),{DestinationTableMap:cdk().hashMapper(convertCfnDataSetDestinationTablePropertyToCloudFormation)(properties.destinationTableMap),SourceTableMap:cdk().hashMapper(convertCfnDataSetSourceTablePropertyToCloudFormation)(properties.sourceTableMap),TransformStepMap:cdk().hashMapper(convertCfnDataSetTransformStepPropertyToCloudFormation)(properties.transformStepMap)}):properties}function CfnDataSetDataPrepConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationTableMap","DestinationTableMap",properties.DestinationTableMap!=null?cfn_parse().FromCloudFormation.getMap(CfnDataSetDestinationTablePropertyFromCloudFormation)(properties.DestinationTableMap):void 0),ret.addPropertyResult("sourceTableMap","SourceTableMap",properties.SourceTableMap!=null?cfn_parse().FromCloudFormation.getMap(CfnDataSetSourceTablePropertyFromCloudFormation)(properties.SourceTableMap):void 0),ret.addPropertyResult("transformStepMap","TransformStepMap",properties.TransformStepMap!=null?cfn_parse().FromCloudFormation.getMap(CfnDataSetTransformStepPropertyFromCloudFormation)(properties.TransformStepMap):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetOutputColumnPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("subType",cdk().validateString)(properties.subType)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "OutputColumnProperty"')}function convertCfnDataSetOutputColumnPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetOutputColumnPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),SubType:cdk().stringToCloudFormation(properties.subType),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDataSetOutputColumnPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("subType","SubType",properties.SubType!=null?cfn_parse().FromCloudFormation.getString(properties.SubType):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSetPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("columnGroups",cdk().listValidator(CfnDataSetColumnGroupPropertyValidator))(properties.columnGroups)),errors.collect(cdk().propertyValidator("columnLevelPermissionRules",cdk().listValidator(CfnDataSetColumnLevelPermissionRulePropertyValidator))(properties.columnLevelPermissionRules)),errors.collect(cdk().propertyValidator("dataPrepConfiguration",CfnDataSetDataPrepConfigurationPropertyValidator)(properties.dataPrepConfiguration)),errors.collect(cdk().propertyValidator("dataSetId",cdk().validateString)(properties.dataSetId)),errors.collect(cdk().propertyValidator("dataSetRefreshProperties",CfnDataSetDataSetRefreshPropertiesPropertyValidator)(properties.dataSetRefreshProperties)),errors.collect(cdk().propertyValidator("dataSetUsageConfiguration",CfnDataSetDataSetUsageConfigurationPropertyValidator)(properties.dataSetUsageConfiguration)),errors.collect(cdk().propertyValidator("datasetParameters",cdk().listValidator(CfnDataSetDatasetParameterPropertyValidator))(properties.datasetParameters)),errors.collect(cdk().propertyValidator("fieldFolders",cdk().hashValidator(CfnDataSetFieldFolderPropertyValidator))(properties.fieldFolders)),errors.collect(cdk().propertyValidator("folderArns",cdk().listValidator(cdk().validateString))(properties.folderArns)),errors.collect(cdk().propertyValidator("importMode",cdk().validateString)(properties.importMode)),errors.collect(cdk().propertyValidator("ingestionWaitPolicy",CfnDataSetIngestionWaitPolicyPropertyValidator)(properties.ingestionWaitPolicy)),errors.collect(cdk().propertyValidator("logicalTableMap",cdk().hashValidator(CfnDataSetLogicalTablePropertyValidator))(properties.logicalTableMap)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("performanceConfiguration",CfnDataSetPerformanceConfigurationPropertyValidator)(properties.performanceConfiguration)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(CfnDataSetResourcePermissionPropertyValidator))(properties.permissions)),errors.collect(cdk().propertyValidator("physicalTableMap",cdk().hashValidator(CfnDataSetPhysicalTablePropertyValidator))(properties.physicalTableMap)),errors.collect(cdk().propertyValidator("rowLevelPermissionDataSet",CfnDataSetRowLevelPermissionDataSetPropertyValidator)(properties.rowLevelPermissionDataSet)),errors.collect(cdk().propertyValidator("rowLevelPermissionTagConfiguration",CfnDataSetRowLevelPermissionTagConfigurationPropertyValidator)(properties.rowLevelPermissionTagConfiguration)),errors.collect(cdk().propertyValidator("semanticModelConfiguration",CfnDataSetSemanticModelConfigurationPropertyValidator)(properties.semanticModelConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("useAs",cdk().validateString)(properties.useAs)),errors.wrap('supplied properties not correct for "CfnDataSetProps"')}function convertCfnDataSetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSetPropsValidator(properties).assertSuccess(),{AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),ColumnGroups:cdk().listMapper(convertCfnDataSetColumnGroupPropertyToCloudFormation)(properties.columnGroups),ColumnLevelPermissionRules:cdk().listMapper(convertCfnDataSetColumnLevelPermissionRulePropertyToCloudFormation)(properties.columnLevelPermissionRules),DataPrepConfiguration:convertCfnDataSetDataPrepConfigurationPropertyToCloudFormation(properties.dataPrepConfiguration),DataSetId:cdk().stringToCloudFormation(properties.dataSetId),DataSetRefreshProperties:convertCfnDataSetDataSetRefreshPropertiesPropertyToCloudFormation(properties.dataSetRefreshProperties),DataSetUsageConfiguration:convertCfnDataSetDataSetUsageConfigurationPropertyToCloudFormation(properties.dataSetUsageConfiguration),DatasetParameters:cdk().listMapper(convertCfnDataSetDatasetParameterPropertyToCloudFormation)(properties.datasetParameters),FieldFolders:cdk().hashMapper(convertCfnDataSetFieldFolderPropertyToCloudFormation)(properties.fieldFolders),FolderArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.folderArns),ImportMode:cdk().stringToCloudFormation(properties.importMode),IngestionWaitPolicy:convertCfnDataSetIngestionWaitPolicyPropertyToCloudFormation(properties.ingestionWaitPolicy),LogicalTableMap:cdk().hashMapper(convertCfnDataSetLogicalTablePropertyToCloudFormation)(properties.logicalTableMap),Name:cdk().stringToCloudFormation(properties.name),PerformanceConfiguration:convertCfnDataSetPerformanceConfigurationPropertyToCloudFormation(properties.performanceConfiguration),Permissions:cdk().listMapper(convertCfnDataSetResourcePermissionPropertyToCloudFormation)(properties.permissions),PhysicalTableMap:cdk().hashMapper(convertCfnDataSetPhysicalTablePropertyToCloudFormation)(properties.physicalTableMap),RowLevelPermissionDataSet:convertCfnDataSetRowLevelPermissionDataSetPropertyToCloudFormation(properties.rowLevelPermissionDataSet),RowLevelPermissionTagConfiguration:convertCfnDataSetRowLevelPermissionTagConfigurationPropertyToCloudFormation(properties.rowLevelPermissionTagConfiguration),SemanticModelConfiguration:convertCfnDataSetSemanticModelConfigurationPropertyToCloudFormation(properties.semanticModelConfiguration),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UseAs:cdk().stringToCloudFormation(properties.useAs)}):properties}function CfnDataSetPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("columnGroups","ColumnGroups",properties.ColumnGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetColumnGroupPropertyFromCloudFormation)(properties.ColumnGroups):void 0),ret.addPropertyResult("columnLevelPermissionRules","ColumnLevelPermissionRules",properties.ColumnLevelPermissionRules!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetColumnLevelPermissionRulePropertyFromCloudFormation)(properties.ColumnLevelPermissionRules):void 0),ret.addPropertyResult("dataPrepConfiguration","DataPrepConfiguration",properties.DataPrepConfiguration!=null?CfnDataSetDataPrepConfigurationPropertyFromCloudFormation(properties.DataPrepConfiguration):void 0),ret.addPropertyResult("dataSetId","DataSetId",properties.DataSetId!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetId):void 0),ret.addPropertyResult("datasetParameters","DatasetParameters",properties.DatasetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetDatasetParameterPropertyFromCloudFormation)(properties.DatasetParameters):void 0),ret.addPropertyResult("dataSetRefreshProperties","DataSetRefreshProperties",properties.DataSetRefreshProperties!=null?CfnDataSetDataSetRefreshPropertiesPropertyFromCloudFormation(properties.DataSetRefreshProperties):void 0),ret.addPropertyResult("dataSetUsageConfiguration","DataSetUsageConfiguration",properties.DataSetUsageConfiguration!=null?CfnDataSetDataSetUsageConfigurationPropertyFromCloudFormation(properties.DataSetUsageConfiguration):void 0),ret.addPropertyResult("fieldFolders","FieldFolders",properties.FieldFolders!=null?cfn_parse().FromCloudFormation.getMap(CfnDataSetFieldFolderPropertyFromCloudFormation)(properties.FieldFolders):void 0),ret.addPropertyResult("folderArns","FolderArns",properties.FolderArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FolderArns):void 0),ret.addPropertyResult("importMode","ImportMode",properties.ImportMode!=null?cfn_parse().FromCloudFormation.getString(properties.ImportMode):void 0),ret.addPropertyResult("ingestionWaitPolicy","IngestionWaitPolicy",properties.IngestionWaitPolicy!=null?CfnDataSetIngestionWaitPolicyPropertyFromCloudFormation(properties.IngestionWaitPolicy):void 0),ret.addPropertyResult("logicalTableMap","LogicalTableMap",properties.LogicalTableMap!=null?cfn_parse().FromCloudFormation.getMap(CfnDataSetLogicalTablePropertyFromCloudFormation)(properties.LogicalTableMap):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("performanceConfiguration","PerformanceConfiguration",properties.PerformanceConfiguration!=null?CfnDataSetPerformanceConfigurationPropertyFromCloudFormation(properties.PerformanceConfiguration):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSetResourcePermissionPropertyFromCloudFormation)(properties.Permissions):void 0),ret.addPropertyResult("physicalTableMap","PhysicalTableMap",properties.PhysicalTableMap!=null?cfn_parse().FromCloudFormation.getMap(CfnDataSetPhysicalTablePropertyFromCloudFormation)(properties.PhysicalTableMap):void 0),ret.addPropertyResult("rowLevelPermissionDataSet","RowLevelPermissionDataSet",properties.RowLevelPermissionDataSet!=null?CfnDataSetRowLevelPermissionDataSetPropertyFromCloudFormation(properties.RowLevelPermissionDataSet):void 0),ret.addPropertyResult("rowLevelPermissionTagConfiguration","RowLevelPermissionTagConfiguration",properties.RowLevelPermissionTagConfiguration!=null?CfnDataSetRowLevelPermissionTagConfigurationPropertyFromCloudFormation(properties.RowLevelPermissionTagConfiguration):void 0),ret.addPropertyResult("semanticModelConfiguration","SemanticModelConfiguration",properties.SemanticModelConfiguration!=null?CfnDataSetSemanticModelConfigurationPropertyFromCloudFormation(properties.SemanticModelConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("useAs","UseAs",properties.UseAs!=null?cfn_parse().FromCloudFormation.getString(properties.UseAs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDataSource extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnDataSource",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::DataSource";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataSourcePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataSource(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnDataSource(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataSource.CFN_RESOURCE_TYPE_NAME}static arnForDataSource(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_IDataSourceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDataSource),error}return resource.dataSourceRef.dataSourceArn}_alternateDataSourceParameters;_awsAccountId;_credentials;_dataSourceId;_dataSourceParameters;_errorInfo;_folderArns;_name;_permissions;_sslProperties;tags;_tagsRaw;_type;_vpcConnectionProperties;cfnPropertyNames={alternateDataSourceParameters:"AlternateDataSourceParameters",awsAccountId:"AwsAccountId",credentials:"Credentials",dataSourceId:"DataSourceId",dataSourceParameters:"DataSourceParameters",errorInfo:"ErrorInfo",folderArns:"FolderArns",name:"Name",permissions:"Permissions",sslProperties:"SslProperties",tags:"Tags",type:"Type",vpcConnectionProperties:"VpcConnectionProperties"};constructor(scope,id,props){super(scope,id,{type:CfnDataSource.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnDataSourceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataSource),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"type",this),this._alternateDataSourceParameters=props.alternateDataSourceParameters,this._awsAccountId=props.awsAccountId,this._credentials=props.credentials,this._dataSourceId=props.dataSourceId,this._dataSourceParameters=props.dataSourceParameters,this._errorInfo=props.errorInfo,this._folderArns=props.folderArns,this._name=props.name,this._permissions=props.permissions,this._sslProperties=props.sslProperties,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::DataSource",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._type=props.type,this._vpcConnectionProperties=props.vpcConnectionProperties}get dataSourceRef(){return{awsAccountId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),dataSourceId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),dataSourceArn:this.attrArn}}get alternateDataSourceParameters(){return this._alternateDataSourceParameters}set alternateDataSourceParameters(value){cdk().traceProperty(this.node,"AlternateDataSourceParameters"),this._alternateDataSourceParameters=value}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get credentials(){return this._credentials}set credentials(value){cdk().traceProperty(this.node,"Credentials"),this._credentials=value}get dataSourceId(){return this._dataSourceId}set dataSourceId(value){cdk().traceProperty(this.node,"DataSourceId"),this._dataSourceId=value}get dataSourceParameters(){return this._dataSourceParameters}set dataSourceParameters(value){cdk().traceProperty(this.node,"DataSourceParameters"),this._dataSourceParameters=value}get errorInfo(){return this._errorInfo}set errorInfo(value){cdk().traceProperty(this.node,"ErrorInfo"),this._errorInfo=value}get folderArns(){return this._folderArns}set folderArns(value){cdk().traceProperty(this.node,"FolderArns"),this._folderArns=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get permissions(){return this._permissions}set permissions(value){cdk().traceProperty(this.node,"Permissions"),this._permissions=value}get sslProperties(){return this._sslProperties}set sslProperties(value){cdk().traceProperty(this.node,"SslProperties"),this._sslProperties=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get vpcConnectionProperties(){return this._vpcConnectionProperties}set vpcConnectionProperties(value){cdk().traceProperty(this.node,"VpcConnectionProperties"),this._vpcConnectionProperties=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{alternateDataSourceParameters:this._alternateDataSourceParameters,awsAccountId:this._awsAccountId,credentials:this._credentials,dataSourceId:this._dataSourceId,dataSourceParameters:this._dataSourceParameters,errorInfo:this._errorInfo,folderArns:this._folderArns,name:this._name,permissions:this._permissions,sslProperties:this._sslProperties,tags:this.tags.renderTags(),type:this._type,vpcConnectionProperties:this._vpcConnectionProperties}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDataSource.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataSourcePropsToCloudFormation(props)}}exports.CfnDataSource=CfnDataSource;function CfnDataSourceAuroraPostgreSqlParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "AuroraPostgreSqlParametersProperty"')}function convertCfnDataSourceAuroraPostgreSqlParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceAuroraPostgreSqlParametersPropertyValidator(properties).assertSuccess(),{Database:cdk().stringToCloudFormation(properties.database),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceAuroraPostgreSqlParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceTeradataParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "TeradataParametersProperty"')}function convertCfnDataSourceTeradataParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceTeradataParametersPropertyValidator(properties).assertSuccess(),{Database:cdk().stringToCloudFormation(properties.database),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceTeradataParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceRdsParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("instanceId",cdk().requiredValidator)(properties.instanceId)),errors.collect(cdk().propertyValidator("instanceId",cdk().validateString)(properties.instanceId)),errors.wrap('supplied properties not correct for "RdsParametersProperty"')}function convertCfnDataSourceRdsParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceRdsParametersPropertyValidator(properties).assertSuccess(),{Database:cdk().stringToCloudFormation(properties.database),InstanceId:cdk().stringToCloudFormation(properties.instanceId)}):properties}function CfnDataSourceRdsParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("instanceId","InstanceId",properties.InstanceId!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceIdentityCenterConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("enableIdentityPropagation",cdk().validateBoolean)(properties.enableIdentityPropagation)),errors.wrap('supplied properties not correct for "IdentityCenterConfigurationProperty"')}function convertCfnDataSourceIdentityCenterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceIdentityCenterConfigurationPropertyValidator(properties).assertSuccess(),{EnableIdentityPropagation:cdk().booleanToCloudFormation(properties.enableIdentityPropagation)}):properties}function CfnDataSourceIdentityCenterConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("enableIdentityPropagation","EnableIdentityPropagation",properties.EnableIdentityPropagation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableIdentityPropagation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceAthenaParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("identityCenterConfiguration",CfnDataSourceIdentityCenterConfigurationPropertyValidator)(properties.identityCenterConfiguration)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("workGroup",cdk().validateString)(properties.workGroup)),errors.wrap('supplied properties not correct for "AthenaParametersProperty"')}function convertCfnDataSourceAthenaParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceAthenaParametersPropertyValidator(properties).assertSuccess(),{IdentityCenterConfiguration:convertCfnDataSourceIdentityCenterConfigurationPropertyToCloudFormation(properties.identityCenterConfiguration),RoleArn:cdk().stringToCloudFormation(properties.roleArn),WorkGroup:cdk().stringToCloudFormation(properties.workGroup)}):properties}function CfnDataSourceAthenaParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("identityCenterConfiguration","IdentityCenterConfiguration",properties.IdentityCenterConfiguration!=null?CfnDataSourceIdentityCenterConfigurationPropertyFromCloudFormation(properties.IdentityCenterConfiguration):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("workGroup","WorkGroup",properties.WorkGroup!=null?cfn_parse().FromCloudFormation.getString(properties.WorkGroup):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSparkParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "SparkParametersProperty"')}function convertCfnDataSourceSparkParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSparkParametersPropertyValidator(properties).assertSuccess(),{Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceSparkParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceMariaDbParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "MariaDbParametersProperty"')}function convertCfnDataSourceMariaDbParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceMariaDbParametersPropertyValidator(properties).assertSuccess(),{Database:cdk().stringToCloudFormation(properties.database),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceMariaDbParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceOracleParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("useServiceName",cdk().validateBoolean)(properties.useServiceName)),errors.wrap('supplied properties not correct for "OracleParametersProperty"')}function convertCfnDataSourceOracleParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceOracleParametersPropertyValidator(properties).assertSuccess(),{Database:cdk().stringToCloudFormation(properties.database),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port),UseServiceName:cdk().booleanToCloudFormation(properties.useServiceName)}):properties}function CfnDataSourceOracleParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("useServiceName","UseServiceName",properties.UseServiceName!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseServiceName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourcePrestoParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("catalog",cdk().requiredValidator)(properties.catalog)),errors.collect(cdk().propertyValidator("catalog",cdk().validateString)(properties.catalog)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "PrestoParametersProperty"')}function convertCfnDataSourcePrestoParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourcePrestoParametersPropertyValidator(properties).assertSuccess(),{Catalog:cdk().stringToCloudFormation(properties.catalog),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourcePrestoParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("catalog","Catalog",properties.Catalog!=null?cfn_parse().FromCloudFormation.getString(properties.Catalog):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceRedshiftIAMParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("autoCreateDatabaseUser",cdk().validateBoolean)(properties.autoCreateDatabaseUser)),errors.collect(cdk().propertyValidator("databaseGroups",cdk().listValidator(cdk().validateString))(properties.databaseGroups)),errors.collect(cdk().propertyValidator("databaseUser",cdk().validateString)(properties.databaseUser)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "RedshiftIAMParametersProperty"')}function convertCfnDataSourceRedshiftIAMParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceRedshiftIAMParametersPropertyValidator(properties).assertSuccess(),{AutoCreateDatabaseUser:cdk().booleanToCloudFormation(properties.autoCreateDatabaseUser),DatabaseGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.databaseGroups),DatabaseUser:cdk().stringToCloudFormation(properties.databaseUser),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnDataSourceRedshiftIAMParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("autoCreateDatabaseUser","AutoCreateDatabaseUser",properties.AutoCreateDatabaseUser!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoCreateDatabaseUser):void 0),ret.addPropertyResult("databaseGroups","DatabaseGroups",properties.DatabaseGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DatabaseGroups):void 0),ret.addPropertyResult("databaseUser","DatabaseUser",properties.DatabaseUser!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseUser):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceRedshiftParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterId",cdk().validateString)(properties.clusterId)),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("iamParameters",CfnDataSourceRedshiftIAMParametersPropertyValidator)(properties.iamParameters)),errors.collect(cdk().propertyValidator("identityCenterConfiguration",CfnDataSourceIdentityCenterConfigurationPropertyValidator)(properties.identityCenterConfiguration)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "RedshiftParametersProperty"')}function convertCfnDataSourceRedshiftParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceRedshiftParametersPropertyValidator(properties).assertSuccess(),{ClusterId:cdk().stringToCloudFormation(properties.clusterId),Database:cdk().stringToCloudFormation(properties.database),Host:cdk().stringToCloudFormation(properties.host),IAMParameters:convertCfnDataSourceRedshiftIAMParametersPropertyToCloudFormation(properties.iamParameters),IdentityCenterConfiguration:convertCfnDataSourceIdentityCenterConfigurationPropertyToCloudFormation(properties.identityCenterConfiguration),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceRedshiftParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterId","ClusterId",properties.ClusterId!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterId):void 0),ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("iamParameters","IAMParameters",properties.IAMParameters!=null?CfnDataSourceRedshiftIAMParametersPropertyFromCloudFormation(properties.IAMParameters):void 0),ret.addPropertyResult("identityCenterConfiguration","IdentityCenterConfiguration",properties.IdentityCenterConfiguration!=null?CfnDataSourceIdentityCenterConfigurationPropertyFromCloudFormation(properties.IdentityCenterConfiguration):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceMySqlParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "MySqlParametersProperty"')}function convertCfnDataSourceMySqlParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceMySqlParametersPropertyValidator(properties).assertSuccess(),{Database:cdk().stringToCloudFormation(properties.database),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceMySqlParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSqlServerParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "SqlServerParametersProperty"')}function convertCfnDataSourceSqlServerParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSqlServerParametersPropertyValidator(properties).assertSuccess(),{Database:cdk().stringToCloudFormation(properties.database),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceSqlServerParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceVpcConnectionPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("vpcConnectionArn",cdk().requiredValidator)(properties.vpcConnectionArn)),errors.collect(cdk().propertyValidator("vpcConnectionArn",cdk().validateString)(properties.vpcConnectionArn)),errors.wrap('supplied properties not correct for "VpcConnectionPropertiesProperty"')}function convertCfnDataSourceVpcConnectionPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceVpcConnectionPropertiesPropertyValidator(properties).assertSuccess(),{VpcConnectionArn:cdk().stringToCloudFormation(properties.vpcConnectionArn)}):properties}function CfnDataSourceVpcConnectionPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("vpcConnectionArn","VpcConnectionArn",properties.VpcConnectionArn!=null?cfn_parse().FromCloudFormation.getString(properties.VpcConnectionArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceOAuthParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("identityProviderResourceUri",cdk().validateString)(properties.identityProviderResourceUri)),errors.collect(cdk().propertyValidator("identityProviderVpcConnectionProperties",CfnDataSourceVpcConnectionPropertiesPropertyValidator)(properties.identityProviderVpcConnectionProperties)),errors.collect(cdk().propertyValidator("oAuthScope",cdk().validateString)(properties.oAuthScope)),errors.collect(cdk().propertyValidator("tokenProviderUrl",cdk().requiredValidator)(properties.tokenProviderUrl)),errors.collect(cdk().propertyValidator("tokenProviderUrl",cdk().validateString)(properties.tokenProviderUrl)),errors.wrap('supplied properties not correct for "OAuthParametersProperty"')}function convertCfnDataSourceOAuthParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceOAuthParametersPropertyValidator(properties).assertSuccess(),{IdentityProviderResourceUri:cdk().stringToCloudFormation(properties.identityProviderResourceUri),IdentityProviderVpcConnectionProperties:convertCfnDataSourceVpcConnectionPropertiesPropertyToCloudFormation(properties.identityProviderVpcConnectionProperties),OAuthScope:cdk().stringToCloudFormation(properties.oAuthScope),TokenProviderUrl:cdk().stringToCloudFormation(properties.tokenProviderUrl)}):properties}function CfnDataSourceOAuthParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("identityProviderResourceUri","IdentityProviderResourceUri",properties.IdentityProviderResourceUri!=null?cfn_parse().FromCloudFormation.getString(properties.IdentityProviderResourceUri):void 0),ret.addPropertyResult("identityProviderVpcConnectionProperties","IdentityProviderVpcConnectionProperties",properties.IdentityProviderVpcConnectionProperties!=null?CfnDataSourceVpcConnectionPropertiesPropertyFromCloudFormation(properties.IdentityProviderVpcConnectionProperties):void 0),ret.addPropertyResult("oAuthScope","OAuthScope",properties.OAuthScope!=null?cfn_parse().FromCloudFormation.getString(properties.OAuthScope):void 0),ret.addPropertyResult("tokenProviderUrl","TokenProviderUrl",properties.TokenProviderUrl!=null?cfn_parse().FromCloudFormation.getString(properties.TokenProviderUrl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSnowflakeParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authenticationType",cdk().validateString)(properties.authenticationType)),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("databaseAccessControlRole",cdk().validateString)(properties.databaseAccessControlRole)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("oAuthParameters",CfnDataSourceOAuthParametersPropertyValidator)(properties.oAuthParameters)),errors.collect(cdk().propertyValidator("warehouse",cdk().requiredValidator)(properties.warehouse)),errors.collect(cdk().propertyValidator("warehouse",cdk().validateString)(properties.warehouse)),errors.wrap('supplied properties not correct for "SnowflakeParametersProperty"')}function convertCfnDataSourceSnowflakeParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSnowflakeParametersPropertyValidator(properties).assertSuccess(),{AuthenticationType:cdk().stringToCloudFormation(properties.authenticationType),Database:cdk().stringToCloudFormation(properties.database),DatabaseAccessControlRole:cdk().stringToCloudFormation(properties.databaseAccessControlRole),Host:cdk().stringToCloudFormation(properties.host),OAuthParameters:convertCfnDataSourceOAuthParametersPropertyToCloudFormation(properties.oAuthParameters),Warehouse:cdk().stringToCloudFormation(properties.warehouse)}):properties}function CfnDataSourceSnowflakeParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authenticationType","AuthenticationType",properties.AuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationType):void 0),ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("databaseAccessControlRole","DatabaseAccessControlRole",properties.DatabaseAccessControlRole!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseAccessControlRole):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("oAuthParameters","OAuthParameters",properties.OAuthParameters!=null?CfnDataSourceOAuthParametersPropertyFromCloudFormation(properties.OAuthParameters):void 0),ret.addPropertyResult("warehouse","Warehouse",properties.Warehouse!=null?cfn_parse().FromCloudFormation.getString(properties.Warehouse):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceAmazonElasticsearchParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("domain",cdk().requiredValidator)(properties.domain)),errors.collect(cdk().propertyValidator("domain",cdk().validateString)(properties.domain)),errors.wrap('supplied properties not correct for "AmazonElasticsearchParametersProperty"')}function convertCfnDataSourceAmazonElasticsearchParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceAmazonElasticsearchParametersPropertyValidator(properties).assertSuccess(),{Domain:cdk().stringToCloudFormation(properties.domain)}):properties}function CfnDataSourceAmazonElasticsearchParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("domain","Domain",properties.Domain!=null?cfn_parse().FromCloudFormation.getString(properties.Domain):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceAmazonOpenSearchParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("domain",cdk().requiredValidator)(properties.domain)),errors.collect(cdk().propertyValidator("domain",cdk().validateString)(properties.domain)),errors.wrap('supplied properties not correct for "AmazonOpenSearchParametersProperty"')}function convertCfnDataSourceAmazonOpenSearchParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceAmazonOpenSearchParametersPropertyValidator(properties).assertSuccess(),{Domain:cdk().stringToCloudFormation(properties.domain)}):properties}function CfnDataSourceAmazonOpenSearchParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("domain","Domain",properties.Domain!=null?cfn_parse().FromCloudFormation.getString(properties.Domain):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourcePostgreSqlParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "PostgreSqlParametersProperty"')}function convertCfnDataSourcePostgreSqlParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourcePostgreSqlParametersPropertyValidator(properties).assertSuccess(),{Database:cdk().stringToCloudFormation(properties.database),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourcePostgreSqlParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceAuroraParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("database",cdk().requiredValidator)(properties.database)),errors.collect(cdk().propertyValidator("database",cdk().validateString)(properties.database)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "AuroraParametersProperty"')}function convertCfnDataSourceAuroraParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceAuroraParametersPropertyValidator(properties).assertSuccess(),{Database:cdk().stringToCloudFormation(properties.database),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceAuroraParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("database","Database",properties.Database!=null?cfn_parse().FromCloudFormation.getString(properties.Database):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceManifestFileLocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucket",cdk().requiredValidator)(properties.bucket)),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.wrap('supplied properties not correct for "ManifestFileLocationProperty"')}function convertCfnDataSourceManifestFileLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceManifestFileLocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key)}):properties}function CfnDataSourceManifestFileLocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceS3ParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("manifestFileLocation",cdk().requiredValidator)(properties.manifestFileLocation)),errors.collect(cdk().propertyValidator("manifestFileLocation",CfnDataSourceManifestFileLocationPropertyValidator)(properties.manifestFileLocation)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "S3ParametersProperty"')}function convertCfnDataSourceS3ParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceS3ParametersPropertyValidator(properties).assertSuccess(),{ManifestFileLocation:convertCfnDataSourceManifestFileLocationPropertyToCloudFormation(properties.manifestFileLocation),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnDataSourceS3ParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("manifestFileLocation","ManifestFileLocation",properties.ManifestFileLocation!=null?CfnDataSourceManifestFileLocationPropertyFromCloudFormation(properties.ManifestFileLocation):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDatabricksParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("sqlEndpointPath",cdk().requiredValidator)(properties.sqlEndpointPath)),errors.collect(cdk().propertyValidator("sqlEndpointPath",cdk().validateString)(properties.sqlEndpointPath)),errors.wrap('supplied properties not correct for "DatabricksParametersProperty"')}function convertCfnDataSourceDatabricksParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDatabricksParametersPropertyValidator(properties).assertSuccess(),{Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port),SqlEndpointPath:cdk().stringToCloudFormation(properties.sqlEndpointPath)}):properties}function CfnDataSourceDatabricksParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("sqlEndpointPath","SqlEndpointPath",properties.SqlEndpointPath!=null?cfn_parse().FromCloudFormation.getString(properties.SqlEndpointPath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceS3TablesParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tableBucketArn",cdk().validateString)(properties.tableBucketArn)),errors.wrap('supplied properties not correct for "S3TablesParametersProperty"')}function convertCfnDataSourceS3TablesParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceS3TablesParametersPropertyValidator(properties).assertSuccess(),{TableBucketArn:cdk().stringToCloudFormation(properties.tableBucketArn)}):properties}function CfnDataSourceS3TablesParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tableBucketArn","TableBucketArn",properties.TableBucketArn!=null?cfn_parse().FromCloudFormation.getString(properties.TableBucketArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceStarburstParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authenticationType",cdk().validateString)(properties.authenticationType)),errors.collect(cdk().propertyValidator("catalog",cdk().requiredValidator)(properties.catalog)),errors.collect(cdk().propertyValidator("catalog",cdk().validateString)(properties.catalog)),errors.collect(cdk().propertyValidator("databaseAccessControlRole",cdk().validateString)(properties.databaseAccessControlRole)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("oAuthParameters",CfnDataSourceOAuthParametersPropertyValidator)(properties.oAuthParameters)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("productType",cdk().validateString)(properties.productType)),errors.wrap('supplied properties not correct for "StarburstParametersProperty"')}function convertCfnDataSourceStarburstParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceStarburstParametersPropertyValidator(properties).assertSuccess(),{AuthenticationType:cdk().stringToCloudFormation(properties.authenticationType),Catalog:cdk().stringToCloudFormation(properties.catalog),DatabaseAccessControlRole:cdk().stringToCloudFormation(properties.databaseAccessControlRole),Host:cdk().stringToCloudFormation(properties.host),OAuthParameters:convertCfnDataSourceOAuthParametersPropertyToCloudFormation(properties.oAuthParameters),Port:cdk().numberToCloudFormation(properties.port),ProductType:cdk().stringToCloudFormation(properties.productType)}):properties}function CfnDataSourceStarburstParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authenticationType","AuthenticationType",properties.AuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationType):void 0),ret.addPropertyResult("catalog","Catalog",properties.Catalog!=null?cfn_parse().FromCloudFormation.getString(properties.Catalog):void 0),ret.addPropertyResult("databaseAccessControlRole","DatabaseAccessControlRole",properties.DatabaseAccessControlRole!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseAccessControlRole):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("oAuthParameters","OAuthParameters",properties.OAuthParameters!=null?CfnDataSourceOAuthParametersPropertyFromCloudFormation(properties.OAuthParameters):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("productType","ProductType",properties.ProductType!=null?cfn_parse().FromCloudFormation.getString(properties.ProductType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceTrinoParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("catalog",cdk().requiredValidator)(properties.catalog)),errors.collect(cdk().propertyValidator("catalog",cdk().validateString)(properties.catalog)),errors.collect(cdk().propertyValidator("host",cdk().requiredValidator)(properties.host)),errors.collect(cdk().propertyValidator("host",cdk().validateString)(properties.host)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "TrinoParametersProperty"')}function convertCfnDataSourceTrinoParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceTrinoParametersPropertyValidator(properties).assertSuccess(),{Catalog:cdk().stringToCloudFormation(properties.catalog),Host:cdk().stringToCloudFormation(properties.host),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnDataSourceTrinoParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("catalog","Catalog",properties.Catalog!=null?cfn_parse().FromCloudFormation.getString(properties.Catalog):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?cfn_parse().FromCloudFormation.getString(properties.Host):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDataSourceParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("amazonElasticsearchParameters",CfnDataSourceAmazonElasticsearchParametersPropertyValidator)(properties.amazonElasticsearchParameters)),errors.collect(cdk().propertyValidator("amazonOpenSearchParameters",CfnDataSourceAmazonOpenSearchParametersPropertyValidator)(properties.amazonOpenSearchParameters)),errors.collect(cdk().propertyValidator("athenaParameters",CfnDataSourceAthenaParametersPropertyValidator)(properties.athenaParameters)),errors.collect(cdk().propertyValidator("auroraParameters",CfnDataSourceAuroraParametersPropertyValidator)(properties.auroraParameters)),errors.collect(cdk().propertyValidator("auroraPostgreSqlParameters",CfnDataSourceAuroraPostgreSqlParametersPropertyValidator)(properties.auroraPostgreSqlParameters)),errors.collect(cdk().propertyValidator("databricksParameters",CfnDataSourceDatabricksParametersPropertyValidator)(properties.databricksParameters)),errors.collect(cdk().propertyValidator("mariaDbParameters",CfnDataSourceMariaDbParametersPropertyValidator)(properties.mariaDbParameters)),errors.collect(cdk().propertyValidator("mySqlParameters",CfnDataSourceMySqlParametersPropertyValidator)(properties.mySqlParameters)),errors.collect(cdk().propertyValidator("oracleParameters",CfnDataSourceOracleParametersPropertyValidator)(properties.oracleParameters)),errors.collect(cdk().propertyValidator("postgreSqlParameters",CfnDataSourcePostgreSqlParametersPropertyValidator)(properties.postgreSqlParameters)),errors.collect(cdk().propertyValidator("prestoParameters",CfnDataSourcePrestoParametersPropertyValidator)(properties.prestoParameters)),errors.collect(cdk().propertyValidator("rdsParameters",CfnDataSourceRdsParametersPropertyValidator)(properties.rdsParameters)),errors.collect(cdk().propertyValidator("redshiftParameters",CfnDataSourceRedshiftParametersPropertyValidator)(properties.redshiftParameters)),errors.collect(cdk().propertyValidator("s3Parameters",CfnDataSourceS3ParametersPropertyValidator)(properties.s3Parameters)),errors.collect(cdk().propertyValidator("s3TablesParameters",CfnDataSourceS3TablesParametersPropertyValidator)(properties.s3TablesParameters)),errors.collect(cdk().propertyValidator("snowflakeParameters",CfnDataSourceSnowflakeParametersPropertyValidator)(properties.snowflakeParameters)),errors.collect(cdk().propertyValidator("sparkParameters",CfnDataSourceSparkParametersPropertyValidator)(properties.sparkParameters)),errors.collect(cdk().propertyValidator("sqlServerParameters",CfnDataSourceSqlServerParametersPropertyValidator)(properties.sqlServerParameters)),errors.collect(cdk().propertyValidator("starburstParameters",CfnDataSourceStarburstParametersPropertyValidator)(properties.starburstParameters)),errors.collect(cdk().propertyValidator("teradataParameters",CfnDataSourceTeradataParametersPropertyValidator)(properties.teradataParameters)),errors.collect(cdk().propertyValidator("trinoParameters",CfnDataSourceTrinoParametersPropertyValidator)(properties.trinoParameters)),errors.wrap('supplied properties not correct for "DataSourceParametersProperty"')}function convertCfnDataSourceDataSourceParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDataSourceParametersPropertyValidator(properties).assertSuccess(),{AmazonElasticsearchParameters:convertCfnDataSourceAmazonElasticsearchParametersPropertyToCloudFormation(properties.amazonElasticsearchParameters),AmazonOpenSearchParameters:convertCfnDataSourceAmazonOpenSearchParametersPropertyToCloudFormation(properties.amazonOpenSearchParameters),AthenaParameters:convertCfnDataSourceAthenaParametersPropertyToCloudFormation(properties.athenaParameters),AuroraParameters:convertCfnDataSourceAuroraParametersPropertyToCloudFormation(properties.auroraParameters),AuroraPostgreSqlParameters:convertCfnDataSourceAuroraPostgreSqlParametersPropertyToCloudFormation(properties.auroraPostgreSqlParameters),DatabricksParameters:convertCfnDataSourceDatabricksParametersPropertyToCloudFormation(properties.databricksParameters),MariaDbParameters:convertCfnDataSourceMariaDbParametersPropertyToCloudFormation(properties.mariaDbParameters),MySqlParameters:convertCfnDataSourceMySqlParametersPropertyToCloudFormation(properties.mySqlParameters),OracleParameters:convertCfnDataSourceOracleParametersPropertyToCloudFormation(properties.oracleParameters),PostgreSqlParameters:convertCfnDataSourcePostgreSqlParametersPropertyToCloudFormation(properties.postgreSqlParameters),PrestoParameters:convertCfnDataSourcePrestoParametersPropertyToCloudFormation(properties.prestoParameters),RdsParameters:convertCfnDataSourceRdsParametersPropertyToCloudFormation(properties.rdsParameters),RedshiftParameters:convertCfnDataSourceRedshiftParametersPropertyToCloudFormation(properties.redshiftParameters),S3Parameters:convertCfnDataSourceS3ParametersPropertyToCloudFormation(properties.s3Parameters),S3TablesParameters:convertCfnDataSourceS3TablesParametersPropertyToCloudFormation(properties.s3TablesParameters),SnowflakeParameters:convertCfnDataSourceSnowflakeParametersPropertyToCloudFormation(properties.snowflakeParameters),SparkParameters:convertCfnDataSourceSparkParametersPropertyToCloudFormation(properties.sparkParameters),SqlServerParameters:convertCfnDataSourceSqlServerParametersPropertyToCloudFormation(properties.sqlServerParameters),StarburstParameters:convertCfnDataSourceStarburstParametersPropertyToCloudFormation(properties.starburstParameters),TeradataParameters:convertCfnDataSourceTeradataParametersPropertyToCloudFormation(properties.teradataParameters),TrinoParameters:convertCfnDataSourceTrinoParametersPropertyToCloudFormation(properties.trinoParameters)}):properties}function CfnDataSourceDataSourceParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("amazonElasticsearchParameters","AmazonElasticsearchParameters",properties.AmazonElasticsearchParameters!=null?CfnDataSourceAmazonElasticsearchParametersPropertyFromCloudFormation(properties.AmazonElasticsearchParameters):void 0),ret.addPropertyResult("amazonOpenSearchParameters","AmazonOpenSearchParameters",properties.AmazonOpenSearchParameters!=null?CfnDataSourceAmazonOpenSearchParametersPropertyFromCloudFormation(properties.AmazonOpenSearchParameters):void 0),ret.addPropertyResult("athenaParameters","AthenaParameters",properties.AthenaParameters!=null?CfnDataSourceAthenaParametersPropertyFromCloudFormation(properties.AthenaParameters):void 0),ret.addPropertyResult("auroraParameters","AuroraParameters",properties.AuroraParameters!=null?CfnDataSourceAuroraParametersPropertyFromCloudFormation(properties.AuroraParameters):void 0),ret.addPropertyResult("auroraPostgreSqlParameters","AuroraPostgreSqlParameters",properties.AuroraPostgreSqlParameters!=null?CfnDataSourceAuroraPostgreSqlParametersPropertyFromCloudFormation(properties.AuroraPostgreSqlParameters):void 0),ret.addPropertyResult("databricksParameters","DatabricksParameters",properties.DatabricksParameters!=null?CfnDataSourceDatabricksParametersPropertyFromCloudFormation(properties.DatabricksParameters):void 0),ret.addPropertyResult("mariaDbParameters","MariaDbParameters",properties.MariaDbParameters!=null?CfnDataSourceMariaDbParametersPropertyFromCloudFormation(properties.MariaDbParameters):void 0),ret.addPropertyResult("mySqlParameters","MySqlParameters",properties.MySqlParameters!=null?CfnDataSourceMySqlParametersPropertyFromCloudFormation(properties.MySqlParameters):void 0),ret.addPropertyResult("oracleParameters","OracleParameters",properties.OracleParameters!=null?CfnDataSourceOracleParametersPropertyFromCloudFormation(properties.OracleParameters):void 0),ret.addPropertyResult("postgreSqlParameters","PostgreSqlParameters",properties.PostgreSqlParameters!=null?CfnDataSourcePostgreSqlParametersPropertyFromCloudFormation(properties.PostgreSqlParameters):void 0),ret.addPropertyResult("prestoParameters","PrestoParameters",properties.PrestoParameters!=null?CfnDataSourcePrestoParametersPropertyFromCloudFormation(properties.PrestoParameters):void 0),ret.addPropertyResult("rdsParameters","RdsParameters",properties.RdsParameters!=null?CfnDataSourceRdsParametersPropertyFromCloudFormation(properties.RdsParameters):void 0),ret.addPropertyResult("redshiftParameters","RedshiftParameters",properties.RedshiftParameters!=null?CfnDataSourceRedshiftParametersPropertyFromCloudFormation(properties.RedshiftParameters):void 0),ret.addPropertyResult("s3Parameters","S3Parameters",properties.S3Parameters!=null?CfnDataSourceS3ParametersPropertyFromCloudFormation(properties.S3Parameters):void 0),ret.addPropertyResult("s3TablesParameters","S3TablesParameters",properties.S3TablesParameters!=null?CfnDataSourceS3TablesParametersPropertyFromCloudFormation(properties.S3TablesParameters):void 0),ret.addPropertyResult("snowflakeParameters","SnowflakeParameters",properties.SnowflakeParameters!=null?CfnDataSourceSnowflakeParametersPropertyFromCloudFormation(properties.SnowflakeParameters):void 0),ret.addPropertyResult("sparkParameters","SparkParameters",properties.SparkParameters!=null?CfnDataSourceSparkParametersPropertyFromCloudFormation(properties.SparkParameters):void 0),ret.addPropertyResult("sqlServerParameters","SqlServerParameters",properties.SqlServerParameters!=null?CfnDataSourceSqlServerParametersPropertyFromCloudFormation(properties.SqlServerParameters):void 0),ret.addPropertyResult("starburstParameters","StarburstParameters",properties.StarburstParameters!=null?CfnDataSourceStarburstParametersPropertyFromCloudFormation(properties.StarburstParameters):void 0),ret.addPropertyResult("teradataParameters","TeradataParameters",properties.TeradataParameters!=null?CfnDataSourceTeradataParametersPropertyFromCloudFormation(properties.TeradataParameters):void 0),ret.addPropertyResult("trinoParameters","TrinoParameters",properties.TrinoParameters!=null?CfnDataSourceTrinoParametersPropertyFromCloudFormation(properties.TrinoParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDataSourceErrorInfoPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DataSourceErrorInfoProperty"')}function convertCfnDataSourceDataSourceErrorInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDataSourceErrorInfoPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDataSourceDataSourceErrorInfoPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceResourcePermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("principal",cdk().requiredValidator)(properties.principal)),errors.collect(cdk().propertyValidator("principal",cdk().validateString)(properties.principal)),errors.collect(cdk().propertyValidator("resource",cdk().validateString)(properties.resource)),errors.wrap('supplied properties not correct for "ResourcePermissionProperty"')}function convertCfnDataSourceResourcePermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceResourcePermissionPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),Principal:cdk().stringToCloudFormation(properties.principal),Resource:cdk().stringToCloudFormation(properties.resource)}):properties}function CfnDataSourceResourcePermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getString(properties.Principal):void 0),ret.addPropertyResult("resource","Resource",properties.Resource!=null?cfn_parse().FromCloudFormation.getString(properties.Resource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceSslPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("disableSsl",cdk().validateBoolean)(properties.disableSsl)),errors.wrap('supplied properties not correct for "SslPropertiesProperty"')}function convertCfnDataSourceSslPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceSslPropertiesPropertyValidator(properties).assertSuccess(),{DisableSsl:cdk().booleanToCloudFormation(properties.disableSsl)}):properties}function CfnDataSourceSslPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("disableSsl","DisableSsl",properties.DisableSsl!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableSsl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceCredentialPairPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alternateDataSourceParameters",cdk().listValidator(CfnDataSourceDataSourceParametersPropertyValidator))(properties.alternateDataSourceParameters)),errors.collect(cdk().propertyValidator("password",cdk().requiredValidator)(properties.password)),errors.collect(cdk().propertyValidator("password",cdk().validateString)(properties.password)),errors.collect(cdk().propertyValidator("username",cdk().requiredValidator)(properties.username)),errors.collect(cdk().propertyValidator("username",cdk().validateString)(properties.username)),errors.wrap('supplied properties not correct for "CredentialPairProperty"')}function convertCfnDataSourceCredentialPairPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceCredentialPairPropertyValidator(properties).assertSuccess(),{AlternateDataSourceParameters:cdk().listMapper(convertCfnDataSourceDataSourceParametersPropertyToCloudFormation)(properties.alternateDataSourceParameters),Password:cdk().stringToCloudFormation(properties.password),Username:cdk().stringToCloudFormation(properties.username)}):properties}function CfnDataSourceCredentialPairPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alternateDataSourceParameters","AlternateDataSourceParameters",properties.AlternateDataSourceParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceParametersPropertyFromCloudFormation)(properties.AlternateDataSourceParameters):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("username","Username",properties.Username!=null?cfn_parse().FromCloudFormation.getString(properties.Username):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceKeyPairCredentialsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("keyPairUsername",cdk().requiredValidator)(properties.keyPairUsername)),errors.collect(cdk().propertyValidator("keyPairUsername",cdk().validateString)(properties.keyPairUsername)),errors.collect(cdk().propertyValidator("privateKey",cdk().requiredValidator)(properties.privateKey)),errors.collect(cdk().propertyValidator("privateKey",cdk().validateString)(properties.privateKey)),errors.collect(cdk().propertyValidator("privateKeyPassphrase",cdk().validateString)(properties.privateKeyPassphrase)),errors.wrap('supplied properties not correct for "KeyPairCredentialsProperty"')}function convertCfnDataSourceKeyPairCredentialsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceKeyPairCredentialsPropertyValidator(properties).assertSuccess(),{KeyPairUsername:cdk().stringToCloudFormation(properties.keyPairUsername),PrivateKey:cdk().stringToCloudFormation(properties.privateKey),PrivateKeyPassphrase:cdk().stringToCloudFormation(properties.privateKeyPassphrase)}):properties}function CfnDataSourceKeyPairCredentialsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("keyPairUsername","KeyPairUsername",properties.KeyPairUsername!=null?cfn_parse().FromCloudFormation.getString(properties.KeyPairUsername):void 0),ret.addPropertyResult("privateKey","PrivateKey",properties.PrivateKey!=null?cfn_parse().FromCloudFormation.getString(properties.PrivateKey):void 0),ret.addPropertyResult("privateKeyPassphrase","PrivateKeyPassphrase",properties.PrivateKeyPassphrase!=null?cfn_parse().FromCloudFormation.getString(properties.PrivateKeyPassphrase):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourceDataSourceCredentialsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("copySourceArn",cdk().validateString)(properties.copySourceArn)),errors.collect(cdk().propertyValidator("credentialPair",CfnDataSourceCredentialPairPropertyValidator)(properties.credentialPair)),errors.collect(cdk().propertyValidator("keyPairCredentials",CfnDataSourceKeyPairCredentialsPropertyValidator)(properties.keyPairCredentials)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "DataSourceCredentialsProperty"')}function convertCfnDataSourceDataSourceCredentialsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourceDataSourceCredentialsPropertyValidator(properties).assertSuccess(),{CopySourceArn:cdk().stringToCloudFormation(properties.copySourceArn),CredentialPair:convertCfnDataSourceCredentialPairPropertyToCloudFormation(properties.credentialPair),KeyPairCredentials:convertCfnDataSourceKeyPairCredentialsPropertyToCloudFormation(properties.keyPairCredentials),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnDataSourceDataSourceCredentialsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("copySourceArn","CopySourceArn",properties.CopySourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.CopySourceArn):void 0),ret.addPropertyResult("credentialPair","CredentialPair",properties.CredentialPair!=null?CfnDataSourceCredentialPairPropertyFromCloudFormation(properties.CredentialPair):void 0),ret.addPropertyResult("keyPairCredentials","KeyPairCredentials",properties.KeyPairCredentials!=null?CfnDataSourceKeyPairCredentialsPropertyFromCloudFormation(properties.KeyPairCredentials):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataSourcePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alternateDataSourceParameters",cdk().listValidator(CfnDataSourceDataSourceParametersPropertyValidator))(properties.alternateDataSourceParameters)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("credentials",CfnDataSourceDataSourceCredentialsPropertyValidator)(properties.credentials)),errors.collect(cdk().propertyValidator("dataSourceId",cdk().validateString)(properties.dataSourceId)),errors.collect(cdk().propertyValidator("dataSourceParameters",CfnDataSourceDataSourceParametersPropertyValidator)(properties.dataSourceParameters)),errors.collect(cdk().propertyValidator("errorInfo",CfnDataSourceDataSourceErrorInfoPropertyValidator)(properties.errorInfo)),errors.collect(cdk().propertyValidator("folderArns",cdk().listValidator(cdk().validateString))(properties.folderArns)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(CfnDataSourceResourcePermissionPropertyValidator))(properties.permissions)),errors.collect(cdk().propertyValidator("sslProperties",CfnDataSourceSslPropertiesPropertyValidator)(properties.sslProperties)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("vpcConnectionProperties",CfnDataSourceVpcConnectionPropertiesPropertyValidator)(properties.vpcConnectionProperties)),errors.wrap('supplied properties not correct for "CfnDataSourceProps"')}function convertCfnDataSourcePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataSourcePropsValidator(properties).assertSuccess(),{AlternateDataSourceParameters:cdk().listMapper(convertCfnDataSourceDataSourceParametersPropertyToCloudFormation)(properties.alternateDataSourceParameters),AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),Credentials:convertCfnDataSourceDataSourceCredentialsPropertyToCloudFormation(properties.credentials),DataSourceId:cdk().stringToCloudFormation(properties.dataSourceId),DataSourceParameters:convertCfnDataSourceDataSourceParametersPropertyToCloudFormation(properties.dataSourceParameters),ErrorInfo:convertCfnDataSourceDataSourceErrorInfoPropertyToCloudFormation(properties.errorInfo),FolderArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.folderArns),Name:cdk().stringToCloudFormation(properties.name),Permissions:cdk().listMapper(convertCfnDataSourceResourcePermissionPropertyToCloudFormation)(properties.permissions),SslProperties:convertCfnDataSourceSslPropertiesPropertyToCloudFormation(properties.sslProperties),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type),VpcConnectionProperties:convertCfnDataSourceVpcConnectionPropertiesPropertyToCloudFormation(properties.vpcConnectionProperties)}):properties}function CfnDataSourcePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alternateDataSourceParameters","AlternateDataSourceParameters",properties.AlternateDataSourceParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceDataSourceParametersPropertyFromCloudFormation)(properties.AlternateDataSourceParameters):void 0),ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("credentials","Credentials",properties.Credentials!=null?CfnDataSourceDataSourceCredentialsPropertyFromCloudFormation(properties.Credentials):void 0),ret.addPropertyResult("dataSourceId","DataSourceId",properties.DataSourceId!=null?cfn_parse().FromCloudFormation.getString(properties.DataSourceId):void 0),ret.addPropertyResult("dataSourceParameters","DataSourceParameters",properties.DataSourceParameters!=null?CfnDataSourceDataSourceParametersPropertyFromCloudFormation(properties.DataSourceParameters):void 0),ret.addPropertyResult("errorInfo","ErrorInfo",properties.ErrorInfo!=null?CfnDataSourceDataSourceErrorInfoPropertyFromCloudFormation(properties.ErrorInfo):void 0),ret.addPropertyResult("folderArns","FolderArns",properties.FolderArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FolderArns):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(CfnDataSourceResourcePermissionPropertyFromCloudFormation)(properties.Permissions):void 0),ret.addPropertyResult("sslProperties","SslProperties",properties.SslProperties!=null?CfnDataSourceSslPropertiesPropertyFromCloudFormation(properties.SslProperties):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("vpcConnectionProperties","VpcConnectionProperties",properties.VpcConnectionProperties!=null?CfnDataSourceVpcConnectionPropertiesPropertyFromCloudFormation(properties.VpcConnectionProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRefreshSchedule extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnRefreshSchedule",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::RefreshSchedule";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRefreshSchedulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRefreshSchedule(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnRefreshSchedule(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRefreshSchedule.CFN_RESOURCE_TYPE_NAME}static arnForRefreshSchedule(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_IRefreshScheduleRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRefreshSchedule),error}return resource.refreshScheduleRef.refreshScheduleArn}_awsAccountId;_dataSetId;_schedule;cfnPropertyNames={awsAccountId:"AwsAccountId",dataSetId:"DataSetId",schedule:"Schedule"};constructor(scope,id,props={}){super(scope,id,{type:CfnRefreshSchedule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnRefreshScheduleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRefreshSchedule),error}this._awsAccountId=props.awsAccountId,this._dataSetId=props.dataSetId,this._schedule=props.schedule}get refreshScheduleRef(){return{awsAccountId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),dataSetId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),scheduleId:cdk().Fn.select(2,cdk().Fn.split("|",this.ref)),refreshScheduleArn:this.attrArn}}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get dataSetId(){return this._dataSetId}set dataSetId(value){cdk().traceProperty(this.node,"DataSetId"),this._dataSetId=value}get schedule(){return this._schedule}set schedule(value){cdk().traceProperty(this.node,"Schedule"),this._schedule=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{awsAccountId:this._awsAccountId,dataSetId:this._dataSetId,schedule:this._schedule}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnRefreshSchedule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRefreshSchedulePropsToCloudFormation(props)}}exports.CfnRefreshSchedule=CfnRefreshSchedule;function CfnRefreshScheduleRefreshOnDayPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dayOfMonth",cdk().validateString)(properties.dayOfMonth)),errors.collect(cdk().propertyValidator("dayOfWeek",cdk().validateString)(properties.dayOfWeek)),errors.wrap('supplied properties not correct for "RefreshOnDayProperty"')}function convertCfnRefreshScheduleRefreshOnDayPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRefreshScheduleRefreshOnDayPropertyValidator(properties).assertSuccess(),{DayOfMonth:cdk().stringToCloudFormation(properties.dayOfMonth),DayOfWeek:cdk().stringToCloudFormation(properties.dayOfWeek)}):properties}function CfnRefreshScheduleRefreshOnDayPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dayOfMonth","DayOfMonth",properties.DayOfMonth!=null?cfn_parse().FromCloudFormation.getString(properties.DayOfMonth):void 0),ret.addPropertyResult("dayOfWeek","DayOfWeek",properties.DayOfWeek!=null?cfn_parse().FromCloudFormation.getString(properties.DayOfWeek):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRefreshScheduleScheduleFrequencyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("interval",cdk().validateString)(properties.interval)),errors.collect(cdk().propertyValidator("refreshOnDay",CfnRefreshScheduleRefreshOnDayPropertyValidator)(properties.refreshOnDay)),errors.collect(cdk().propertyValidator("timeOfTheDay",cdk().validateString)(properties.timeOfTheDay)),errors.collect(cdk().propertyValidator("timeZone",cdk().validateString)(properties.timeZone)),errors.wrap('supplied properties not correct for "ScheduleFrequencyProperty"')}function convertCfnRefreshScheduleScheduleFrequencyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRefreshScheduleScheduleFrequencyPropertyValidator(properties).assertSuccess(),{Interval:cdk().stringToCloudFormation(properties.interval),RefreshOnDay:convertCfnRefreshScheduleRefreshOnDayPropertyToCloudFormation(properties.refreshOnDay),TimeOfTheDay:cdk().stringToCloudFormation(properties.timeOfTheDay),TimeZone:cdk().stringToCloudFormation(properties.timeZone)}):properties}function CfnRefreshScheduleScheduleFrequencyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("interval","Interval",properties.Interval!=null?cfn_parse().FromCloudFormation.getString(properties.Interval):void 0),ret.addPropertyResult("refreshOnDay","RefreshOnDay",properties.RefreshOnDay!=null?CfnRefreshScheduleRefreshOnDayPropertyFromCloudFormation(properties.RefreshOnDay):void 0),ret.addPropertyResult("timeOfTheDay","TimeOfTheDay",properties.TimeOfTheDay!=null?cfn_parse().FromCloudFormation.getString(properties.TimeOfTheDay):void 0),ret.addPropertyResult("timeZone","TimeZone",properties.TimeZone!=null?cfn_parse().FromCloudFormation.getString(properties.TimeZone):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRefreshScheduleRefreshScheduleMapPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("refreshType",cdk().validateString)(properties.refreshType)),errors.collect(cdk().propertyValidator("scheduleFrequency",CfnRefreshScheduleScheduleFrequencyPropertyValidator)(properties.scheduleFrequency)),errors.collect(cdk().propertyValidator("scheduleId",cdk().validateString)(properties.scheduleId)),errors.collect(cdk().propertyValidator("startAfterDateTime",cdk().validateString)(properties.startAfterDateTime)),errors.wrap('supplied properties not correct for "RefreshScheduleMapProperty"')}function convertCfnRefreshScheduleRefreshScheduleMapPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRefreshScheduleRefreshScheduleMapPropertyValidator(properties).assertSuccess(),{RefreshType:cdk().stringToCloudFormation(properties.refreshType),ScheduleFrequency:convertCfnRefreshScheduleScheduleFrequencyPropertyToCloudFormation(properties.scheduleFrequency),ScheduleId:cdk().stringToCloudFormation(properties.scheduleId),StartAfterDateTime:cdk().stringToCloudFormation(properties.startAfterDateTime)}):properties}function CfnRefreshScheduleRefreshScheduleMapPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("refreshType","RefreshType",properties.RefreshType!=null?cfn_parse().FromCloudFormation.getString(properties.RefreshType):void 0),ret.addPropertyResult("scheduleFrequency","ScheduleFrequency",properties.ScheduleFrequency!=null?CfnRefreshScheduleScheduleFrequencyPropertyFromCloudFormation(properties.ScheduleFrequency):void 0),ret.addPropertyResult("scheduleId","ScheduleId",properties.ScheduleId!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleId):void 0),ret.addPropertyResult("startAfterDateTime","StartAfterDateTime",properties.StartAfterDateTime!=null?cfn_parse().FromCloudFormation.getString(properties.StartAfterDateTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRefreshSchedulePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("dataSetId",cdk().validateString)(properties.dataSetId)),errors.collect(cdk().propertyValidator("schedule",CfnRefreshScheduleRefreshScheduleMapPropertyValidator)(properties.schedule)),errors.wrap('supplied properties not correct for "CfnRefreshScheduleProps"')}function convertCfnRefreshSchedulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRefreshSchedulePropsValidator(properties).assertSuccess(),{AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),DataSetId:cdk().stringToCloudFormation(properties.dataSetId),Schedule:convertCfnRefreshScheduleRefreshScheduleMapPropertyToCloudFormation(properties.schedule)}):properties}function CfnRefreshSchedulePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("dataSetId","DataSetId",properties.DataSetId!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetId):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?CfnRefreshScheduleRefreshScheduleMapPropertyFromCloudFormation(properties.Schedule):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTemplate extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnTemplate",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::Template";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTemplatePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTemplate(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnTemplate(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTemplate.CFN_RESOURCE_TYPE_NAME}static arnForTemplate(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_ITemplateRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTemplate),error}return resource.templateRef.templateArn}_awsAccountId;_definition;_name;_permissions;_sourceEntity;tags;_tagsRaw;_templateId;_validationStrategy;_versionDescription;cfnPropertyNames={awsAccountId:"AwsAccountId",definition:"Definition",name:"Name",permissions:"Permissions",sourceEntity:"SourceEntity",tags:"Tags",templateId:"TemplateId",validationStrategy:"ValidationStrategy",versionDescription:"VersionDescription"};constructor(scope,id,props){super(scope,id,{type:CfnTemplate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnTemplateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTemplate),error}cdk().requireProperty(props,"awsAccountId",this),cdk().requireProperty(props,"templateId",this),this._awsAccountId=props.awsAccountId,this._definition=props.definition,this._name=props.name,this._permissions=props.permissions,this._sourceEntity=props.sourceEntity,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::Template",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._templateId=props.templateId,this._validationStrategy=props.validationStrategy,this._versionDescription=props.versionDescription}get templateRef(){return{awsAccountId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),templateId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),templateArn:this.attrArn}}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get definition(){return this._definition}set definition(value){cdk().traceProperty(this.node,"Definition"),this._definition=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get permissions(){return this._permissions}set permissions(value){cdk().traceProperty(this.node,"Permissions"),this._permissions=value}get sourceEntity(){return this._sourceEntity}set sourceEntity(value){cdk().traceProperty(this.node,"SourceEntity"),this._sourceEntity=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get templateId(){return this._templateId}set templateId(value){cdk().traceProperty(this.node,"TemplateId"),this._templateId=value}get validationStrategy(){return this._validationStrategy}set validationStrategy(value){cdk().traceProperty(this.node,"ValidationStrategy"),this._validationStrategy=value}get versionDescription(){return this._versionDescription}set versionDescription(value){cdk().traceProperty(this.node,"VersionDescription"),this._versionDescription=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return this.getAtt("Version")}get attrVersionCreatedTime(){return cdk().Token.asString(this.getAtt("Version.CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrVersionDataSetConfigurations(){return this.getAtt("Version.DataSetConfigurations")}get attrVersionDescription(){return cdk().Token.asString(this.getAtt("Version.Description",cdk().ResolutionTypeHint.STRING))}get attrVersionErrors(){return this.getAtt("Version.Errors")}get attrVersionSheets(){return this.getAtt("Version.Sheets")}get attrVersionSourceEntityArn(){return cdk().Token.asString(this.getAtt("Version.SourceEntityArn",cdk().ResolutionTypeHint.STRING))}get attrVersionStatus(){return cdk().Token.asString(this.getAtt("Version.Status",cdk().ResolutionTypeHint.STRING))}get attrVersionThemeArn(){return cdk().Token.asString(this.getAtt("Version.ThemeArn",cdk().ResolutionTypeHint.STRING))}get attrVersionVersionNumber(){return this.getAtt("Version.VersionNumber",cdk().ResolutionTypeHint.NUMBER)}get cfnProperties(){return{awsAccountId:this._awsAccountId,definition:this._definition,name:this._name,permissions:this._permissions,sourceEntity:this._sourceEntity,tags:this.tags.renderTags(),templateId:this._templateId,validationStrategy:this._validationStrategy,versionDescription:this._versionDescription}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnTemplate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTemplatePropsToCloudFormation(props)}}exports.CfnTemplate=CfnTemplate;function CfnTemplateDataSetReferencePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetArn",cdk().requiredValidator)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("dataSetArn",cdk().validateString)(properties.dataSetArn)),errors.collect(cdk().propertyValidator("dataSetPlaceholder",cdk().requiredValidator)(properties.dataSetPlaceholder)),errors.collect(cdk().propertyValidator("dataSetPlaceholder",cdk().validateString)(properties.dataSetPlaceholder)),errors.wrap('supplied properties not correct for "DataSetReferenceProperty"')}function convertCfnTemplateDataSetReferencePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataSetReferencePropertyValidator(properties).assertSuccess(),{DataSetArn:cdk().stringToCloudFormation(properties.dataSetArn),DataSetPlaceholder:cdk().stringToCloudFormation(properties.dataSetPlaceholder)}):properties}function CfnTemplateDataSetReferencePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetArn","DataSetArn",properties.DataSetArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetArn):void 0),ret.addPropertyResult("dataSetPlaceholder","DataSetPlaceholder",properties.DataSetPlaceholder!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetPlaceholder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTemplateSourceAnalysisPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("dataSetReferences",cdk().requiredValidator)(properties.dataSetReferences)),errors.collect(cdk().propertyValidator("dataSetReferences",cdk().listValidator(CfnTemplateDataSetReferencePropertyValidator))(properties.dataSetReferences)),errors.wrap('supplied properties not correct for "TemplateSourceAnalysisProperty"')}function convertCfnTemplateTemplateSourceAnalysisPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTemplateSourceAnalysisPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),DataSetReferences:cdk().listMapper(convertCfnTemplateDataSetReferencePropertyToCloudFormation)(properties.dataSetReferences)}):properties}function CfnTemplateTemplateSourceAnalysisPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("dataSetReferences","DataSetReferences",properties.DataSetReferences!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDataSetReferencePropertyFromCloudFormation)(properties.DataSetReferences):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTemplateSourceTemplatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.wrap('supplied properties not correct for "TemplateSourceTemplateProperty"')}function convertCfnTemplateTemplateSourceTemplatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTemplateSourceTemplatePropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn)}):properties}function CfnTemplateTemplateSourceTemplatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTemplateSourceEntityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sourceAnalysis",CfnTemplateTemplateSourceAnalysisPropertyValidator)(properties.sourceAnalysis)),errors.collect(cdk().propertyValidator("sourceTemplate",CfnTemplateTemplateSourceTemplatePropertyValidator)(properties.sourceTemplate)),errors.wrap('supplied properties not correct for "TemplateSourceEntityProperty"')}function convertCfnTemplateTemplateSourceEntityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTemplateSourceEntityPropertyValidator(properties).assertSuccess(),{SourceAnalysis:convertCfnTemplateTemplateSourceAnalysisPropertyToCloudFormation(properties.sourceAnalysis),SourceTemplate:convertCfnTemplateTemplateSourceTemplatePropertyToCloudFormation(properties.sourceTemplate)}):properties}function CfnTemplateTemplateSourceEntityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sourceAnalysis","SourceAnalysis",properties.SourceAnalysis!=null?CfnTemplateTemplateSourceAnalysisPropertyFromCloudFormation(properties.SourceAnalysis):void 0),ret.addPropertyResult("sourceTemplate","SourceTemplate",properties.SourceTemplate!=null?CfnTemplateTemplateSourceTemplatePropertyFromCloudFormation(properties.SourceTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAttributeAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("simpleAttributeAggregation",cdk().validateString)(properties.simpleAttributeAggregation)),errors.collect(cdk().propertyValidator("valueForMultipleValues",cdk().validateString)(properties.valueForMultipleValues)),errors.wrap('supplied properties not correct for "AttributeAggregationFunctionProperty"')}function convertCfnTemplateAttributeAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAttributeAggregationFunctionPropertyValidator(properties).assertSuccess(),{SimpleAttributeAggregation:cdk().stringToCloudFormation(properties.simpleAttributeAggregation),ValueForMultipleValues:cdk().stringToCloudFormation(properties.valueForMultipleValues)}):properties}function CfnTemplateAttributeAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("simpleAttributeAggregation","SimpleAttributeAggregation",properties.SimpleAttributeAggregation!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleAttributeAggregation):void 0),ret.addPropertyResult("valueForMultipleValues","ValueForMultipleValues",properties.ValueForMultipleValues!=null?cfn_parse().FromCloudFormation.getString(properties.ValueForMultipleValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePercentileAggregationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("percentileValue",cdk().validateNumber)(properties.percentileValue)),errors.wrap('supplied properties not correct for "PercentileAggregationProperty"')}function convertCfnTemplatePercentileAggregationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePercentileAggregationPropertyValidator(properties).assertSuccess(),{PercentileValue:cdk().numberToCloudFormation(properties.percentileValue)}):properties}function CfnTemplatePercentileAggregationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("percentileValue","PercentileValue",properties.PercentileValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.PercentileValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericalAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("percentileAggregation",CfnTemplatePercentileAggregationPropertyValidator)(properties.percentileAggregation)),errors.collect(cdk().propertyValidator("simpleNumericalAggregation",cdk().validateString)(properties.simpleNumericalAggregation)),errors.wrap('supplied properties not correct for "NumericalAggregationFunctionProperty"')}function convertCfnTemplateNumericalAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericalAggregationFunctionPropertyValidator(properties).assertSuccess(),{PercentileAggregation:convertCfnTemplatePercentileAggregationPropertyToCloudFormation(properties.percentileAggregation),SimpleNumericalAggregation:cdk().stringToCloudFormation(properties.simpleNumericalAggregation)}):properties}function CfnTemplateNumericalAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("percentileAggregation","PercentileAggregation",properties.PercentileAggregation!=null?CfnTemplatePercentileAggregationPropertyFromCloudFormation(properties.PercentileAggregation):void 0),ret.addPropertyResult("simpleNumericalAggregation","SimpleNumericalAggregation",properties.SimpleNumericalAggregation!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleNumericalAggregation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("attributeAggregationFunction",CfnTemplateAttributeAggregationFunctionPropertyValidator)(properties.attributeAggregationFunction)),errors.collect(cdk().propertyValidator("categoricalAggregationFunction",cdk().validateString)(properties.categoricalAggregationFunction)),errors.collect(cdk().propertyValidator("dateAggregationFunction",cdk().validateString)(properties.dateAggregationFunction)),errors.collect(cdk().propertyValidator("numericalAggregationFunction",CfnTemplateNumericalAggregationFunctionPropertyValidator)(properties.numericalAggregationFunction)),errors.wrap('supplied properties not correct for "AggregationFunctionProperty"')}function convertCfnTemplateAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAggregationFunctionPropertyValidator(properties).assertSuccess(),{AttributeAggregationFunction:convertCfnTemplateAttributeAggregationFunctionPropertyToCloudFormation(properties.attributeAggregationFunction),CategoricalAggregationFunction:cdk().stringToCloudFormation(properties.categoricalAggregationFunction),DateAggregationFunction:cdk().stringToCloudFormation(properties.dateAggregationFunction),NumericalAggregationFunction:convertCfnTemplateNumericalAggregationFunctionPropertyToCloudFormation(properties.numericalAggregationFunction)}):properties}function CfnTemplateAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("attributeAggregationFunction","AttributeAggregationFunction",properties.AttributeAggregationFunction!=null?CfnTemplateAttributeAggregationFunctionPropertyFromCloudFormation(properties.AttributeAggregationFunction):void 0),ret.addPropertyResult("categoricalAggregationFunction","CategoricalAggregationFunction",properties.CategoricalAggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.CategoricalAggregationFunction):void 0),ret.addPropertyResult("dateAggregationFunction","DateAggregationFunction",properties.DateAggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.DateAggregationFunction):void 0),ret.addPropertyResult("numericalAggregationFunction","NumericalAggregationFunction",properties.NumericalAggregationFunction!=null?CfnTemplateNumericalAggregationFunctionPropertyFromCloudFormation(properties.NumericalAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColumnIdentifierPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.wrap('supplied properties not correct for "ColumnIdentifierProperty"')}function convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColumnIdentifierPropertyValidator(properties).assertSuccess(),{ColumnName:cdk().stringToCloudFormation(properties.columnName),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier)}):properties}function CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFontSizePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("absolute",cdk().validateString)(properties.absolute)),errors.collect(cdk().propertyValidator("relative",cdk().validateString)(properties.relative)),errors.wrap('supplied properties not correct for "FontSizeProperty"')}function convertCfnTemplateFontSizePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFontSizePropertyValidator(properties).assertSuccess(),{Absolute:cdk().stringToCloudFormation(properties.absolute),Relative:cdk().stringToCloudFormation(properties.relative)}):properties}function CfnTemplateFontSizePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("absolute","Absolute",properties.Absolute!=null?cfn_parse().FromCloudFormation.getString(properties.Absolute):void 0),ret.addPropertyResult("relative","Relative",properties.Relative!=null?cfn_parse().FromCloudFormation.getString(properties.Relative):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFontWeightPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "FontWeightProperty"')}function convertCfnTemplateFontWeightPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFontWeightPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnTemplateFontWeightPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFontConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontColor",cdk().validateString)(properties.fontColor)),errors.collect(cdk().propertyValidator("fontDecoration",cdk().validateString)(properties.fontDecoration)),errors.collect(cdk().propertyValidator("fontFamily",cdk().validateString)(properties.fontFamily)),errors.collect(cdk().propertyValidator("fontSize",CfnTemplateFontSizePropertyValidator)(properties.fontSize)),errors.collect(cdk().propertyValidator("fontStyle",cdk().validateString)(properties.fontStyle)),errors.collect(cdk().propertyValidator("fontWeight",CfnTemplateFontWeightPropertyValidator)(properties.fontWeight)),errors.wrap('supplied properties not correct for "FontConfigurationProperty"')}function convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFontConfigurationPropertyValidator(properties).assertSuccess(),{FontColor:cdk().stringToCloudFormation(properties.fontColor),FontDecoration:cdk().stringToCloudFormation(properties.fontDecoration),FontFamily:cdk().stringToCloudFormation(properties.fontFamily),FontSize:convertCfnTemplateFontSizePropertyToCloudFormation(properties.fontSize),FontStyle:cdk().stringToCloudFormation(properties.fontStyle),FontWeight:convertCfnTemplateFontWeightPropertyToCloudFormation(properties.fontWeight)}):properties}function CfnTemplateFontConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontColor","FontColor",properties.FontColor!=null?cfn_parse().FromCloudFormation.getString(properties.FontColor):void 0),ret.addPropertyResult("fontDecoration","FontDecoration",properties.FontDecoration!=null?cfn_parse().FromCloudFormation.getString(properties.FontDecoration):void 0),ret.addPropertyResult("fontFamily","FontFamily",properties.FontFamily!=null?cfn_parse().FromCloudFormation.getString(properties.FontFamily):void 0),ret.addPropertyResult("fontSize","FontSize",properties.FontSize!=null?CfnTemplateFontSizePropertyFromCloudFormation(properties.FontSize):void 0),ret.addPropertyResult("fontStyle","FontStyle",properties.FontStyle!=null?cfn_parse().FromCloudFormation.getString(properties.FontStyle):void 0),ret.addPropertyResult("fontWeight","FontWeight",properties.FontWeight!=null?CfnTemplateFontWeightPropertyFromCloudFormation(properties.FontWeight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "LabelOptionsProperty"')}function convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLabelOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetControlInfoIconLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconText",cdk().validateString)(properties.infoIconText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SheetControlInfoIconLabelOptionsProperty"')}function convertCfnTemplateSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetControlInfoIconLabelOptionsPropertyValidator(properties).assertSuccess(),{InfoIconText:cdk().stringToCloudFormation(properties.infoIconText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconText","InfoIconText",properties.InfoIconText!=null?cfn_parse().FromCloudFormation.getString(properties.InfoIconText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSliderControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnTemplateSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnTemplateLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "SliderControlDisplayOptionsProperty"')}function convertCfnTemplateSliderControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSliderControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnTemplateSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),TitleOptions:convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnTemplateSliderControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnTemplateSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnTemplateLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultSliderControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateSliderControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("maximumValue",cdk().requiredValidator)(properties.maximumValue)),errors.collect(cdk().propertyValidator("maximumValue",cdk().validateNumber)(properties.maximumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().requiredValidator)(properties.minimumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().validateNumber)(properties.minimumValue)),errors.collect(cdk().propertyValidator("stepSize",cdk().requiredValidator)(properties.stepSize)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultSliderControlOptionsProperty"')}function convertCfnTemplateDefaultSliderControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultSliderControlOptionsPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnTemplateSliderControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),MaximumValue:cdk().numberToCloudFormation(properties.maximumValue),MinimumValue:cdk().numberToCloudFormation(properties.minimumValue),StepSize:cdk().numberToCloudFormation(properties.stepSize),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateDefaultSliderControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateSliderControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("maximumValue","MaximumValue",properties.MaximumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumValue):void 0),ret.addPropertyResult("minimumValue","MinimumValue",properties.MinimumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumValue):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRelativeDateTimeControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeFormat",cdk().validateString)(properties.dateTimeFormat)),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnTemplateSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnTemplateLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "RelativeDateTimeControlDisplayOptionsProperty"')}function convertCfnTemplateRelativeDateTimeControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRelativeDateTimeControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{DateTimeFormat:cdk().stringToCloudFormation(properties.dateTimeFormat),InfoIconLabelOptions:convertCfnTemplateSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),TitleOptions:convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnTemplateRelativeDateTimeControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeFormat","DateTimeFormat",properties.DateTimeFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateTimeFormat):void 0),ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnTemplateSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnTemplateLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultRelativeDateTimeControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateRelativeDateTimeControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.wrap('supplied properties not correct for "DefaultRelativeDateTimeControlOptionsProperty"')}function convertCfnTemplateDefaultRelativeDateTimeControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultRelativeDateTimeControlOptionsPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnTemplateRelativeDateTimeControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions)}):properties}function CfnTemplateDefaultRelativeDateTimeControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateRelativeDateTimeControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTextControlPlaceholderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "TextControlPlaceholderOptionsProperty"')}function convertCfnTemplateTextControlPlaceholderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTextControlPlaceholderOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateTextControlPlaceholderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTextFieldControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnTemplateSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("placeholderOptions",CfnTemplateTextControlPlaceholderOptionsPropertyValidator)(properties.placeholderOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnTemplateLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "TextFieldControlDisplayOptionsProperty"')}function convertCfnTemplateTextFieldControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTextFieldControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnTemplateSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),PlaceholderOptions:convertCfnTemplateTextControlPlaceholderOptionsPropertyToCloudFormation(properties.placeholderOptions),TitleOptions:convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnTemplateTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnTemplateSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("placeholderOptions","PlaceholderOptions",properties.PlaceholderOptions!=null?CfnTemplateTextControlPlaceholderOptionsPropertyFromCloudFormation(properties.PlaceholderOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnTemplateLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultTextFieldControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateTextFieldControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.wrap('supplied properties not correct for "DefaultTextFieldControlOptionsProperty"')}function convertCfnTemplateDefaultTextFieldControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultTextFieldControlOptionsPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnTemplateTextFieldControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions)}):properties}function CfnTemplateDefaultTextFieldControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTextAreaControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnTemplateSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("placeholderOptions",CfnTemplateTextControlPlaceholderOptionsPropertyValidator)(properties.placeholderOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnTemplateLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "TextAreaControlDisplayOptionsProperty"')}function convertCfnTemplateTextAreaControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTextAreaControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnTemplateSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),PlaceholderOptions:convertCfnTemplateTextControlPlaceholderOptionsPropertyToCloudFormation(properties.placeholderOptions),TitleOptions:convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnTemplateTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnTemplateSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("placeholderOptions","PlaceholderOptions",properties.PlaceholderOptions!=null?CfnTemplateTextControlPlaceholderOptionsPropertyFromCloudFormation(properties.PlaceholderOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnTemplateLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultTextAreaControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateTextAreaControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.wrap('supplied properties not correct for "DefaultTextAreaControlOptionsProperty"')}function convertCfnTemplateDefaultTextAreaControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultTextAreaControlOptionsPropertyValidator(properties).assertSuccess(),{Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisplayOptions:convertCfnTemplateTextAreaControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions)}):properties}function CfnTemplateDefaultTextAreaControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateListControlSelectAllOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ListControlSelectAllOptionsProperty"')}function convertCfnTemplateListControlSelectAllOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateListControlSelectAllOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateListControlSelectAllOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDropDownControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnTemplateSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("selectAllOptions",CfnTemplateListControlSelectAllOptionsPropertyValidator)(properties.selectAllOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnTemplateLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "DropDownControlDisplayOptionsProperty"')}function convertCfnTemplateDropDownControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDropDownControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnTemplateSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),SelectAllOptions:convertCfnTemplateListControlSelectAllOptionsPropertyToCloudFormation(properties.selectAllOptions),TitleOptions:convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnTemplateDropDownControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnTemplateSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?CfnTemplateListControlSelectAllOptionsPropertyFromCloudFormation(properties.SelectAllOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnTemplateLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterSelectableValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "FilterSelectableValuesProperty"')}function convertCfnTemplateFilterSelectableValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterSelectableValuesPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnTemplateFilterSelectableValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultFilterDropDownControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateDropDownControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("selectableValues",CfnTemplateFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultFilterDropDownControlOptionsProperty"')}function convertCfnTemplateDefaultFilterDropDownControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultFilterDropDownControlOptionsPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnTemplateDropDownControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),SelectableValues:convertCfnTemplateFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateDefaultFilterDropDownControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateDropDownControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnTemplateFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDateTimePickerControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateIconVisibility",cdk().validateString)(properties.dateIconVisibility)),errors.collect(cdk().propertyValidator("dateTimeFormat",cdk().validateString)(properties.dateTimeFormat)),errors.collect(cdk().propertyValidator("helperTextVisibility",cdk().validateString)(properties.helperTextVisibility)),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnTemplateSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnTemplateLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "DateTimePickerControlDisplayOptionsProperty"')}function convertCfnTemplateDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDateTimePickerControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{DateIconVisibility:cdk().stringToCloudFormation(properties.dateIconVisibility),DateTimeFormat:cdk().stringToCloudFormation(properties.dateTimeFormat),HelperTextVisibility:cdk().stringToCloudFormation(properties.helperTextVisibility),InfoIconLabelOptions:convertCfnTemplateSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),TitleOptions:convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnTemplateDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateIconVisibility","DateIconVisibility",properties.DateIconVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.DateIconVisibility):void 0),ret.addPropertyResult("dateTimeFormat","DateTimeFormat",properties.DateTimeFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateTimeFormat):void 0),ret.addPropertyResult("helperTextVisibility","HelperTextVisibility",properties.HelperTextVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.HelperTextVisibility):void 0),ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnTemplateSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnTemplateLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultDateTimePickerControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateDateTimePickerControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultDateTimePickerControlOptionsProperty"')}function convertCfnTemplateDefaultDateTimePickerControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultDateTimePickerControlOptionsPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnTemplateDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateDefaultDateTimePickerControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateListControlSearchOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ListControlSearchOptionsProperty"')}function convertCfnTemplateListControlSearchOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateListControlSearchOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateListControlSearchOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateListControlDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("infoIconLabelOptions",CfnTemplateSheetControlInfoIconLabelOptionsPropertyValidator)(properties.infoIconLabelOptions)),errors.collect(cdk().propertyValidator("searchOptions",CfnTemplateListControlSearchOptionsPropertyValidator)(properties.searchOptions)),errors.collect(cdk().propertyValidator("selectAllOptions",CfnTemplateListControlSelectAllOptionsPropertyValidator)(properties.selectAllOptions)),errors.collect(cdk().propertyValidator("titleOptions",CfnTemplateLabelOptionsPropertyValidator)(properties.titleOptions)),errors.wrap('supplied properties not correct for "ListControlDisplayOptionsProperty"')}function convertCfnTemplateListControlDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateListControlDisplayOptionsPropertyValidator(properties).assertSuccess(),{InfoIconLabelOptions:convertCfnTemplateSheetControlInfoIconLabelOptionsPropertyToCloudFormation(properties.infoIconLabelOptions),SearchOptions:convertCfnTemplateListControlSearchOptionsPropertyToCloudFormation(properties.searchOptions),SelectAllOptions:convertCfnTemplateListControlSelectAllOptionsPropertyToCloudFormation(properties.selectAllOptions),TitleOptions:convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties.titleOptions)}):properties}function CfnTemplateListControlDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("infoIconLabelOptions","InfoIconLabelOptions",properties.InfoIconLabelOptions!=null?CfnTemplateSheetControlInfoIconLabelOptionsPropertyFromCloudFormation(properties.InfoIconLabelOptions):void 0),ret.addPropertyResult("searchOptions","SearchOptions",properties.SearchOptions!=null?CfnTemplateListControlSearchOptionsPropertyFromCloudFormation(properties.SearchOptions):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?CfnTemplateListControlSelectAllOptionsPropertyFromCloudFormation(properties.SelectAllOptions):void 0),ret.addPropertyResult("titleOptions","TitleOptions",properties.TitleOptions!=null?CfnTemplateLabelOptionsPropertyFromCloudFormation(properties.TitleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultFilterListControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateListControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("selectableValues",CfnTemplateFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DefaultFilterListControlOptionsProperty"')}function convertCfnTemplateDefaultFilterListControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultFilterListControlOptionsPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnTemplateListControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),SelectableValues:convertCfnTemplateFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateDefaultFilterListControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateListControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnTemplateFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultFilterControlOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultDateTimePickerOptions",CfnTemplateDefaultDateTimePickerControlOptionsPropertyValidator)(properties.defaultDateTimePickerOptions)),errors.collect(cdk().propertyValidator("defaultDropdownOptions",CfnTemplateDefaultFilterDropDownControlOptionsPropertyValidator)(properties.defaultDropdownOptions)),errors.collect(cdk().propertyValidator("defaultListOptions",CfnTemplateDefaultFilterListControlOptionsPropertyValidator)(properties.defaultListOptions)),errors.collect(cdk().propertyValidator("defaultRelativeDateTimeOptions",CfnTemplateDefaultRelativeDateTimeControlOptionsPropertyValidator)(properties.defaultRelativeDateTimeOptions)),errors.collect(cdk().propertyValidator("defaultSliderOptions",CfnTemplateDefaultSliderControlOptionsPropertyValidator)(properties.defaultSliderOptions)),errors.collect(cdk().propertyValidator("defaultTextAreaOptions",CfnTemplateDefaultTextAreaControlOptionsPropertyValidator)(properties.defaultTextAreaOptions)),errors.collect(cdk().propertyValidator("defaultTextFieldOptions",CfnTemplateDefaultTextFieldControlOptionsPropertyValidator)(properties.defaultTextFieldOptions)),errors.wrap('supplied properties not correct for "DefaultFilterControlOptionsProperty"')}function convertCfnTemplateDefaultFilterControlOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultFilterControlOptionsPropertyValidator(properties).assertSuccess(),{DefaultDateTimePickerOptions:convertCfnTemplateDefaultDateTimePickerControlOptionsPropertyToCloudFormation(properties.defaultDateTimePickerOptions),DefaultDropdownOptions:convertCfnTemplateDefaultFilterDropDownControlOptionsPropertyToCloudFormation(properties.defaultDropdownOptions),DefaultListOptions:convertCfnTemplateDefaultFilterListControlOptionsPropertyToCloudFormation(properties.defaultListOptions),DefaultRelativeDateTimeOptions:convertCfnTemplateDefaultRelativeDateTimeControlOptionsPropertyToCloudFormation(properties.defaultRelativeDateTimeOptions),DefaultSliderOptions:convertCfnTemplateDefaultSliderControlOptionsPropertyToCloudFormation(properties.defaultSliderOptions),DefaultTextAreaOptions:convertCfnTemplateDefaultTextAreaControlOptionsPropertyToCloudFormation(properties.defaultTextAreaOptions),DefaultTextFieldOptions:convertCfnTemplateDefaultTextFieldControlOptionsPropertyToCloudFormation(properties.defaultTextFieldOptions)}):properties}function CfnTemplateDefaultFilterControlOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultDateTimePickerOptions","DefaultDateTimePickerOptions",properties.DefaultDateTimePickerOptions!=null?CfnTemplateDefaultDateTimePickerControlOptionsPropertyFromCloudFormation(properties.DefaultDateTimePickerOptions):void 0),ret.addPropertyResult("defaultDropdownOptions","DefaultDropdownOptions",properties.DefaultDropdownOptions!=null?CfnTemplateDefaultFilterDropDownControlOptionsPropertyFromCloudFormation(properties.DefaultDropdownOptions):void 0),ret.addPropertyResult("defaultListOptions","DefaultListOptions",properties.DefaultListOptions!=null?CfnTemplateDefaultFilterListControlOptionsPropertyFromCloudFormation(properties.DefaultListOptions):void 0),ret.addPropertyResult("defaultRelativeDateTimeOptions","DefaultRelativeDateTimeOptions",properties.DefaultRelativeDateTimeOptions!=null?CfnTemplateDefaultRelativeDateTimeControlOptionsPropertyFromCloudFormation(properties.DefaultRelativeDateTimeOptions):void 0),ret.addPropertyResult("defaultSliderOptions","DefaultSliderOptions",properties.DefaultSliderOptions!=null?CfnTemplateDefaultSliderControlOptionsPropertyFromCloudFormation(properties.DefaultSliderOptions):void 0),ret.addPropertyResult("defaultTextAreaOptions","DefaultTextAreaOptions",properties.DefaultTextAreaOptions!=null?CfnTemplateDefaultTextAreaControlOptionsPropertyFromCloudFormation(properties.DefaultTextAreaOptions):void 0),ret.addPropertyResult("defaultTextFieldOptions","DefaultTextFieldOptions",properties.DefaultTextFieldOptions!=null?CfnTemplateDefaultTextFieldControlOptionsPropertyFromCloudFormation(properties.DefaultTextFieldOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultFilterControlConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("controlOptions",cdk().requiredValidator)(properties.controlOptions)),errors.collect(cdk().propertyValidator("controlOptions",CfnTemplateDefaultFilterControlOptionsPropertyValidator)(properties.controlOptions)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "DefaultFilterControlConfigurationProperty"')}function convertCfnTemplateDefaultFilterControlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultFilterControlConfigurationPropertyValidator(properties).assertSuccess(),{ControlOptions:convertCfnTemplateDefaultFilterControlOptionsPropertyToCloudFormation(properties.controlOptions),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnTemplateDefaultFilterControlConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("controlOptions","ControlOptions",properties.ControlOptions!=null?CfnTemplateDefaultFilterControlOptionsPropertyFromCloudFormation(properties.ControlOptions):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericEqualityFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnTemplateAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnTemplateDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "NumericEqualityFilterProperty"')}function convertCfnTemplateNumericEqualityFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericEqualityFilterPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnTemplateAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnTemplateDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnTemplateNumericEqualityFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnTemplateAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnTemplateDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericRangeFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameter",cdk().validateString)(properties.parameter)),errors.collect(cdk().propertyValidator("staticValue",cdk().validateNumber)(properties.staticValue)),errors.wrap('supplied properties not correct for "NumericRangeFilterValueProperty"')}function convertCfnTemplateNumericRangeFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericRangeFilterValuePropertyValidator(properties).assertSuccess(),{Parameter:cdk().stringToCloudFormation(properties.parameter),StaticValue:cdk().numberToCloudFormation(properties.staticValue)}):properties}function CfnTemplateNumericRangeFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameter","Parameter",properties.Parameter!=null?cfn_parse().FromCloudFormation.getString(properties.Parameter):void 0),ret.addPropertyResult("staticValue","StaticValue",properties.StaticValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.StaticValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericRangeFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnTemplateAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnTemplateDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("includeMaximum",cdk().validateBoolean)(properties.includeMaximum)),errors.collect(cdk().propertyValidator("includeMinimum",cdk().validateBoolean)(properties.includeMinimum)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("rangeMaximum",CfnTemplateNumericRangeFilterValuePropertyValidator)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMinimum",CfnTemplateNumericRangeFilterValuePropertyValidator)(properties.rangeMinimum)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "NumericRangeFilterProperty"')}function convertCfnTemplateNumericRangeFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericRangeFilterPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnTemplateAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnTemplateDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),IncludeMaximum:cdk().booleanToCloudFormation(properties.includeMaximum),IncludeMinimum:cdk().booleanToCloudFormation(properties.includeMinimum),NullOption:cdk().stringToCloudFormation(properties.nullOption),RangeMaximum:convertCfnTemplateNumericRangeFilterValuePropertyToCloudFormation(properties.rangeMaximum),RangeMinimum:convertCfnTemplateNumericRangeFilterValuePropertyToCloudFormation(properties.rangeMinimum),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnTemplateNumericRangeFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnTemplateAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnTemplateDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("includeMaximum","IncludeMaximum",properties.IncludeMaximum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMaximum):void 0),ret.addPropertyResult("includeMinimum","IncludeMinimum",properties.IncludeMinimum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMinimum):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("rangeMaximum","RangeMaximum",properties.RangeMaximum!=null?CfnTemplateNumericRangeFilterValuePropertyFromCloudFormation(properties.RangeMaximum):void 0),ret.addPropertyResult("rangeMinimum","RangeMinimum",properties.RangeMinimum!=null?CfnTemplateNumericRangeFilterValuePropertyFromCloudFormation(properties.RangeMinimum):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRollingDateConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "RollingDateConfigurationProperty"')}function convertCfnTemplateRollingDateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRollingDateConfigurationPropertyValidator(properties).assertSuccess(),{DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnTemplateRollingDateConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTimeRangeFilterValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameter",cdk().validateString)(properties.parameter)),errors.collect(cdk().propertyValidator("rollingDate",CfnTemplateRollingDateConfigurationPropertyValidator)(properties.rollingDate)),errors.collect(cdk().propertyValidator("staticValue",cdk().validateString)(properties.staticValue)),errors.wrap('supplied properties not correct for "TimeRangeFilterValueProperty"')}function convertCfnTemplateTimeRangeFilterValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTimeRangeFilterValuePropertyValidator(properties).assertSuccess(),{Parameter:cdk().stringToCloudFormation(properties.parameter),RollingDate:convertCfnTemplateRollingDateConfigurationPropertyToCloudFormation(properties.rollingDate),StaticValue:cdk().stringToCloudFormation(properties.staticValue)}):properties}function CfnTemplateTimeRangeFilterValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameter","Parameter",properties.Parameter!=null?cfn_parse().FromCloudFormation.getString(properties.Parameter):void 0),ret.addPropertyResult("rollingDate","RollingDate",properties.RollingDate!=null?CfnTemplateRollingDateConfigurationPropertyFromCloudFormation(properties.RollingDate):void 0),ret.addPropertyResult("staticValue","StaticValue",properties.StaticValue!=null?cfn_parse().FromCloudFormation.getString(properties.StaticValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateExcludePeriodConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("amount",cdk().requiredValidator)(properties.amount)),errors.collect(cdk().propertyValidator("amount",cdk().validateNumber)(properties.amount)),errors.collect(cdk().propertyValidator("granularity",cdk().requiredValidator)(properties.granularity)),errors.collect(cdk().propertyValidator("granularity",cdk().validateString)(properties.granularity)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "ExcludePeriodConfigurationProperty"')}function convertCfnTemplateExcludePeriodConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateExcludePeriodConfigurationPropertyValidator(properties).assertSuccess(),{Amount:cdk().numberToCloudFormation(properties.amount),Granularity:cdk().stringToCloudFormation(properties.granularity),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnTemplateExcludePeriodConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("amount","Amount",properties.Amount!=null?cfn_parse().FromCloudFormation.getNumber(properties.Amount):void 0),ret.addPropertyResult("granularity","Granularity",properties.Granularity!=null?cfn_parse().FromCloudFormation.getString(properties.Granularity):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTimeRangeFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnTemplateDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("excludePeriodConfiguration",CfnTemplateExcludePeriodConfigurationPropertyValidator)(properties.excludePeriodConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("includeMaximum",cdk().validateBoolean)(properties.includeMaximum)),errors.collect(cdk().propertyValidator("includeMinimum",cdk().validateBoolean)(properties.includeMinimum)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("rangeMaximumValue",CfnTemplateTimeRangeFilterValuePropertyValidator)(properties.rangeMaximumValue)),errors.collect(cdk().propertyValidator("rangeMinimumValue",CfnTemplateTimeRangeFilterValuePropertyValidator)(properties.rangeMinimumValue)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TimeRangeFilterProperty"')}function convertCfnTemplateTimeRangeFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTimeRangeFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnTemplateDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),ExcludePeriodConfiguration:convertCfnTemplateExcludePeriodConfigurationPropertyToCloudFormation(properties.excludePeriodConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),IncludeMaximum:cdk().booleanToCloudFormation(properties.includeMaximum),IncludeMinimum:cdk().booleanToCloudFormation(properties.includeMinimum),NullOption:cdk().stringToCloudFormation(properties.nullOption),RangeMaximumValue:convertCfnTemplateTimeRangeFilterValuePropertyToCloudFormation(properties.rangeMaximumValue),RangeMinimumValue:convertCfnTemplateTimeRangeFilterValuePropertyToCloudFormation(properties.rangeMinimumValue),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnTemplateTimeRangeFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnTemplateDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("excludePeriodConfiguration","ExcludePeriodConfiguration",properties.ExcludePeriodConfiguration!=null?CfnTemplateExcludePeriodConfigurationPropertyFromCloudFormation(properties.ExcludePeriodConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("includeMaximum","IncludeMaximum",properties.IncludeMaximum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMaximum):void 0),ret.addPropertyResult("includeMinimum","IncludeMinimum",properties.IncludeMinimum!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeMinimum):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("rangeMaximumValue","RangeMaximumValue",properties.RangeMaximumValue!=null?CfnTemplateTimeRangeFilterValuePropertyFromCloudFormation(properties.RangeMaximumValue):void 0),ret.addPropertyResult("rangeMinimumValue","RangeMinimumValue",properties.RangeMinimumValue!=null?CfnTemplateTimeRangeFilterValuePropertyFromCloudFormation(properties.RangeMinimumValue):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAnchorDateConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("anchorOption",cdk().validateString)(properties.anchorOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.wrap('supplied properties not correct for "AnchorDateConfigurationProperty"')}function convertCfnTemplateAnchorDateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAnchorDateConfigurationPropertyValidator(properties).assertSuccess(),{AnchorOption:cdk().stringToCloudFormation(properties.anchorOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName)}):properties}function CfnTemplateAnchorDateConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("anchorOption","AnchorOption",properties.AnchorOption!=null?cfn_parse().FromCloudFormation.getString(properties.AnchorOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRelativeDatesFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("anchorDateConfiguration",cdk().requiredValidator)(properties.anchorDateConfiguration)),errors.collect(cdk().propertyValidator("anchorDateConfiguration",CfnTemplateAnchorDateConfigurationPropertyValidator)(properties.anchorDateConfiguration)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnTemplateDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("excludePeriodConfiguration",CfnTemplateExcludePeriodConfigurationPropertyValidator)(properties.excludePeriodConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("minimumGranularity",cdk().validateString)(properties.minimumGranularity)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("relativeDateType",cdk().requiredValidator)(properties.relativeDateType)),errors.collect(cdk().propertyValidator("relativeDateType",cdk().validateString)(properties.relativeDateType)),errors.collect(cdk().propertyValidator("relativeDateValue",cdk().validateNumber)(properties.relativeDateValue)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().requiredValidator)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "RelativeDatesFilterProperty"')}function convertCfnTemplateRelativeDatesFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRelativeDatesFilterPropertyValidator(properties).assertSuccess(),{AnchorDateConfiguration:convertCfnTemplateAnchorDateConfigurationPropertyToCloudFormation(properties.anchorDateConfiguration),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnTemplateDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),ExcludePeriodConfiguration:convertCfnTemplateExcludePeriodConfigurationPropertyToCloudFormation(properties.excludePeriodConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),MinimumGranularity:cdk().stringToCloudFormation(properties.minimumGranularity),NullOption:cdk().stringToCloudFormation(properties.nullOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName),RelativeDateType:cdk().stringToCloudFormation(properties.relativeDateType),RelativeDateValue:cdk().numberToCloudFormation(properties.relativeDateValue),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnTemplateRelativeDatesFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("anchorDateConfiguration","AnchorDateConfiguration",properties.AnchorDateConfiguration!=null?CfnTemplateAnchorDateConfigurationPropertyFromCloudFormation(properties.AnchorDateConfiguration):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnTemplateDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("excludePeriodConfiguration","ExcludePeriodConfiguration",properties.ExcludePeriodConfiguration!=null?CfnTemplateExcludePeriodConfigurationPropertyFromCloudFormation(properties.ExcludePeriodConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("minimumGranularity","MinimumGranularity",properties.MinimumGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.MinimumGranularity):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("relativeDateType","RelativeDateType",properties.RelativeDateType!=null?cfn_parse().FromCloudFormation.getString(properties.RelativeDateType):void 0),ret.addPropertyResult("relativeDateValue","RelativeDateValue",properties.RelativeDateValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.RelativeDateValue):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAggregationSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnTemplateAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("sortDirection",cdk().requiredValidator)(properties.sortDirection)),errors.collect(cdk().propertyValidator("sortDirection",cdk().validateString)(properties.sortDirection)),errors.wrap('supplied properties not correct for "AggregationSortConfigurationProperty"')}function convertCfnTemplateAggregationSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAggregationSortConfigurationPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnTemplateAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),SortDirection:cdk().stringToCloudFormation(properties.sortDirection)}):properties}function CfnTemplateAggregationSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnTemplateAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("sortDirection","SortDirection",properties.SortDirection!=null?cfn_parse().FromCloudFormation.getString(properties.SortDirection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTopBottomFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationSortConfigurations",cdk().requiredValidator)(properties.aggregationSortConfigurations)),errors.collect(cdk().propertyValidator("aggregationSortConfigurations",cdk().listValidator(CfnTemplateAggregationSortConfigurationPropertyValidator))(properties.aggregationSortConfigurations)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnTemplateDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("limit",cdk().validateNumber)(properties.limit)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TopBottomFilterProperty"')}function convertCfnTemplateTopBottomFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTopBottomFilterPropertyValidator(properties).assertSuccess(),{AggregationSortConfigurations:cdk().listMapper(convertCfnTemplateAggregationSortConfigurationPropertyToCloudFormation)(properties.aggregationSortConfigurations),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnTemplateDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),Limit:cdk().numberToCloudFormation(properties.limit),ParameterName:cdk().stringToCloudFormation(properties.parameterName),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnTemplateTopBottomFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationSortConfigurations","AggregationSortConfigurations",properties.AggregationSortConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateAggregationSortConfigurationPropertyFromCloudFormation)(properties.AggregationSortConfigurations):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnTemplateDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("limit","Limit",properties.Limit!=null?cfn_parse().FromCloudFormation.getNumber(properties.Limit):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTimeEqualityFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnTemplateDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("rollingDate",CfnTemplateRollingDateConfigurationPropertyValidator)(properties.rollingDate)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TimeEqualityFilterProperty"')}function convertCfnTemplateTimeEqualityFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTimeEqualityFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),DefaultFilterControlConfiguration:convertCfnTemplateDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId),ParameterName:cdk().stringToCloudFormation(properties.parameterName),RollingDate:convertCfnTemplateRollingDateConfigurationPropertyToCloudFormation(properties.rollingDate),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnTemplateTimeEqualityFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnTemplateDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("rollingDate","RollingDate",properties.RollingDate!=null?CfnTemplateRollingDateConfigurationPropertyFromCloudFormation(properties.RollingDate):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomFilterListConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValues",cdk().listValidator(cdk().validateString))(properties.categoryValues)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "CustomFilterListConfigurationProperty"')}function convertCfnTemplateCustomFilterListConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomFilterListConfigurationPropertyValidator(properties).assertSuccess(),{CategoryValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.categoryValues),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnTemplateCustomFilterListConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValues","CategoryValues",properties.CategoryValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CategoryValues):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomFilterConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValue",cdk().validateString)(properties.categoryValue)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().requiredValidator)(properties.nullOption)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "CustomFilterConfigurationProperty"')}function convertCfnTemplateCustomFilterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomFilterConfigurationPropertyValidator(properties).assertSuccess(),{CategoryValue:cdk().stringToCloudFormation(properties.categoryValue),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),ParameterName:cdk().stringToCloudFormation(properties.parameterName),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnTemplateCustomFilterConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValue","CategoryValue",properties.CategoryValue!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryValue):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterListConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValues",cdk().listValidator(cdk().validateString))(properties.categoryValues)),errors.collect(cdk().propertyValidator("matchOperator",cdk().requiredValidator)(properties.matchOperator)),errors.collect(cdk().propertyValidator("matchOperator",cdk().validateString)(properties.matchOperator)),errors.collect(cdk().propertyValidator("nullOption",cdk().validateString)(properties.nullOption)),errors.collect(cdk().propertyValidator("selectAllOptions",cdk().validateString)(properties.selectAllOptions)),errors.wrap('supplied properties not correct for "FilterListConfigurationProperty"')}function convertCfnTemplateFilterListConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterListConfigurationPropertyValidator(properties).assertSuccess(),{CategoryValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.categoryValues),MatchOperator:cdk().stringToCloudFormation(properties.matchOperator),NullOption:cdk().stringToCloudFormation(properties.nullOption),SelectAllOptions:cdk().stringToCloudFormation(properties.selectAllOptions)}):properties}function CfnTemplateFilterListConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValues","CategoryValues",properties.CategoryValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CategoryValues):void 0),ret.addPropertyResult("matchOperator","MatchOperator",properties.MatchOperator!=null?cfn_parse().FromCloudFormation.getString(properties.MatchOperator):void 0),ret.addPropertyResult("nullOption","NullOption",properties.NullOption!=null?cfn_parse().FromCloudFormation.getString(properties.NullOption):void 0),ret.addPropertyResult("selectAllOptions","SelectAllOptions",properties.SelectAllOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCategoryFilterConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customFilterConfiguration",CfnTemplateCustomFilterConfigurationPropertyValidator)(properties.customFilterConfiguration)),errors.collect(cdk().propertyValidator("customFilterListConfiguration",CfnTemplateCustomFilterListConfigurationPropertyValidator)(properties.customFilterListConfiguration)),errors.collect(cdk().propertyValidator("filterListConfiguration",CfnTemplateFilterListConfigurationPropertyValidator)(properties.filterListConfiguration)),errors.wrap('supplied properties not correct for "CategoryFilterConfigurationProperty"')}function convertCfnTemplateCategoryFilterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCategoryFilterConfigurationPropertyValidator(properties).assertSuccess(),{CustomFilterConfiguration:convertCfnTemplateCustomFilterConfigurationPropertyToCloudFormation(properties.customFilterConfiguration),CustomFilterListConfiguration:convertCfnTemplateCustomFilterListConfigurationPropertyToCloudFormation(properties.customFilterListConfiguration),FilterListConfiguration:convertCfnTemplateFilterListConfigurationPropertyToCloudFormation(properties.filterListConfiguration)}):properties}function CfnTemplateCategoryFilterConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customFilterConfiguration","CustomFilterConfiguration",properties.CustomFilterConfiguration!=null?CfnTemplateCustomFilterConfigurationPropertyFromCloudFormation(properties.CustomFilterConfiguration):void 0),ret.addPropertyResult("customFilterListConfiguration","CustomFilterListConfiguration",properties.CustomFilterListConfiguration!=null?CfnTemplateCustomFilterListConfigurationPropertyFromCloudFormation(properties.CustomFilterListConfiguration):void 0),ret.addPropertyResult("filterListConfiguration","FilterListConfiguration",properties.FilterListConfiguration!=null?CfnTemplateFilterListConfigurationPropertyFromCloudFormation(properties.FilterListConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCategoryFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnTemplateCategoryFilterConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnTemplateDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.wrap('supplied properties not correct for "CategoryFilterProperty"')}function convertCfnTemplateCategoryFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCategoryFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),Configuration:convertCfnTemplateCategoryFilterConfigurationPropertyToCloudFormation(properties.configuration),DefaultFilterControlConfiguration:convertCfnTemplateDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration),FilterId:cdk().stringToCloudFormation(properties.filterId)}):properties}function CfnTemplateCategoryFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnTemplateCategoryFilterConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnTemplateDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCategoryInnerFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnTemplateCategoryFilterConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("defaultFilterControlConfiguration",CfnTemplateDefaultFilterControlConfigurationPropertyValidator)(properties.defaultFilterControlConfiguration)),errors.wrap('supplied properties not correct for "CategoryInnerFilterProperty"')}function convertCfnTemplateCategoryInnerFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCategoryInnerFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),Configuration:convertCfnTemplateCategoryFilterConfigurationPropertyToCloudFormation(properties.configuration),DefaultFilterControlConfiguration:convertCfnTemplateDefaultFilterControlConfigurationPropertyToCloudFormation(properties.defaultFilterControlConfiguration)}):properties}function CfnTemplateCategoryInnerFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnTemplateCategoryFilterConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("defaultFilterControlConfiguration","DefaultFilterControlConfiguration",properties.DefaultFilterControlConfiguration!=null?CfnTemplateDefaultFilterControlConfigurationPropertyFromCloudFormation(properties.DefaultFilterControlConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateInnerFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryInnerFilter",CfnTemplateCategoryInnerFilterPropertyValidator)(properties.categoryInnerFilter)),errors.wrap('supplied properties not correct for "InnerFilterProperty"')}function convertCfnTemplateInnerFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateInnerFilterPropertyValidator(properties).assertSuccess(),{CategoryInnerFilter:convertCfnTemplateCategoryInnerFilterPropertyToCloudFormation(properties.categoryInnerFilter)}):properties}function CfnTemplateInnerFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryInnerFilter","CategoryInnerFilter",properties.CategoryInnerFilter!=null?CfnTemplateCategoryInnerFilterPropertyFromCloudFormation(properties.CategoryInnerFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNestedFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("filterId",cdk().requiredValidator)(properties.filterId)),errors.collect(cdk().propertyValidator("filterId",cdk().validateString)(properties.filterId)),errors.collect(cdk().propertyValidator("includeInnerSet",cdk().requiredValidator)(properties.includeInnerSet)),errors.collect(cdk().propertyValidator("includeInnerSet",cdk().validateBoolean)(properties.includeInnerSet)),errors.collect(cdk().propertyValidator("innerFilter",cdk().requiredValidator)(properties.innerFilter)),errors.collect(cdk().propertyValidator("innerFilter",CfnTemplateInnerFilterPropertyValidator)(properties.innerFilter)),errors.wrap('supplied properties not correct for "NestedFilterProperty"')}function convertCfnTemplateNestedFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNestedFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),FilterId:cdk().stringToCloudFormation(properties.filterId),IncludeInnerSet:cdk().booleanToCloudFormation(properties.includeInnerSet),InnerFilter:convertCfnTemplateInnerFilterPropertyToCloudFormation(properties.innerFilter)}):properties}function CfnTemplateNestedFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("filterId","FilterId",properties.FilterId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterId):void 0),ret.addPropertyResult("includeInnerSet","IncludeInnerSet",properties.IncludeInnerSet!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeInnerSet):void 0),ret.addPropertyResult("innerFilter","InnerFilter",properties.InnerFilter!=null?CfnTemplateInnerFilterPropertyFromCloudFormation(properties.InnerFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryFilter",CfnTemplateCategoryFilterPropertyValidator)(properties.categoryFilter)),errors.collect(cdk().propertyValidator("nestedFilter",CfnTemplateNestedFilterPropertyValidator)(properties.nestedFilter)),errors.collect(cdk().propertyValidator("numericEqualityFilter",CfnTemplateNumericEqualityFilterPropertyValidator)(properties.numericEqualityFilter)),errors.collect(cdk().propertyValidator("numericRangeFilter",CfnTemplateNumericRangeFilterPropertyValidator)(properties.numericRangeFilter)),errors.collect(cdk().propertyValidator("relativeDatesFilter",CfnTemplateRelativeDatesFilterPropertyValidator)(properties.relativeDatesFilter)),errors.collect(cdk().propertyValidator("timeEqualityFilter",CfnTemplateTimeEqualityFilterPropertyValidator)(properties.timeEqualityFilter)),errors.collect(cdk().propertyValidator("timeRangeFilter",CfnTemplateTimeRangeFilterPropertyValidator)(properties.timeRangeFilter)),errors.collect(cdk().propertyValidator("topBottomFilter",CfnTemplateTopBottomFilterPropertyValidator)(properties.topBottomFilter)),errors.wrap('supplied properties not correct for "FilterProperty"')}function convertCfnTemplateFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterPropertyValidator(properties).assertSuccess(),{CategoryFilter:convertCfnTemplateCategoryFilterPropertyToCloudFormation(properties.categoryFilter),NestedFilter:convertCfnTemplateNestedFilterPropertyToCloudFormation(properties.nestedFilter),NumericEqualityFilter:convertCfnTemplateNumericEqualityFilterPropertyToCloudFormation(properties.numericEqualityFilter),NumericRangeFilter:convertCfnTemplateNumericRangeFilterPropertyToCloudFormation(properties.numericRangeFilter),RelativeDatesFilter:convertCfnTemplateRelativeDatesFilterPropertyToCloudFormation(properties.relativeDatesFilter),TimeEqualityFilter:convertCfnTemplateTimeEqualityFilterPropertyToCloudFormation(properties.timeEqualityFilter),TimeRangeFilter:convertCfnTemplateTimeRangeFilterPropertyToCloudFormation(properties.timeRangeFilter),TopBottomFilter:convertCfnTemplateTopBottomFilterPropertyToCloudFormation(properties.topBottomFilter)}):properties}function CfnTemplateFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryFilter","CategoryFilter",properties.CategoryFilter!=null?CfnTemplateCategoryFilterPropertyFromCloudFormation(properties.CategoryFilter):void 0),ret.addPropertyResult("nestedFilter","NestedFilter",properties.NestedFilter!=null?CfnTemplateNestedFilterPropertyFromCloudFormation(properties.NestedFilter):void 0),ret.addPropertyResult("numericEqualityFilter","NumericEqualityFilter",properties.NumericEqualityFilter!=null?CfnTemplateNumericEqualityFilterPropertyFromCloudFormation(properties.NumericEqualityFilter):void 0),ret.addPropertyResult("numericRangeFilter","NumericRangeFilter",properties.NumericRangeFilter!=null?CfnTemplateNumericRangeFilterPropertyFromCloudFormation(properties.NumericRangeFilter):void 0),ret.addPropertyResult("relativeDatesFilter","RelativeDatesFilter",properties.RelativeDatesFilter!=null?CfnTemplateRelativeDatesFilterPropertyFromCloudFormation(properties.RelativeDatesFilter):void 0),ret.addPropertyResult("timeEqualityFilter","TimeEqualityFilter",properties.TimeEqualityFilter!=null?CfnTemplateTimeEqualityFilterPropertyFromCloudFormation(properties.TimeEqualityFilter):void 0),ret.addPropertyResult("timeRangeFilter","TimeRangeFilter",properties.TimeRangeFilter!=null?CfnTemplateTimeRangeFilterPropertyFromCloudFormation(properties.TimeRangeFilter):void 0),ret.addPropertyResult("topBottomFilter","TopBottomFilter",properties.TopBottomFilter!=null?CfnTemplateTopBottomFilterPropertyFromCloudFormation(properties.TopBottomFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetVisualScopingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scope",cdk().requiredValidator)(properties.scope)),errors.collect(cdk().propertyValidator("scope",cdk().validateString)(properties.scope)),errors.collect(cdk().propertyValidator("sheetId",cdk().requiredValidator)(properties.sheetId)),errors.collect(cdk().propertyValidator("sheetId",cdk().validateString)(properties.sheetId)),errors.collect(cdk().propertyValidator("visualIds",cdk().listValidator(cdk().validateString))(properties.visualIds)),errors.wrap('supplied properties not correct for "SheetVisualScopingConfigurationProperty"')}function convertCfnTemplateSheetVisualScopingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetVisualScopingConfigurationPropertyValidator(properties).assertSuccess(),{Scope:cdk().stringToCloudFormation(properties.scope),SheetId:cdk().stringToCloudFormation(properties.sheetId),VisualIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.visualIds)}):properties}function CfnTemplateSheetVisualScopingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scope","Scope",properties.Scope!=null?cfn_parse().FromCloudFormation.getString(properties.Scope):void 0),ret.addPropertyResult("sheetId","SheetId",properties.SheetId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetId):void 0),ret.addPropertyResult("visualIds","VisualIds",properties.VisualIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VisualIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSelectedSheetsFilterScopeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sheetVisualScopingConfigurations",cdk().listValidator(CfnTemplateSheetVisualScopingConfigurationPropertyValidator))(properties.sheetVisualScopingConfigurations)),errors.wrap('supplied properties not correct for "SelectedSheetsFilterScopeConfigurationProperty"')}function convertCfnTemplateSelectedSheetsFilterScopeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSelectedSheetsFilterScopeConfigurationPropertyValidator(properties).assertSuccess(),{SheetVisualScopingConfigurations:cdk().listMapper(convertCfnTemplateSheetVisualScopingConfigurationPropertyToCloudFormation)(properties.sheetVisualScopingConfigurations)}):properties}function CfnTemplateSelectedSheetsFilterScopeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sheetVisualScopingConfigurations","SheetVisualScopingConfigurations",properties.SheetVisualScopingConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateSheetVisualScopingConfigurationPropertyFromCloudFormation)(properties.SheetVisualScopingConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterScopeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allSheets",cdk().validateObject)(properties.allSheets)),errors.collect(cdk().propertyValidator("selectedSheets",CfnTemplateSelectedSheetsFilterScopeConfigurationPropertyValidator)(properties.selectedSheets)),errors.wrap('supplied properties not correct for "FilterScopeConfigurationProperty"')}function convertCfnTemplateFilterScopeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterScopeConfigurationPropertyValidator(properties).assertSuccess(),{AllSheets:cdk().objectToCloudFormation(properties.allSheets),SelectedSheets:convertCfnTemplateSelectedSheetsFilterScopeConfigurationPropertyToCloudFormation(properties.selectedSheets)}):properties}function CfnTemplateFilterScopeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allSheets","AllSheets",properties.AllSheets!=null?cfn_parse().FromCloudFormation.getAny(properties.AllSheets):void 0),ret.addPropertyResult("selectedSheets","SelectedSheets",properties.SelectedSheets!=null?CfnTemplateSelectedSheetsFilterScopeConfigurationPropertyFromCloudFormation(properties.SelectedSheets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterGroupPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossDataset",cdk().requiredValidator)(properties.crossDataset)),errors.collect(cdk().propertyValidator("crossDataset",cdk().validateString)(properties.crossDataset)),errors.collect(cdk().propertyValidator("filterGroupId",cdk().requiredValidator)(properties.filterGroupId)),errors.collect(cdk().propertyValidator("filterGroupId",cdk().validateString)(properties.filterGroupId)),errors.collect(cdk().propertyValidator("filters",cdk().requiredValidator)(properties.filters)),errors.collect(cdk().propertyValidator("filters",cdk().listValidator(CfnTemplateFilterPropertyValidator))(properties.filters)),errors.collect(cdk().propertyValidator("scopeConfiguration",cdk().requiredValidator)(properties.scopeConfiguration)),errors.collect(cdk().propertyValidator("scopeConfiguration",CfnTemplateFilterScopeConfigurationPropertyValidator)(properties.scopeConfiguration)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "FilterGroupProperty"')}function convertCfnTemplateFilterGroupPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterGroupPropertyValidator(properties).assertSuccess(),{CrossDataset:cdk().stringToCloudFormation(properties.crossDataset),FilterGroupId:cdk().stringToCloudFormation(properties.filterGroupId),Filters:cdk().listMapper(convertCfnTemplateFilterPropertyToCloudFormation)(properties.filters),ScopeConfiguration:convertCfnTemplateFilterScopeConfigurationPropertyToCloudFormation(properties.scopeConfiguration),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnTemplateFilterGroupPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossDataset","CrossDataset",properties.CrossDataset!=null?cfn_parse().FromCloudFormation.getString(properties.CrossDataset):void 0),ret.addPropertyResult("filterGroupId","FilterGroupId",properties.FilterGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterGroupId):void 0),ret.addPropertyResult("filters","Filters",properties.Filters!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFilterPropertyFromCloudFormation)(properties.Filters):void 0),ret.addPropertyResult("scopeConfiguration","ScopeConfiguration",properties.ScopeConfiguration!=null?CfnTemplateFilterScopeConfigurationPropertyFromCloudFormation(properties.ScopeConfiguration):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCalculatedFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "CalculatedFieldProperty"')}function convertCfnTemplateCalculatedFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCalculatedFieldPropertyValidator(properties).assertSuccess(),{DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Expression:cdk().stringToCloudFormation(properties.expression),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnTemplateCalculatedFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColumnSchemaPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataType",cdk().validateString)(properties.dataType)),errors.collect(cdk().propertyValidator("geographicRole",cdk().validateString)(properties.geographicRole)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "ColumnSchemaProperty"')}function convertCfnTemplateColumnSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColumnSchemaPropertyValidator(properties).assertSuccess(),{DataType:cdk().stringToCloudFormation(properties.dataType),GeographicRole:cdk().stringToCloudFormation(properties.geographicRole),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnTemplateColumnSchemaPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataType","DataType",properties.DataType!=null?cfn_parse().FromCloudFormation.getString(properties.DataType):void 0),ret.addPropertyResult("geographicRole","GeographicRole",properties.GeographicRole!=null?cfn_parse().FromCloudFormation.getString(properties.GeographicRole):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataSetSchemaPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnSchemaList",cdk().listValidator(CfnTemplateColumnSchemaPropertyValidator))(properties.columnSchemaList)),errors.wrap('supplied properties not correct for "DataSetSchemaProperty"')}function convertCfnTemplateDataSetSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataSetSchemaPropertyValidator(properties).assertSuccess(),{ColumnSchemaList:cdk().listMapper(convertCfnTemplateColumnSchemaPropertyToCloudFormation)(properties.columnSchemaList)}):properties}function CfnTemplateDataSetSchemaPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnSchemaList","ColumnSchemaList",properties.ColumnSchemaList!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnSchemaPropertyFromCloudFormation)(properties.ColumnSchemaList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColumnGroupColumnSchemaPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "ColumnGroupColumnSchemaProperty"')}function convertCfnTemplateColumnGroupColumnSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColumnGroupColumnSchemaPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnTemplateColumnGroupColumnSchemaPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColumnGroupSchemaPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnGroupColumnSchemaList",cdk().listValidator(CfnTemplateColumnGroupColumnSchemaPropertyValidator))(properties.columnGroupColumnSchemaList)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "ColumnGroupSchemaProperty"')}function convertCfnTemplateColumnGroupSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColumnGroupSchemaPropertyValidator(properties).assertSuccess(),{ColumnGroupColumnSchemaList:cdk().listMapper(convertCfnTemplateColumnGroupColumnSchemaPropertyToCloudFormation)(properties.columnGroupColumnSchemaList),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnTemplateColumnGroupSchemaPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnGroupColumnSchemaList","ColumnGroupColumnSchemaList",properties.ColumnGroupColumnSchemaList!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnGroupColumnSchemaPropertyFromCloudFormation)(properties.ColumnGroupColumnSchemaList):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataSetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnGroupSchemaList",cdk().listValidator(CfnTemplateColumnGroupSchemaPropertyValidator))(properties.columnGroupSchemaList)),errors.collect(cdk().propertyValidator("dataSetSchema",CfnTemplateDataSetSchemaPropertyValidator)(properties.dataSetSchema)),errors.collect(cdk().propertyValidator("placeholder",cdk().validateString)(properties.placeholder)),errors.wrap('supplied properties not correct for "DataSetConfigurationProperty"')}function convertCfnTemplateDataSetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataSetConfigurationPropertyValidator(properties).assertSuccess(),{ColumnGroupSchemaList:cdk().listMapper(convertCfnTemplateColumnGroupSchemaPropertyToCloudFormation)(properties.columnGroupSchemaList),DataSetSchema:convertCfnTemplateDataSetSchemaPropertyToCloudFormation(properties.dataSetSchema),Placeholder:cdk().stringToCloudFormation(properties.placeholder)}):properties}function CfnTemplateDataSetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnGroupSchemaList","ColumnGroupSchemaList",properties.ColumnGroupSchemaList!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnGroupSchemaPropertyFromCloudFormation)(properties.ColumnGroupSchemaList):void 0),ret.addPropertyResult("dataSetSchema","DataSetSchema",properties.DataSetSchema!=null?CfnTemplateDataSetSchemaPropertyFromCloudFormation(properties.DataSetSchema):void 0),ret.addPropertyResult("placeholder","Placeholder",properties.Placeholder!=null?cfn_parse().FromCloudFormation.getString(properties.Placeholder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNegativeValueConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayMode",cdk().requiredValidator)(properties.displayMode)),errors.collect(cdk().propertyValidator("displayMode",cdk().validateString)(properties.displayMode)),errors.wrap('supplied properties not correct for "NegativeValueConfigurationProperty"')}function convertCfnTemplateNegativeValueConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNegativeValueConfigurationPropertyValidator(properties).assertSuccess(),{DisplayMode:cdk().stringToCloudFormation(properties.displayMode)}):properties}function CfnTemplateNegativeValueConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayMode","DisplayMode",properties.DisplayMode!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDecimalPlacesConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlaces",cdk().requiredValidator)(properties.decimalPlaces)),errors.collect(cdk().propertyValidator("decimalPlaces",cdk().validateNumber)(properties.decimalPlaces)),errors.wrap('supplied properties not correct for "DecimalPlacesConfigurationProperty"')}function convertCfnTemplateDecimalPlacesConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDecimalPlacesConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlaces:cdk().numberToCloudFormation(properties.decimalPlaces)}):properties}function CfnTemplateDecimalPlacesConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlaces","DecimalPlaces",properties.DecimalPlaces!=null?cfn_parse().FromCloudFormation.getNumber(properties.DecimalPlaces):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNullValueFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("nullString",cdk().requiredValidator)(properties.nullString)),errors.collect(cdk().propertyValidator("nullString",cdk().validateString)(properties.nullString)),errors.wrap('supplied properties not correct for "NullValueFormatConfigurationProperty"')}function convertCfnTemplateNullValueFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNullValueFormatConfigurationPropertyValidator(properties).assertSuccess(),{NullString:cdk().stringToCloudFormation(properties.nullString)}):properties}function CfnTemplateNullValueFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("nullString","NullString",properties.NullString!=null?cfn_parse().FromCloudFormation.getString(properties.NullString):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateThousandSeparatorOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupingStyle",cdk().validateString)(properties.groupingStyle)),errors.collect(cdk().propertyValidator("symbol",cdk().validateString)(properties.symbol)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ThousandSeparatorOptionsProperty"')}function convertCfnTemplateThousandSeparatorOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateThousandSeparatorOptionsPropertyValidator(properties).assertSuccess(),{GroupingStyle:cdk().stringToCloudFormation(properties.groupingStyle),Symbol:cdk().stringToCloudFormation(properties.symbol),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateThousandSeparatorOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupingStyle","GroupingStyle",properties.GroupingStyle!=null?cfn_parse().FromCloudFormation.getString(properties.GroupingStyle):void 0),ret.addPropertyResult("symbol","Symbol",properties.Symbol!=null?cfn_parse().FromCloudFormation.getString(properties.Symbol):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericSeparatorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalSeparator",cdk().validateString)(properties.decimalSeparator)),errors.collect(cdk().propertyValidator("thousandsSeparator",CfnTemplateThousandSeparatorOptionsPropertyValidator)(properties.thousandsSeparator)),errors.wrap('supplied properties not correct for "NumericSeparatorConfigurationProperty"')}function convertCfnTemplateNumericSeparatorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericSeparatorConfigurationPropertyValidator(properties).assertSuccess(),{DecimalSeparator:cdk().stringToCloudFormation(properties.decimalSeparator),ThousandsSeparator:convertCfnTemplateThousandSeparatorOptionsPropertyToCloudFormation(properties.thousandsSeparator)}):properties}function CfnTemplateNumericSeparatorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalSeparator","DecimalSeparator",properties.DecimalSeparator!=null?cfn_parse().FromCloudFormation.getString(properties.DecimalSeparator):void 0),ret.addPropertyResult("thousandsSeparator","ThousandsSeparator",properties.ThousandsSeparator!=null?CfnTemplateThousandSeparatorOptionsPropertyFromCloudFormation(properties.ThousandsSeparator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumberDisplayFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlacesConfiguration",CfnTemplateDecimalPlacesConfigurationPropertyValidator)(properties.decimalPlacesConfiguration)),errors.collect(cdk().propertyValidator("negativeValueConfiguration",CfnTemplateNegativeValueConfigurationPropertyValidator)(properties.negativeValueConfiguration)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnTemplateNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numberScale",cdk().validateString)(properties.numberScale)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("separatorConfiguration",CfnTemplateNumericSeparatorConfigurationPropertyValidator)(properties.separatorConfiguration)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "NumberDisplayFormatConfigurationProperty"')}function convertCfnTemplateNumberDisplayFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumberDisplayFormatConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlacesConfiguration:convertCfnTemplateDecimalPlacesConfigurationPropertyToCloudFormation(properties.decimalPlacesConfiguration),NegativeValueConfiguration:convertCfnTemplateNegativeValueConfigurationPropertyToCloudFormation(properties.negativeValueConfiguration),NullValueFormatConfiguration:convertCfnTemplateNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumberScale:cdk().stringToCloudFormation(properties.numberScale),Prefix:cdk().stringToCloudFormation(properties.prefix),SeparatorConfiguration:convertCfnTemplateNumericSeparatorConfigurationPropertyToCloudFormation(properties.separatorConfiguration),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnTemplateNumberDisplayFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlacesConfiguration","DecimalPlacesConfiguration",properties.DecimalPlacesConfiguration!=null?CfnTemplateDecimalPlacesConfigurationPropertyFromCloudFormation(properties.DecimalPlacesConfiguration):void 0),ret.addPropertyResult("negativeValueConfiguration","NegativeValueConfiguration",properties.NegativeValueConfiguration!=null?CfnTemplateNegativeValueConfigurationPropertyFromCloudFormation(properties.NegativeValueConfiguration):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnTemplateNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numberScale","NumberScale",properties.NumberScale!=null?cfn_parse().FromCloudFormation.getString(properties.NumberScale):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("separatorConfiguration","SeparatorConfiguration",properties.SeparatorConfiguration!=null?CfnTemplateNumericSeparatorConfigurationPropertyFromCloudFormation(properties.SeparatorConfiguration):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCurrencyDisplayFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlacesConfiguration",CfnTemplateDecimalPlacesConfigurationPropertyValidator)(properties.decimalPlacesConfiguration)),errors.collect(cdk().propertyValidator("negativeValueConfiguration",CfnTemplateNegativeValueConfigurationPropertyValidator)(properties.negativeValueConfiguration)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnTemplateNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numberScale",cdk().validateString)(properties.numberScale)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("separatorConfiguration",CfnTemplateNumericSeparatorConfigurationPropertyValidator)(properties.separatorConfiguration)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.collect(cdk().propertyValidator("symbol",cdk().validateString)(properties.symbol)),errors.wrap('supplied properties not correct for "CurrencyDisplayFormatConfigurationProperty"')}function convertCfnTemplateCurrencyDisplayFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCurrencyDisplayFormatConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlacesConfiguration:convertCfnTemplateDecimalPlacesConfigurationPropertyToCloudFormation(properties.decimalPlacesConfiguration),NegativeValueConfiguration:convertCfnTemplateNegativeValueConfigurationPropertyToCloudFormation(properties.negativeValueConfiguration),NullValueFormatConfiguration:convertCfnTemplateNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumberScale:cdk().stringToCloudFormation(properties.numberScale),Prefix:cdk().stringToCloudFormation(properties.prefix),SeparatorConfiguration:convertCfnTemplateNumericSeparatorConfigurationPropertyToCloudFormation(properties.separatorConfiguration),Suffix:cdk().stringToCloudFormation(properties.suffix),Symbol:cdk().stringToCloudFormation(properties.symbol)}):properties}function CfnTemplateCurrencyDisplayFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlacesConfiguration","DecimalPlacesConfiguration",properties.DecimalPlacesConfiguration!=null?CfnTemplateDecimalPlacesConfigurationPropertyFromCloudFormation(properties.DecimalPlacesConfiguration):void 0),ret.addPropertyResult("negativeValueConfiguration","NegativeValueConfiguration",properties.NegativeValueConfiguration!=null?CfnTemplateNegativeValueConfigurationPropertyFromCloudFormation(properties.NegativeValueConfiguration):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnTemplateNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numberScale","NumberScale",properties.NumberScale!=null?cfn_parse().FromCloudFormation.getString(properties.NumberScale):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("separatorConfiguration","SeparatorConfiguration",properties.SeparatorConfiguration!=null?CfnTemplateNumericSeparatorConfigurationPropertyFromCloudFormation(properties.SeparatorConfiguration):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addPropertyResult("symbol","Symbol",properties.Symbol!=null?cfn_parse().FromCloudFormation.getString(properties.Symbol):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePercentageDisplayFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("decimalPlacesConfiguration",CfnTemplateDecimalPlacesConfigurationPropertyValidator)(properties.decimalPlacesConfiguration)),errors.collect(cdk().propertyValidator("negativeValueConfiguration",CfnTemplateNegativeValueConfigurationPropertyValidator)(properties.negativeValueConfiguration)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnTemplateNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("separatorConfiguration",CfnTemplateNumericSeparatorConfigurationPropertyValidator)(properties.separatorConfiguration)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "PercentageDisplayFormatConfigurationProperty"')}function convertCfnTemplatePercentageDisplayFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePercentageDisplayFormatConfigurationPropertyValidator(properties).assertSuccess(),{DecimalPlacesConfiguration:convertCfnTemplateDecimalPlacesConfigurationPropertyToCloudFormation(properties.decimalPlacesConfiguration),NegativeValueConfiguration:convertCfnTemplateNegativeValueConfigurationPropertyToCloudFormation(properties.negativeValueConfiguration),NullValueFormatConfiguration:convertCfnTemplateNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),Prefix:cdk().stringToCloudFormation(properties.prefix),SeparatorConfiguration:convertCfnTemplateNumericSeparatorConfigurationPropertyToCloudFormation(properties.separatorConfiguration),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnTemplatePercentageDisplayFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("decimalPlacesConfiguration","DecimalPlacesConfiguration",properties.DecimalPlacesConfiguration!=null?CfnTemplateDecimalPlacesConfigurationPropertyFromCloudFormation(properties.DecimalPlacesConfiguration):void 0),ret.addPropertyResult("negativeValueConfiguration","NegativeValueConfiguration",properties.NegativeValueConfiguration!=null?CfnTemplateNegativeValueConfigurationPropertyFromCloudFormation(properties.NegativeValueConfiguration):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnTemplateNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("separatorConfiguration","SeparatorConfiguration",properties.SeparatorConfiguration!=null?CfnTemplateNumericSeparatorConfigurationPropertyFromCloudFormation(properties.SeparatorConfiguration):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("currencyDisplayFormatConfiguration",CfnTemplateCurrencyDisplayFormatConfigurationPropertyValidator)(properties.currencyDisplayFormatConfiguration)),errors.collect(cdk().propertyValidator("numberDisplayFormatConfiguration",CfnTemplateNumberDisplayFormatConfigurationPropertyValidator)(properties.numberDisplayFormatConfiguration)),errors.collect(cdk().propertyValidator("percentageDisplayFormatConfiguration",CfnTemplatePercentageDisplayFormatConfigurationPropertyValidator)(properties.percentageDisplayFormatConfiguration)),errors.wrap('supplied properties not correct for "NumericFormatConfigurationProperty"')}function convertCfnTemplateNumericFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericFormatConfigurationPropertyValidator(properties).assertSuccess(),{CurrencyDisplayFormatConfiguration:convertCfnTemplateCurrencyDisplayFormatConfigurationPropertyToCloudFormation(properties.currencyDisplayFormatConfiguration),NumberDisplayFormatConfiguration:convertCfnTemplateNumberDisplayFormatConfigurationPropertyToCloudFormation(properties.numberDisplayFormatConfiguration),PercentageDisplayFormatConfiguration:convertCfnTemplatePercentageDisplayFormatConfigurationPropertyToCloudFormation(properties.percentageDisplayFormatConfiguration)}):properties}function CfnTemplateNumericFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("currencyDisplayFormatConfiguration","CurrencyDisplayFormatConfiguration",properties.CurrencyDisplayFormatConfiguration!=null?CfnTemplateCurrencyDisplayFormatConfigurationPropertyFromCloudFormation(properties.CurrencyDisplayFormatConfiguration):void 0),ret.addPropertyResult("numberDisplayFormatConfiguration","NumberDisplayFormatConfiguration",properties.NumberDisplayFormatConfiguration!=null?CfnTemplateNumberDisplayFormatConfigurationPropertyFromCloudFormation(properties.NumberDisplayFormatConfiguration):void 0),ret.addPropertyResult("percentageDisplayFormatConfiguration","PercentageDisplayFormatConfiguration",properties.PercentageDisplayFormatConfiguration!=null?CfnTemplatePercentageDisplayFormatConfigurationPropertyFromCloudFormation(properties.PercentageDisplayFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumberFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateNumericFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "NumberFormatConfigurationProperty"')}function convertCfnTemplateNumberFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumberFormatConfigurationPropertyValidator(properties).assertSuccess(),{FormatConfiguration:convertCfnTemplateNumericFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnTemplateNumberFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateNumericFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDateTimeFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeFormat",cdk().validateString)(properties.dateTimeFormat)),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnTemplateNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numericFormatConfiguration",CfnTemplateNumericFormatConfigurationPropertyValidator)(properties.numericFormatConfiguration)),errors.wrap('supplied properties not correct for "DateTimeFormatConfigurationProperty"')}function convertCfnTemplateDateTimeFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDateTimeFormatConfigurationPropertyValidator(properties).assertSuccess(),{DateTimeFormat:cdk().stringToCloudFormation(properties.dateTimeFormat),NullValueFormatConfiguration:convertCfnTemplateNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumericFormatConfiguration:convertCfnTemplateNumericFormatConfigurationPropertyToCloudFormation(properties.numericFormatConfiguration)}):properties}function CfnTemplateDateTimeFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeFormat","DateTimeFormat",properties.DateTimeFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateTimeFormat):void 0),ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnTemplateNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numericFormatConfiguration","NumericFormatConfiguration",properties.NumericFormatConfiguration!=null?CfnTemplateNumericFormatConfigurationPropertyFromCloudFormation(properties.NumericFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateStringFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("nullValueFormatConfiguration",CfnTemplateNullValueFormatConfigurationPropertyValidator)(properties.nullValueFormatConfiguration)),errors.collect(cdk().propertyValidator("numericFormatConfiguration",CfnTemplateNumericFormatConfigurationPropertyValidator)(properties.numericFormatConfiguration)),errors.wrap('supplied properties not correct for "StringFormatConfigurationProperty"')}function convertCfnTemplateStringFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateStringFormatConfigurationPropertyValidator(properties).assertSuccess(),{NullValueFormatConfiguration:convertCfnTemplateNullValueFormatConfigurationPropertyToCloudFormation(properties.nullValueFormatConfiguration),NumericFormatConfiguration:convertCfnTemplateNumericFormatConfigurationPropertyToCloudFormation(properties.numericFormatConfiguration)}):properties}function CfnTemplateStringFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("nullValueFormatConfiguration","NullValueFormatConfiguration",properties.NullValueFormatConfiguration!=null?CfnTemplateNullValueFormatConfigurationPropertyFromCloudFormation(properties.NullValueFormatConfiguration):void 0),ret.addPropertyResult("numericFormatConfiguration","NumericFormatConfiguration",properties.NumericFormatConfiguration!=null?CfnTemplateNumericFormatConfigurationPropertyFromCloudFormation(properties.NumericFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeFormatConfiguration",CfnTemplateDateTimeFormatConfigurationPropertyValidator)(properties.dateTimeFormatConfiguration)),errors.collect(cdk().propertyValidator("numberFormatConfiguration",CfnTemplateNumberFormatConfigurationPropertyValidator)(properties.numberFormatConfiguration)),errors.collect(cdk().propertyValidator("stringFormatConfiguration",CfnTemplateStringFormatConfigurationPropertyValidator)(properties.stringFormatConfiguration)),errors.wrap('supplied properties not correct for "FormatConfigurationProperty"')}function convertCfnTemplateFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFormatConfigurationPropertyValidator(properties).assertSuccess(),{DateTimeFormatConfiguration:convertCfnTemplateDateTimeFormatConfigurationPropertyToCloudFormation(properties.dateTimeFormatConfiguration),NumberFormatConfiguration:convertCfnTemplateNumberFormatConfigurationPropertyToCloudFormation(properties.numberFormatConfiguration),StringFormatConfiguration:convertCfnTemplateStringFormatConfigurationPropertyToCloudFormation(properties.stringFormatConfiguration)}):properties}function CfnTemplateFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeFormatConfiguration","DateTimeFormatConfiguration",properties.DateTimeFormatConfiguration!=null?CfnTemplateDateTimeFormatConfigurationPropertyFromCloudFormation(properties.DateTimeFormatConfiguration):void 0),ret.addPropertyResult("numberFormatConfiguration","NumberFormatConfiguration",properties.NumberFormatConfiguration!=null?CfnTemplateNumberFormatConfigurationPropertyFromCloudFormation(properties.NumberFormatConfiguration):void 0),ret.addPropertyResult("stringFormatConfiguration","StringFormatConfiguration",properties.StringFormatConfiguration!=null?CfnTemplateStringFormatConfigurationPropertyFromCloudFormation(properties.StringFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.collect(cdk().propertyValidator("specialValue",cdk().validateString)(properties.specialValue)),errors.wrap('supplied properties not correct for "CustomColorProperty"')}function convertCfnTemplateCustomColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),FieldValue:cdk().stringToCloudFormation(properties.fieldValue),SpecialValue:cdk().stringToCloudFormation(properties.specialValue)}):properties}function CfnTemplateCustomColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addPropertyResult("specialValue","SpecialValue",properties.SpecialValue!=null?cfn_parse().FromCloudFormation.getString(properties.SpecialValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColorsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customColors",cdk().listValidator(CfnTemplateCustomColorPropertyValidator))(properties.customColors)),errors.wrap('supplied properties not correct for "ColorsConfigurationProperty"')}function convertCfnTemplateColorsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColorsConfigurationPropertyValidator(properties).assertSuccess(),{CustomColors:cdk().listMapper(convertCfnTemplateCustomColorPropertyToCloudFormation)(properties.customColors)}):properties}function CfnTemplateColorsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customColors","CustomColors",properties.CustomColors!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateCustomColorPropertyFromCloudFormation)(properties.CustomColors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColumnConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorsConfiguration",CfnTemplateColorsConfigurationPropertyValidator)(properties.colorsConfiguration)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "ColumnConfigurationProperty"')}function convertCfnTemplateColumnConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColumnConfigurationPropertyValidator(properties).assertSuccess(),{ColorsConfiguration:convertCfnTemplateColorsConfigurationPropertyToCloudFormation(properties.colorsConfiguration),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),FormatConfiguration:convertCfnTemplateFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnTemplateColumnConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorsConfiguration","ColorsConfiguration",properties.ColorsConfiguration!=null?CfnTemplateColorsConfigurationPropertyFromCloudFormation(properties.ColorsConfiguration):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFreeFormLayoutScreenCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("optimizedViewPortWidth",cdk().requiredValidator)(properties.optimizedViewPortWidth)),errors.collect(cdk().propertyValidator("optimizedViewPortWidth",cdk().validateString)(properties.optimizedViewPortWidth)),errors.wrap('supplied properties not correct for "FreeFormLayoutScreenCanvasSizeOptionsProperty"')}function convertCfnTemplateFreeFormLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFreeFormLayoutScreenCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{OptimizedViewPortWidth:cdk().stringToCloudFormation(properties.optimizedViewPortWidth)}):properties}function CfnTemplateFreeFormLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("optimizedViewPortWidth","OptimizedViewPortWidth",properties.OptimizedViewPortWidth!=null?cfn_parse().FromCloudFormation.getString(properties.OptimizedViewPortWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("screenCanvasSizeOptions",CfnTemplateFreeFormLayoutScreenCanvasSizeOptionsPropertyValidator)(properties.screenCanvasSizeOptions)),errors.wrap('supplied properties not correct for "FreeFormLayoutCanvasSizeOptionsProperty"')}function convertCfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{ScreenCanvasSizeOptions:convertCfnTemplateFreeFormLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties.screenCanvasSizeOptions)}):properties}function CfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("screenCanvasSizeOptions","ScreenCanvasSizeOptions",properties.ScreenCanvasSizeOptions!=null?CfnTemplateFreeFormLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties.ScreenCanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultFreeFormLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.wrap('supplied properties not correct for "DefaultFreeFormLayoutConfigurationProperty"')}function convertCfnTemplateDefaultFreeFormLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultFreeFormLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions)}):properties}function CfnTemplateDefaultFreeFormLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGridLayoutScreenCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("optimizedViewPortWidth",cdk().validateString)(properties.optimizedViewPortWidth)),errors.collect(cdk().propertyValidator("resizeOption",cdk().requiredValidator)(properties.resizeOption)),errors.collect(cdk().propertyValidator("resizeOption",cdk().validateString)(properties.resizeOption)),errors.wrap('supplied properties not correct for "GridLayoutScreenCanvasSizeOptionsProperty"')}function convertCfnTemplateGridLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGridLayoutScreenCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{OptimizedViewPortWidth:cdk().stringToCloudFormation(properties.optimizedViewPortWidth),ResizeOption:cdk().stringToCloudFormation(properties.resizeOption)}):properties}function CfnTemplateGridLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("optimizedViewPortWidth","OptimizedViewPortWidth",properties.OptimizedViewPortWidth!=null?cfn_parse().FromCloudFormation.getString(properties.OptimizedViewPortWidth):void 0),ret.addPropertyResult("resizeOption","ResizeOption",properties.ResizeOption!=null?cfn_parse().FromCloudFormation.getString(properties.ResizeOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGridLayoutCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("screenCanvasSizeOptions",CfnTemplateGridLayoutScreenCanvasSizeOptionsPropertyValidator)(properties.screenCanvasSizeOptions)),errors.wrap('supplied properties not correct for "GridLayoutCanvasSizeOptionsProperty"')}function convertCfnTemplateGridLayoutCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGridLayoutCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{ScreenCanvasSizeOptions:convertCfnTemplateGridLayoutScreenCanvasSizeOptionsPropertyToCloudFormation(properties.screenCanvasSizeOptions)}):properties}function CfnTemplateGridLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("screenCanvasSizeOptions","ScreenCanvasSizeOptions",properties.ScreenCanvasSizeOptions!=null?CfnTemplateGridLayoutScreenCanvasSizeOptionsPropertyFromCloudFormation(properties.ScreenCanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultGridLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnTemplateGridLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.wrap('supplied properties not correct for "DefaultGridLayoutConfigurationProperty"')}function convertCfnTemplateDefaultGridLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultGridLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnTemplateGridLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions)}):properties}function CfnTemplateDefaultGridLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnTemplateGridLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultInteractiveLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("freeForm",CfnTemplateDefaultFreeFormLayoutConfigurationPropertyValidator)(properties.freeForm)),errors.collect(cdk().propertyValidator("grid",CfnTemplateDefaultGridLayoutConfigurationPropertyValidator)(properties.grid)),errors.wrap('supplied properties not correct for "DefaultInteractiveLayoutConfigurationProperty"')}function convertCfnTemplateDefaultInteractiveLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultInteractiveLayoutConfigurationPropertyValidator(properties).assertSuccess(),{FreeForm:convertCfnTemplateDefaultFreeFormLayoutConfigurationPropertyToCloudFormation(properties.freeForm),Grid:convertCfnTemplateDefaultGridLayoutConfigurationPropertyToCloudFormation(properties.grid)}):properties}function CfnTemplateDefaultInteractiveLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("freeForm","FreeForm",properties.FreeForm!=null?CfnTemplateDefaultFreeFormLayoutConfigurationPropertyFromCloudFormation(properties.FreeForm):void 0),ret.addPropertyResult("grid","Grid",properties.Grid!=null?CfnTemplateDefaultGridLayoutConfigurationPropertyFromCloudFormation(properties.Grid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSpacingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bottom",cdk().validateString)(properties.bottom)),errors.collect(cdk().propertyValidator("left",cdk().validateString)(properties.left)),errors.collect(cdk().propertyValidator("right",cdk().validateString)(properties.right)),errors.collect(cdk().propertyValidator("top",cdk().validateString)(properties.top)),errors.wrap('supplied properties not correct for "SpacingProperty"')}function convertCfnTemplateSpacingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSpacingPropertyValidator(properties).assertSuccess(),{Bottom:cdk().stringToCloudFormation(properties.bottom),Left:cdk().stringToCloudFormation(properties.left),Right:cdk().stringToCloudFormation(properties.right),Top:cdk().stringToCloudFormation(properties.top)}):properties}function CfnTemplateSpacingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bottom","Bottom",properties.Bottom!=null?cfn_parse().FromCloudFormation.getString(properties.Bottom):void 0),ret.addPropertyResult("left","Left",properties.Left!=null?cfn_parse().FromCloudFormation.getString(properties.Left):void 0),ret.addPropertyResult("right","Right",properties.Right!=null?cfn_parse().FromCloudFormation.getString(properties.Right):void 0),ret.addPropertyResult("top","Top",properties.Top!=null?cfn_parse().FromCloudFormation.getString(properties.Top):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSectionBasedLayoutPaperCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("paperMargin",CfnTemplateSpacingPropertyValidator)(properties.paperMargin)),errors.collect(cdk().propertyValidator("paperOrientation",cdk().validateString)(properties.paperOrientation)),errors.collect(cdk().propertyValidator("paperSize",cdk().validateString)(properties.paperSize)),errors.wrap('supplied properties not correct for "SectionBasedLayoutPaperCanvasSizeOptionsProperty"')}function convertCfnTemplateSectionBasedLayoutPaperCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSectionBasedLayoutPaperCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{PaperMargin:convertCfnTemplateSpacingPropertyToCloudFormation(properties.paperMargin),PaperOrientation:cdk().stringToCloudFormation(properties.paperOrientation),PaperSize:cdk().stringToCloudFormation(properties.paperSize)}):properties}function CfnTemplateSectionBasedLayoutPaperCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("paperMargin","PaperMargin",properties.PaperMargin!=null?CfnTemplateSpacingPropertyFromCloudFormation(properties.PaperMargin):void 0),ret.addPropertyResult("paperOrientation","PaperOrientation",properties.PaperOrientation!=null?cfn_parse().FromCloudFormation.getString(properties.PaperOrientation):void 0),ret.addPropertyResult("paperSize","PaperSize",properties.PaperSize!=null?cfn_parse().FromCloudFormation.getString(properties.PaperSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("paperCanvasSizeOptions",CfnTemplateSectionBasedLayoutPaperCanvasSizeOptionsPropertyValidator)(properties.paperCanvasSizeOptions)),errors.wrap('supplied properties not correct for "SectionBasedLayoutCanvasSizeOptionsProperty"')}function convertCfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyValidator(properties).assertSuccess(),{PaperCanvasSizeOptions:convertCfnTemplateSectionBasedLayoutPaperCanvasSizeOptionsPropertyToCloudFormation(properties.paperCanvasSizeOptions)}):properties}function CfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("paperCanvasSizeOptions","PaperCanvasSizeOptions",properties.PaperCanvasSizeOptions!=null?CfnTemplateSectionBasedLayoutPaperCanvasSizeOptionsPropertyFromCloudFormation(properties.PaperCanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultSectionBasedLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.wrap('supplied properties not correct for "DefaultSectionBasedLayoutConfigurationProperty"')}function convertCfnTemplateDefaultSectionBasedLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultSectionBasedLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions)}):properties}function CfnTemplateDefaultSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultPaginatedLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sectionBased",CfnTemplateDefaultSectionBasedLayoutConfigurationPropertyValidator)(properties.sectionBased)),errors.wrap('supplied properties not correct for "DefaultPaginatedLayoutConfigurationProperty"')}function convertCfnTemplateDefaultPaginatedLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultPaginatedLayoutConfigurationPropertyValidator(properties).assertSuccess(),{SectionBased:convertCfnTemplateDefaultSectionBasedLayoutConfigurationPropertyToCloudFormation(properties.sectionBased)}):properties}function CfnTemplateDefaultPaginatedLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sectionBased","SectionBased",properties.SectionBased!=null?CfnTemplateDefaultSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties.SectionBased):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDefaultNewSheetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("interactiveLayoutConfiguration",CfnTemplateDefaultInteractiveLayoutConfigurationPropertyValidator)(properties.interactiveLayoutConfiguration)),errors.collect(cdk().propertyValidator("paginatedLayoutConfiguration",CfnTemplateDefaultPaginatedLayoutConfigurationPropertyValidator)(properties.paginatedLayoutConfiguration)),errors.collect(cdk().propertyValidator("sheetContentType",cdk().validateString)(properties.sheetContentType)),errors.wrap('supplied properties not correct for "DefaultNewSheetConfigurationProperty"')}function convertCfnTemplateDefaultNewSheetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDefaultNewSheetConfigurationPropertyValidator(properties).assertSuccess(),{InteractiveLayoutConfiguration:convertCfnTemplateDefaultInteractiveLayoutConfigurationPropertyToCloudFormation(properties.interactiveLayoutConfiguration),PaginatedLayoutConfiguration:convertCfnTemplateDefaultPaginatedLayoutConfigurationPropertyToCloudFormation(properties.paginatedLayoutConfiguration),SheetContentType:cdk().stringToCloudFormation(properties.sheetContentType)}):properties}function CfnTemplateDefaultNewSheetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("interactiveLayoutConfiguration","InteractiveLayoutConfiguration",properties.InteractiveLayoutConfiguration!=null?CfnTemplateDefaultInteractiveLayoutConfigurationPropertyFromCloudFormation(properties.InteractiveLayoutConfiguration):void 0),ret.addPropertyResult("paginatedLayoutConfiguration","PaginatedLayoutConfiguration",properties.PaginatedLayoutConfiguration!=null?CfnTemplateDefaultPaginatedLayoutConfigurationPropertyFromCloudFormation(properties.PaginatedLayoutConfiguration):void 0),ret.addPropertyResult("sheetContentType","SheetContentType",properties.SheetContentType!=null?cfn_parse().FromCloudFormation.getString(properties.SheetContentType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAnalysisDefaultsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultNewSheetConfiguration",cdk().requiredValidator)(properties.defaultNewSheetConfiguration)),errors.collect(cdk().propertyValidator("defaultNewSheetConfiguration",CfnTemplateDefaultNewSheetConfigurationPropertyValidator)(properties.defaultNewSheetConfiguration)),errors.wrap('supplied properties not correct for "AnalysisDefaultsProperty"')}function convertCfnTemplateAnalysisDefaultsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAnalysisDefaultsPropertyValidator(properties).assertSuccess(),{DefaultNewSheetConfiguration:convertCfnTemplateDefaultNewSheetConfigurationPropertyToCloudFormation(properties.defaultNewSheetConfiguration)}):properties}function CfnTemplateAnalysisDefaultsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultNewSheetConfiguration","DefaultNewSheetConfiguration",properties.DefaultNewSheetConfiguration!=null?CfnTemplateDefaultNewSheetConfigurationPropertyFromCloudFormation(properties.DefaultNewSheetConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateParameterSliderControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateSliderControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("maximumValue",cdk().requiredValidator)(properties.maximumValue)),errors.collect(cdk().propertyValidator("maximumValue",cdk().validateNumber)(properties.maximumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().requiredValidator)(properties.minimumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().validateNumber)(properties.minimumValue)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("stepSize",cdk().requiredValidator)(properties.stepSize)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterSliderControlProperty"')}function convertCfnTemplateParameterSliderControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateParameterSliderControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnTemplateSliderControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),MaximumValue:cdk().numberToCloudFormation(properties.maximumValue),MinimumValue:cdk().numberToCloudFormation(properties.minimumValue),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),StepSize:cdk().numberToCloudFormation(properties.stepSize),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnTemplateParameterSliderControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateSliderControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("maximumValue","MaximumValue",properties.MaximumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumValue):void 0),ret.addPropertyResult("minimumValue","MinimumValue",properties.MinimumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumValue):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateParameterTextAreaControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateTextAreaControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterTextAreaControlProperty"')}function convertCfnTemplateParameterTextAreaControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateParameterTextAreaControlPropertyValidator(properties).assertSuccess(),{Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisplayOptions:convertCfnTemplateTextAreaControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnTemplateParameterTextAreaControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCascadingControlSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnToMatch",CfnTemplateColumnIdentifierPropertyValidator)(properties.columnToMatch)),errors.collect(cdk().propertyValidator("sourceSheetControlId",cdk().validateString)(properties.sourceSheetControlId)),errors.wrap('supplied properties not correct for "CascadingControlSourceProperty"')}function convertCfnTemplateCascadingControlSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCascadingControlSourcePropertyValidator(properties).assertSuccess(),{ColumnToMatch:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.columnToMatch),SourceSheetControlId:cdk().stringToCloudFormation(properties.sourceSheetControlId)}):properties}function CfnTemplateCascadingControlSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnToMatch","ColumnToMatch",properties.ColumnToMatch!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.ColumnToMatch):void 0),ret.addPropertyResult("sourceSheetControlId","SourceSheetControlId",properties.SourceSheetControlId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceSheetControlId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCascadingControlConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sourceControls",cdk().listValidator(CfnTemplateCascadingControlSourcePropertyValidator))(properties.sourceControls)),errors.wrap('supplied properties not correct for "CascadingControlConfigurationProperty"')}function convertCfnTemplateCascadingControlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCascadingControlConfigurationPropertyValidator(properties).assertSuccess(),{SourceControls:cdk().listMapper(convertCfnTemplateCascadingControlSourcePropertyToCloudFormation)(properties.sourceControls)}):properties}function CfnTemplateCascadingControlConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sourceControls","SourceControls",properties.SourceControls!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateCascadingControlSourcePropertyFromCloudFormation)(properties.SourceControls):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateParameterSelectableValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("linkToDataSetColumn",CfnTemplateColumnIdentifierPropertyValidator)(properties.linkToDataSetColumn)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "ParameterSelectableValuesProperty"')}function convertCfnTemplateParameterSelectableValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateParameterSelectableValuesPropertyValidator(properties).assertSuccess(),{LinkToDataSetColumn:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.linkToDataSetColumn),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnTemplateParameterSelectableValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("linkToDataSetColumn","LinkToDataSetColumn",properties.LinkToDataSetColumn!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.LinkToDataSetColumn):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateParameterDropDownControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnTemplateCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateDropDownControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnTemplateParameterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ParameterDropDownControlProperty"')}function convertCfnTemplateParameterDropDownControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateParameterDropDownControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnTemplateCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnTemplateDropDownControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SelectableValues:convertCfnTemplateParameterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateParameterDropDownControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnTemplateCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateDropDownControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnTemplateParameterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateParameterTextFieldControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateTextFieldControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterTextFieldControlProperty"')}function convertCfnTemplateParameterTextFieldControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateParameterTextFieldControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnTemplateTextFieldControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnTemplateParameterTextFieldControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateParameterListControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnTemplateCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateListControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnTemplateParameterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ParameterListControlProperty"')}function convertCfnTemplateParameterListControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateParameterListControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnTemplateCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),DisplayOptions:convertCfnTemplateListControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SelectableValues:convertCfnTemplateParameterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateParameterListControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnTemplateCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateListControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnTemplateParameterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateParameterDateTimePickerControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateDateTimePickerControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().requiredValidator)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("parameterControlId",cdk().validateString)(properties.parameterControlId)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().requiredValidator)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "ParameterDateTimePickerControlProperty"')}function convertCfnTemplateParameterDateTimePickerControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateParameterDateTimePickerControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnTemplateDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),ParameterControlId:cdk().stringToCloudFormation(properties.parameterControlId),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnTemplateParameterDateTimePickerControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("parameterControlId","ParameterControlId",properties.ParameterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterControlId):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateParameterControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimePicker",CfnTemplateParameterDateTimePickerControlPropertyValidator)(properties.dateTimePicker)),errors.collect(cdk().propertyValidator("dropdown",CfnTemplateParameterDropDownControlPropertyValidator)(properties.dropdown)),errors.collect(cdk().propertyValidator("list",CfnTemplateParameterListControlPropertyValidator)(properties.list)),errors.collect(cdk().propertyValidator("slider",CfnTemplateParameterSliderControlPropertyValidator)(properties.slider)),errors.collect(cdk().propertyValidator("textArea",CfnTemplateParameterTextAreaControlPropertyValidator)(properties.textArea)),errors.collect(cdk().propertyValidator("textField",CfnTemplateParameterTextFieldControlPropertyValidator)(properties.textField)),errors.wrap('supplied properties not correct for "ParameterControlProperty"')}function convertCfnTemplateParameterControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateParameterControlPropertyValidator(properties).assertSuccess(),{DateTimePicker:convertCfnTemplateParameterDateTimePickerControlPropertyToCloudFormation(properties.dateTimePicker),Dropdown:convertCfnTemplateParameterDropDownControlPropertyToCloudFormation(properties.dropdown),List:convertCfnTemplateParameterListControlPropertyToCloudFormation(properties.list),Slider:convertCfnTemplateParameterSliderControlPropertyToCloudFormation(properties.slider),TextArea:convertCfnTemplateParameterTextAreaControlPropertyToCloudFormation(properties.textArea),TextField:convertCfnTemplateParameterTextFieldControlPropertyToCloudFormation(properties.textField)}):properties}function CfnTemplateParameterControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimePicker","DateTimePicker",properties.DateTimePicker!=null?CfnTemplateParameterDateTimePickerControlPropertyFromCloudFormation(properties.DateTimePicker):void 0),ret.addPropertyResult("dropdown","Dropdown",properties.Dropdown!=null?CfnTemplateParameterDropDownControlPropertyFromCloudFormation(properties.Dropdown):void 0),ret.addPropertyResult("list","List",properties.List!=null?CfnTemplateParameterListControlPropertyFromCloudFormation(properties.List):void 0),ret.addPropertyResult("slider","Slider",properties.Slider!=null?CfnTemplateParameterSliderControlPropertyFromCloudFormation(properties.Slider):void 0),ret.addPropertyResult("textArea","TextArea",properties.TextArea!=null?CfnTemplateParameterTextAreaControlPropertyFromCloudFormation(properties.TextArea):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?CfnTemplateParameterTextFieldControlPropertyFromCloudFormation(properties.TextField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetTextBoxPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("content",cdk().validateString)(properties.content)),errors.collect(cdk().propertyValidator("sheetTextBoxId",cdk().requiredValidator)(properties.sheetTextBoxId)),errors.collect(cdk().propertyValidator("sheetTextBoxId",cdk().validateString)(properties.sheetTextBoxId)),errors.wrap('supplied properties not correct for "SheetTextBoxProperty"')}function convertCfnTemplateSheetTextBoxPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetTextBoxPropertyValidator(properties).assertSuccess(),{Content:cdk().stringToCloudFormation(properties.content),SheetTextBoxId:cdk().stringToCloudFormation(properties.sheetTextBoxId)}):properties}function CfnTemplateSheetTextBoxPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("content","Content",properties.Content!=null?cfn_parse().FromCloudFormation.getString(properties.Content):void 0),ret.addPropertyResult("sheetTextBoxId","SheetTextBoxId",properties.SheetTextBoxId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetTextBoxId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGridLayoutElementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnIndex",cdk().validateNumber)(properties.columnIndex)),errors.collect(cdk().propertyValidator("columnSpan",cdk().requiredValidator)(properties.columnSpan)),errors.collect(cdk().propertyValidator("columnSpan",cdk().validateNumber)(properties.columnSpan)),errors.collect(cdk().propertyValidator("elementId",cdk().requiredValidator)(properties.elementId)),errors.collect(cdk().propertyValidator("elementId",cdk().validateString)(properties.elementId)),errors.collect(cdk().propertyValidator("elementType",cdk().requiredValidator)(properties.elementType)),errors.collect(cdk().propertyValidator("elementType",cdk().validateString)(properties.elementType)),errors.collect(cdk().propertyValidator("rowIndex",cdk().validateNumber)(properties.rowIndex)),errors.collect(cdk().propertyValidator("rowSpan",cdk().requiredValidator)(properties.rowSpan)),errors.collect(cdk().propertyValidator("rowSpan",cdk().validateNumber)(properties.rowSpan)),errors.wrap('supplied properties not correct for "GridLayoutElementProperty"')}function convertCfnTemplateGridLayoutElementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGridLayoutElementPropertyValidator(properties).assertSuccess(),{ColumnIndex:cdk().numberToCloudFormation(properties.columnIndex),ColumnSpan:cdk().numberToCloudFormation(properties.columnSpan),ElementId:cdk().stringToCloudFormation(properties.elementId),ElementType:cdk().stringToCloudFormation(properties.elementType),RowIndex:cdk().numberToCloudFormation(properties.rowIndex),RowSpan:cdk().numberToCloudFormation(properties.rowSpan)}):properties}function CfnTemplateGridLayoutElementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnIndex","ColumnIndex",properties.ColumnIndex!=null?cfn_parse().FromCloudFormation.getNumber(properties.ColumnIndex):void 0),ret.addPropertyResult("columnSpan","ColumnSpan",properties.ColumnSpan!=null?cfn_parse().FromCloudFormation.getNumber(properties.ColumnSpan):void 0),ret.addPropertyResult("elementId","ElementId",properties.ElementId!=null?cfn_parse().FromCloudFormation.getString(properties.ElementId):void 0),ret.addPropertyResult("elementType","ElementType",properties.ElementType!=null?cfn_parse().FromCloudFormation.getString(properties.ElementType):void 0),ret.addPropertyResult("rowIndex","RowIndex",properties.RowIndex!=null?cfn_parse().FromCloudFormation.getNumber(properties.RowIndex):void 0),ret.addPropertyResult("rowSpan","RowSpan",properties.RowSpan!=null?cfn_parse().FromCloudFormation.getNumber(properties.RowSpan):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGridLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnTemplateGridLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("elements",cdk().requiredValidator)(properties.elements)),errors.collect(cdk().propertyValidator("elements",cdk().listValidator(CfnTemplateGridLayoutElementPropertyValidator))(properties.elements)),errors.wrap('supplied properties not correct for "GridLayoutConfigurationProperty"')}function convertCfnTemplateGridLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGridLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnTemplateGridLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions),Elements:cdk().listMapper(convertCfnTemplateGridLayoutElementPropertyToCloudFormation)(properties.elements)}):properties}function CfnTemplateGridLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnTemplateGridLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addPropertyResult("elements","Elements",properties.Elements!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateGridLayoutElementPropertyFromCloudFormation)(properties.Elements):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFreeFormLayoutElementBorderStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FreeFormLayoutElementBorderStyleProperty"')}function convertCfnTemplateFreeFormLayoutElementBorderStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFreeFormLayoutElementBorderStylePropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateFreeFormLayoutElementBorderStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetElementConfigurationOverridesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SheetElementConfigurationOverridesProperty"')}function convertCfnTemplateSheetElementConfigurationOverridesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetElementConfigurationOverridesPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateSheetElementConfigurationOverridesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetElementRenderingRulePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("configurationOverrides",cdk().requiredValidator)(properties.configurationOverrides)),errors.collect(cdk().propertyValidator("configurationOverrides",CfnTemplateSheetElementConfigurationOverridesPropertyValidator)(properties.configurationOverrides)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "SheetElementRenderingRuleProperty"')}function convertCfnTemplateSheetElementRenderingRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetElementRenderingRulePropertyValidator(properties).assertSuccess(),{ConfigurationOverrides:convertCfnTemplateSheetElementConfigurationOverridesPropertyToCloudFormation(properties.configurationOverrides),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnTemplateSheetElementRenderingRulePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("configurationOverrides","ConfigurationOverrides",properties.ConfigurationOverrides!=null?CfnTemplateSheetElementConfigurationOverridesPropertyFromCloudFormation(properties.ConfigurationOverrides):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLoadingAnimationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "LoadingAnimationProperty"')}function convertCfnTemplateLoadingAnimationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLoadingAnimationPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateLoadingAnimationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFreeFormLayoutElementBackgroundStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FreeFormLayoutElementBackgroundStyleProperty"')}function convertCfnTemplateFreeFormLayoutElementBackgroundStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFreeFormLayoutElementBackgroundStylePropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateFreeFormLayoutElementBackgroundStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFreeFormLayoutElementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundStyle",CfnTemplateFreeFormLayoutElementBackgroundStylePropertyValidator)(properties.backgroundStyle)),errors.collect(cdk().propertyValidator("borderStyle",CfnTemplateFreeFormLayoutElementBorderStylePropertyValidator)(properties.borderStyle)),errors.collect(cdk().propertyValidator("elementId",cdk().requiredValidator)(properties.elementId)),errors.collect(cdk().propertyValidator("elementId",cdk().validateString)(properties.elementId)),errors.collect(cdk().propertyValidator("elementType",cdk().requiredValidator)(properties.elementType)),errors.collect(cdk().propertyValidator("elementType",cdk().validateString)(properties.elementType)),errors.collect(cdk().propertyValidator("height",cdk().requiredValidator)(properties.height)),errors.collect(cdk().propertyValidator("height",cdk().validateString)(properties.height)),errors.collect(cdk().propertyValidator("loadingAnimation",CfnTemplateLoadingAnimationPropertyValidator)(properties.loadingAnimation)),errors.collect(cdk().propertyValidator("renderingRules",cdk().listValidator(CfnTemplateSheetElementRenderingRulePropertyValidator))(properties.renderingRules)),errors.collect(cdk().propertyValidator("selectedBorderStyle",CfnTemplateFreeFormLayoutElementBorderStylePropertyValidator)(properties.selectedBorderStyle)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().requiredValidator)(properties.width)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.collect(cdk().propertyValidator("xAxisLocation",cdk().requiredValidator)(properties.xAxisLocation)),errors.collect(cdk().propertyValidator("xAxisLocation",cdk().validateString)(properties.xAxisLocation)),errors.collect(cdk().propertyValidator("yAxisLocation",cdk().requiredValidator)(properties.yAxisLocation)),errors.collect(cdk().propertyValidator("yAxisLocation",cdk().validateString)(properties.yAxisLocation)),errors.wrap('supplied properties not correct for "FreeFormLayoutElementProperty"')}function convertCfnTemplateFreeFormLayoutElementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFreeFormLayoutElementPropertyValidator(properties).assertSuccess(),{BackgroundStyle:convertCfnTemplateFreeFormLayoutElementBackgroundStylePropertyToCloudFormation(properties.backgroundStyle),BorderStyle:convertCfnTemplateFreeFormLayoutElementBorderStylePropertyToCloudFormation(properties.borderStyle),ElementId:cdk().stringToCloudFormation(properties.elementId),ElementType:cdk().stringToCloudFormation(properties.elementType),Height:cdk().stringToCloudFormation(properties.height),LoadingAnimation:convertCfnTemplateLoadingAnimationPropertyToCloudFormation(properties.loadingAnimation),RenderingRules:cdk().listMapper(convertCfnTemplateSheetElementRenderingRulePropertyToCloudFormation)(properties.renderingRules),SelectedBorderStyle:convertCfnTemplateFreeFormLayoutElementBorderStylePropertyToCloudFormation(properties.selectedBorderStyle),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width),XAxisLocation:cdk().stringToCloudFormation(properties.xAxisLocation),YAxisLocation:cdk().stringToCloudFormation(properties.yAxisLocation)}):properties}function CfnTemplateFreeFormLayoutElementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundStyle","BackgroundStyle",properties.BackgroundStyle!=null?CfnTemplateFreeFormLayoutElementBackgroundStylePropertyFromCloudFormation(properties.BackgroundStyle):void 0),ret.addPropertyResult("borderStyle","BorderStyle",properties.BorderStyle!=null?CfnTemplateFreeFormLayoutElementBorderStylePropertyFromCloudFormation(properties.BorderStyle):void 0),ret.addPropertyResult("elementId","ElementId",properties.ElementId!=null?cfn_parse().FromCloudFormation.getString(properties.ElementId):void 0),ret.addPropertyResult("elementType","ElementType",properties.ElementType!=null?cfn_parse().FromCloudFormation.getString(properties.ElementType):void 0),ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getString(properties.Height):void 0),ret.addPropertyResult("loadingAnimation","LoadingAnimation",properties.LoadingAnimation!=null?CfnTemplateLoadingAnimationPropertyFromCloudFormation(properties.LoadingAnimation):void 0),ret.addPropertyResult("renderingRules","RenderingRules",properties.RenderingRules!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateSheetElementRenderingRulePropertyFromCloudFormation)(properties.RenderingRules):void 0),ret.addPropertyResult("selectedBorderStyle","SelectedBorderStyle",properties.SelectedBorderStyle!=null?CfnTemplateFreeFormLayoutElementBorderStylePropertyFromCloudFormation(properties.SelectedBorderStyle):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addPropertyResult("xAxisLocation","XAxisLocation",properties.XAxisLocation!=null?cfn_parse().FromCloudFormation.getString(properties.XAxisLocation):void 0),ret.addPropertyResult("yAxisLocation","YAxisLocation",properties.YAxisLocation!=null?cfn_parse().FromCloudFormation.getString(properties.YAxisLocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFreeFormLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("elements",cdk().requiredValidator)(properties.elements)),errors.collect(cdk().propertyValidator("elements",cdk().listValidator(CfnTemplateFreeFormLayoutElementPropertyValidator))(properties.elements)),errors.wrap('supplied properties not correct for "FreeFormLayoutConfigurationProperty"')}function convertCfnTemplateFreeFormLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFreeFormLayoutConfigurationPropertyValidator(properties).assertSuccess(),{CanvasSizeOptions:convertCfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions),Elements:cdk().listMapper(convertCfnTemplateFreeFormLayoutElementPropertyToCloudFormation)(properties.elements)}):properties}function CfnTemplateFreeFormLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnTemplateFreeFormLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addPropertyResult("elements","Elements",properties.Elements!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFreeFormLayoutElementPropertyFromCloudFormation)(properties.Elements):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFreeFormSectionLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("elements",cdk().requiredValidator)(properties.elements)),errors.collect(cdk().propertyValidator("elements",cdk().listValidator(CfnTemplateFreeFormLayoutElementPropertyValidator))(properties.elements)),errors.wrap('supplied properties not correct for "FreeFormSectionLayoutConfigurationProperty"')}function convertCfnTemplateFreeFormSectionLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFreeFormSectionLayoutConfigurationPropertyValidator(properties).assertSuccess(),{Elements:cdk().listMapper(convertCfnTemplateFreeFormLayoutElementPropertyToCloudFormation)(properties.elements)}):properties}function CfnTemplateFreeFormSectionLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("elements","Elements",properties.Elements!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFreeFormLayoutElementPropertyFromCloudFormation)(properties.Elements):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSectionLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("freeFormLayout",cdk().requiredValidator)(properties.freeFormLayout)),errors.collect(cdk().propertyValidator("freeFormLayout",CfnTemplateFreeFormSectionLayoutConfigurationPropertyValidator)(properties.freeFormLayout)),errors.wrap('supplied properties not correct for "SectionLayoutConfigurationProperty"')}function convertCfnTemplateSectionLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSectionLayoutConfigurationPropertyValidator(properties).assertSuccess(),{FreeFormLayout:convertCfnTemplateFreeFormSectionLayoutConfigurationPropertyToCloudFormation(properties.freeFormLayout)}):properties}function CfnTemplateSectionLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("freeFormLayout","FreeFormLayout",properties.FreeFormLayout!=null?CfnTemplateFreeFormSectionLayoutConfigurationPropertyFromCloudFormation(properties.FreeFormLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSectionStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("height",cdk().validateString)(properties.height)),errors.collect(cdk().propertyValidator("padding",CfnTemplateSpacingPropertyValidator)(properties.padding)),errors.wrap('supplied properties not correct for "SectionStyleProperty"')}function convertCfnTemplateSectionStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSectionStylePropertyValidator(properties).assertSuccess(),{Height:cdk().stringToCloudFormation(properties.height),Padding:convertCfnTemplateSpacingPropertyToCloudFormation(properties.padding)}):properties}function CfnTemplateSectionStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getString(properties.Height):void 0),ret.addPropertyResult("padding","Padding",properties.Padding!=null?CfnTemplateSpacingPropertyFromCloudFormation(properties.Padding):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHeaderFooterSectionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("layout",cdk().requiredValidator)(properties.layout)),errors.collect(cdk().propertyValidator("layout",CfnTemplateSectionLayoutConfigurationPropertyValidator)(properties.layout)),errors.collect(cdk().propertyValidator("sectionId",cdk().requiredValidator)(properties.sectionId)),errors.collect(cdk().propertyValidator("sectionId",cdk().validateString)(properties.sectionId)),errors.collect(cdk().propertyValidator("style",CfnTemplateSectionStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "HeaderFooterSectionConfigurationProperty"')}function convertCfnTemplateHeaderFooterSectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHeaderFooterSectionConfigurationPropertyValidator(properties).assertSuccess(),{Layout:convertCfnTemplateSectionLayoutConfigurationPropertyToCloudFormation(properties.layout),SectionId:cdk().stringToCloudFormation(properties.sectionId),Style:convertCfnTemplateSectionStylePropertyToCloudFormation(properties.style)}):properties}function CfnTemplateHeaderFooterSectionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("layout","Layout",properties.Layout!=null?CfnTemplateSectionLayoutConfigurationPropertyFromCloudFormation(properties.Layout):void 0),ret.addPropertyResult("sectionId","SectionId",properties.SectionId!=null?cfn_parse().FromCloudFormation.getString(properties.SectionId):void 0),ret.addPropertyResult("style","Style",properties.Style!=null?CfnTemplateSectionStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBodySectionContentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("layout",CfnTemplateSectionLayoutConfigurationPropertyValidator)(properties.layout)),errors.wrap('supplied properties not correct for "BodySectionContentProperty"')}function convertCfnTemplateBodySectionContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBodySectionContentPropertyValidator(properties).assertSuccess(),{Layout:convertCfnTemplateSectionLayoutConfigurationPropertyToCloudFormation(properties.layout)}):properties}function CfnTemplateBodySectionContentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("layout","Layout",properties.Layout!=null?CfnTemplateSectionLayoutConfigurationPropertyFromCloudFormation(properties.Layout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSectionAfterPageBreakPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "SectionAfterPageBreakProperty"')}function convertCfnTemplateSectionAfterPageBreakPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSectionAfterPageBreakPropertyValidator(properties).assertSuccess(),{Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnTemplateSectionAfterPageBreakPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSectionPageBreakConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("after",CfnTemplateSectionAfterPageBreakPropertyValidator)(properties.after)),errors.wrap('supplied properties not correct for "SectionPageBreakConfigurationProperty"')}function convertCfnTemplateSectionPageBreakConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSectionPageBreakConfigurationPropertyValidator(properties).assertSuccess(),{After:convertCfnTemplateSectionAfterPageBreakPropertyToCloudFormation(properties.after)}):properties}function CfnTemplateSectionPageBreakConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("after","After",properties.After!=null?CfnTemplateSectionAfterPageBreakPropertyFromCloudFormation(properties.After):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColumnSortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnTemplateAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("sortBy",cdk().requiredValidator)(properties.sortBy)),errors.collect(cdk().propertyValidator("sortBy",CfnTemplateColumnIdentifierPropertyValidator)(properties.sortBy)),errors.wrap('supplied properties not correct for "ColumnSortProperty"')}function convertCfnTemplateColumnSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColumnSortPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnTemplateAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Direction:cdk().stringToCloudFormation(properties.direction),SortBy:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.sortBy)}):properties}function CfnTemplateColumnSortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnTemplateAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("sortBy","SortBy",properties.SortBy!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.SortBy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBodySectionDynamicNumericDimensionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("limit",cdk().validateNumber)(properties.limit)),errors.collect(cdk().propertyValidator("sortByMetrics",cdk().listValidator(CfnTemplateColumnSortPropertyValidator))(properties.sortByMetrics)),errors.wrap('supplied properties not correct for "BodySectionDynamicNumericDimensionConfigurationProperty"')}function convertCfnTemplateBodySectionDynamicNumericDimensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBodySectionDynamicNumericDimensionConfigurationPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),Limit:cdk().numberToCloudFormation(properties.limit),SortByMetrics:cdk().listMapper(convertCfnTemplateColumnSortPropertyToCloudFormation)(properties.sortByMetrics)}):properties}function CfnTemplateBodySectionDynamicNumericDimensionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("limit","Limit",properties.Limit!=null?cfn_parse().FromCloudFormation.getNumber(properties.Limit):void 0),ret.addPropertyResult("sortByMetrics","SortByMetrics",properties.SortByMetrics!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnSortPropertyFromCloudFormation)(properties.SortByMetrics):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBodySectionDynamicCategoryDimensionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("limit",cdk().validateNumber)(properties.limit)),errors.collect(cdk().propertyValidator("sortByMetrics",cdk().listValidator(CfnTemplateColumnSortPropertyValidator))(properties.sortByMetrics)),errors.wrap('supplied properties not correct for "BodySectionDynamicCategoryDimensionConfigurationProperty"')}function convertCfnTemplateBodySectionDynamicCategoryDimensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBodySectionDynamicCategoryDimensionConfigurationPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),Limit:cdk().numberToCloudFormation(properties.limit),SortByMetrics:cdk().listMapper(convertCfnTemplateColumnSortPropertyToCloudFormation)(properties.sortByMetrics)}):properties}function CfnTemplateBodySectionDynamicCategoryDimensionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("limit","Limit",properties.Limit!=null?cfn_parse().FromCloudFormation.getNumber(properties.Limit):void 0),ret.addPropertyResult("sortByMetrics","SortByMetrics",properties.SortByMetrics!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnSortPropertyFromCloudFormation)(properties.SortByMetrics):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBodySectionRepeatDimensionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicCategoryDimensionConfiguration",CfnTemplateBodySectionDynamicCategoryDimensionConfigurationPropertyValidator)(properties.dynamicCategoryDimensionConfiguration)),errors.collect(cdk().propertyValidator("dynamicNumericDimensionConfiguration",CfnTemplateBodySectionDynamicNumericDimensionConfigurationPropertyValidator)(properties.dynamicNumericDimensionConfiguration)),errors.wrap('supplied properties not correct for "BodySectionRepeatDimensionConfigurationProperty"')}function convertCfnTemplateBodySectionRepeatDimensionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBodySectionRepeatDimensionConfigurationPropertyValidator(properties).assertSuccess(),{DynamicCategoryDimensionConfiguration:convertCfnTemplateBodySectionDynamicCategoryDimensionConfigurationPropertyToCloudFormation(properties.dynamicCategoryDimensionConfiguration),DynamicNumericDimensionConfiguration:convertCfnTemplateBodySectionDynamicNumericDimensionConfigurationPropertyToCloudFormation(properties.dynamicNumericDimensionConfiguration)}):properties}function CfnTemplateBodySectionRepeatDimensionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicCategoryDimensionConfiguration","DynamicCategoryDimensionConfiguration",properties.DynamicCategoryDimensionConfiguration!=null?CfnTemplateBodySectionDynamicCategoryDimensionConfigurationPropertyFromCloudFormation(properties.DynamicCategoryDimensionConfiguration):void 0),ret.addPropertyResult("dynamicNumericDimensionConfiguration","DynamicNumericDimensionConfiguration",properties.DynamicNumericDimensionConfiguration!=null?CfnTemplateBodySectionDynamicNumericDimensionConfigurationPropertyFromCloudFormation(properties.DynamicNumericDimensionConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBodySectionRepeatPageBreakConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("after",CfnTemplateSectionAfterPageBreakPropertyValidator)(properties.after)),errors.wrap('supplied properties not correct for "BodySectionRepeatPageBreakConfigurationProperty"')}function convertCfnTemplateBodySectionRepeatPageBreakConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBodySectionRepeatPageBreakConfigurationPropertyValidator(properties).assertSuccess(),{After:convertCfnTemplateSectionAfterPageBreakPropertyToCloudFormation(properties.after)}):properties}function CfnTemplateBodySectionRepeatPageBreakConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("after","After",properties.After!=null?CfnTemplateSectionAfterPageBreakPropertyFromCloudFormation(properties.After):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBodySectionRepeatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dimensionConfigurations",cdk().listValidator(CfnTemplateBodySectionRepeatDimensionConfigurationPropertyValidator))(properties.dimensionConfigurations)),errors.collect(cdk().propertyValidator("nonRepeatingVisuals",cdk().listValidator(cdk().validateString))(properties.nonRepeatingVisuals)),errors.collect(cdk().propertyValidator("pageBreakConfiguration",CfnTemplateBodySectionRepeatPageBreakConfigurationPropertyValidator)(properties.pageBreakConfiguration)),errors.wrap('supplied properties not correct for "BodySectionRepeatConfigurationProperty"')}function convertCfnTemplateBodySectionRepeatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBodySectionRepeatConfigurationPropertyValidator(properties).assertSuccess(),{DimensionConfigurations:cdk().listMapper(convertCfnTemplateBodySectionRepeatDimensionConfigurationPropertyToCloudFormation)(properties.dimensionConfigurations),NonRepeatingVisuals:cdk().listMapper(cdk().stringToCloudFormation)(properties.nonRepeatingVisuals),PageBreakConfiguration:convertCfnTemplateBodySectionRepeatPageBreakConfigurationPropertyToCloudFormation(properties.pageBreakConfiguration)}):properties}function CfnTemplateBodySectionRepeatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dimensionConfigurations","DimensionConfigurations",properties.DimensionConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateBodySectionRepeatDimensionConfigurationPropertyFromCloudFormation)(properties.DimensionConfigurations):void 0),ret.addPropertyResult("nonRepeatingVisuals","NonRepeatingVisuals",properties.NonRepeatingVisuals!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NonRepeatingVisuals):void 0),ret.addPropertyResult("pageBreakConfiguration","PageBreakConfiguration",properties.PageBreakConfiguration!=null?CfnTemplateBodySectionRepeatPageBreakConfigurationPropertyFromCloudFormation(properties.PageBreakConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBodySectionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",CfnTemplateBodySectionContentPropertyValidator)(properties.content)),errors.collect(cdk().propertyValidator("pageBreakConfiguration",CfnTemplateSectionPageBreakConfigurationPropertyValidator)(properties.pageBreakConfiguration)),errors.collect(cdk().propertyValidator("repeatConfiguration",CfnTemplateBodySectionRepeatConfigurationPropertyValidator)(properties.repeatConfiguration)),errors.collect(cdk().propertyValidator("sectionId",cdk().requiredValidator)(properties.sectionId)),errors.collect(cdk().propertyValidator("sectionId",cdk().validateString)(properties.sectionId)),errors.collect(cdk().propertyValidator("style",CfnTemplateSectionStylePropertyValidator)(properties.style)),errors.wrap('supplied properties not correct for "BodySectionConfigurationProperty"')}function convertCfnTemplateBodySectionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBodySectionConfigurationPropertyValidator(properties).assertSuccess(),{Content:convertCfnTemplateBodySectionContentPropertyToCloudFormation(properties.content),PageBreakConfiguration:convertCfnTemplateSectionPageBreakConfigurationPropertyToCloudFormation(properties.pageBreakConfiguration),RepeatConfiguration:convertCfnTemplateBodySectionRepeatConfigurationPropertyToCloudFormation(properties.repeatConfiguration),SectionId:cdk().stringToCloudFormation(properties.sectionId),Style:convertCfnTemplateSectionStylePropertyToCloudFormation(properties.style)}):properties}function CfnTemplateBodySectionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("content","Content",properties.Content!=null?CfnTemplateBodySectionContentPropertyFromCloudFormation(properties.Content):void 0),ret.addPropertyResult("pageBreakConfiguration","PageBreakConfiguration",properties.PageBreakConfiguration!=null?CfnTemplateSectionPageBreakConfigurationPropertyFromCloudFormation(properties.PageBreakConfiguration):void 0),ret.addPropertyResult("repeatConfiguration","RepeatConfiguration",properties.RepeatConfiguration!=null?CfnTemplateBodySectionRepeatConfigurationPropertyFromCloudFormation(properties.RepeatConfiguration):void 0),ret.addPropertyResult("sectionId","SectionId",properties.SectionId!=null?cfn_parse().FromCloudFormation.getString(properties.SectionId):void 0),ret.addPropertyResult("style","Style",properties.Style!=null?CfnTemplateSectionStylePropertyFromCloudFormation(properties.Style):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSectionBasedLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bodySections",cdk().requiredValidator)(properties.bodySections)),errors.collect(cdk().propertyValidator("bodySections",cdk().listValidator(CfnTemplateBodySectionConfigurationPropertyValidator))(properties.bodySections)),errors.collect(cdk().propertyValidator("canvasSizeOptions",cdk().requiredValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("canvasSizeOptions",CfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyValidator)(properties.canvasSizeOptions)),errors.collect(cdk().propertyValidator("footerSections",cdk().requiredValidator)(properties.footerSections)),errors.collect(cdk().propertyValidator("footerSections",cdk().listValidator(CfnTemplateHeaderFooterSectionConfigurationPropertyValidator))(properties.footerSections)),errors.collect(cdk().propertyValidator("headerSections",cdk().requiredValidator)(properties.headerSections)),errors.collect(cdk().propertyValidator("headerSections",cdk().listValidator(CfnTemplateHeaderFooterSectionConfigurationPropertyValidator))(properties.headerSections)),errors.wrap('supplied properties not correct for "SectionBasedLayoutConfigurationProperty"')}function convertCfnTemplateSectionBasedLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSectionBasedLayoutConfigurationPropertyValidator(properties).assertSuccess(),{BodySections:cdk().listMapper(convertCfnTemplateBodySectionConfigurationPropertyToCloudFormation)(properties.bodySections),CanvasSizeOptions:convertCfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyToCloudFormation(properties.canvasSizeOptions),FooterSections:cdk().listMapper(convertCfnTemplateHeaderFooterSectionConfigurationPropertyToCloudFormation)(properties.footerSections),HeaderSections:cdk().listMapper(convertCfnTemplateHeaderFooterSectionConfigurationPropertyToCloudFormation)(properties.headerSections)}):properties}function CfnTemplateSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bodySections","BodySections",properties.BodySections!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateBodySectionConfigurationPropertyFromCloudFormation)(properties.BodySections):void 0),ret.addPropertyResult("canvasSizeOptions","CanvasSizeOptions",properties.CanvasSizeOptions!=null?CfnTemplateSectionBasedLayoutCanvasSizeOptionsPropertyFromCloudFormation(properties.CanvasSizeOptions):void 0),ret.addPropertyResult("footerSections","FooterSections",properties.FooterSections!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateHeaderFooterSectionConfigurationPropertyFromCloudFormation)(properties.FooterSections):void 0),ret.addPropertyResult("headerSections","HeaderSections",properties.HeaderSections!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateHeaderFooterSectionConfigurationPropertyFromCloudFormation)(properties.HeaderSections):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("freeFormLayout",CfnTemplateFreeFormLayoutConfigurationPropertyValidator)(properties.freeFormLayout)),errors.collect(cdk().propertyValidator("gridLayout",CfnTemplateGridLayoutConfigurationPropertyValidator)(properties.gridLayout)),errors.collect(cdk().propertyValidator("sectionBasedLayout",CfnTemplateSectionBasedLayoutConfigurationPropertyValidator)(properties.sectionBasedLayout)),errors.wrap('supplied properties not correct for "LayoutConfigurationProperty"')}function convertCfnTemplateLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLayoutConfigurationPropertyValidator(properties).assertSuccess(),{FreeFormLayout:convertCfnTemplateFreeFormLayoutConfigurationPropertyToCloudFormation(properties.freeFormLayout),GridLayout:convertCfnTemplateGridLayoutConfigurationPropertyToCloudFormation(properties.gridLayout),SectionBasedLayout:convertCfnTemplateSectionBasedLayoutConfigurationPropertyToCloudFormation(properties.sectionBasedLayout)}):properties}function CfnTemplateLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("freeFormLayout","FreeFormLayout",properties.FreeFormLayout!=null?CfnTemplateFreeFormLayoutConfigurationPropertyFromCloudFormation(properties.FreeFormLayout):void 0),ret.addPropertyResult("gridLayout","GridLayout",properties.GridLayout!=null?CfnTemplateGridLayoutConfigurationPropertyFromCloudFormation(properties.GridLayout):void 0),ret.addPropertyResult("sectionBasedLayout","SectionBasedLayout",properties.SectionBasedLayout!=null?CfnTemplateSectionBasedLayoutConfigurationPropertyFromCloudFormation(properties.SectionBasedLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLayoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnTemplateLayoutConfigurationPropertyValidator)(properties.configuration)),errors.wrap('supplied properties not correct for "LayoutProperty"')}function convertCfnTemplateLayoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLayoutPropertyValidator(properties).assertSuccess(),{Configuration:convertCfnTemplateLayoutConfigurationPropertyToCloudFormation(properties.configuration)}):properties}function CfnTemplateLayoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnTemplateLayoutConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterSliderControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateSliderControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("maximumValue",cdk().requiredValidator)(properties.maximumValue)),errors.collect(cdk().propertyValidator("maximumValue",cdk().validateNumber)(properties.maximumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().requiredValidator)(properties.minimumValue)),errors.collect(cdk().propertyValidator("minimumValue",cdk().validateNumber)(properties.minimumValue)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("stepSize",cdk().requiredValidator)(properties.stepSize)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterSliderControlProperty"')}function convertCfnTemplateFilterSliderControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterSliderControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnTemplateSliderControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),MaximumValue:cdk().numberToCloudFormation(properties.maximumValue),MinimumValue:cdk().numberToCloudFormation(properties.minimumValue),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),StepSize:cdk().numberToCloudFormation(properties.stepSize),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateFilterSliderControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateSliderControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("maximumValue","MaximumValue",properties.MaximumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumValue):void 0),ret.addPropertyResult("minimumValue","MinimumValue",properties.MinimumValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumValue):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterTextAreaControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("delimiter",cdk().validateString)(properties.delimiter)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateTextAreaControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "FilterTextAreaControlProperty"')}function convertCfnTemplateFilterTextAreaControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterTextAreaControlPropertyValidator(properties).assertSuccess(),{Delimiter:cdk().stringToCloudFormation(properties.delimiter),DisplayOptions:convertCfnTemplateTextAreaControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnTemplateFilterTextAreaControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse().FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateTextAreaControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterDropDownControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnTemplateCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateDropDownControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnTemplateFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterDropDownControlProperty"')}function convertCfnTemplateFilterDropDownControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterDropDownControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnTemplateCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnTemplateDropDownControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SelectableValues:convertCfnTemplateFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateFilterDropDownControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnTemplateCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateDropDownControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnTemplateFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterTextFieldControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateTextFieldControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "FilterTextFieldControlProperty"')}function convertCfnTemplateFilterTextFieldControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterTextFieldControlPropertyValidator(properties).assertSuccess(),{DisplayOptions:convertCfnTemplateTextFieldControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnTemplateFilterTextFieldControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateTextFieldControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterListControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnTemplateCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateListControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("selectableValues",CfnTemplateFilterSelectableValuesPropertyValidator)(properties.selectableValues)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterListControlProperty"')}function convertCfnTemplateFilterListControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterListControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnTemplateCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),DisplayOptions:convertCfnTemplateListControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SelectableValues:convertCfnTemplateFilterSelectableValuesPropertyToCloudFormation(properties.selectableValues),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateFilterListControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnTemplateCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateListControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("selectableValues","SelectableValues",properties.SelectableValues!=null?CfnTemplateFilterSelectableValuesPropertyFromCloudFormation(properties.SelectableValues):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterDateTimePickerControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateDateTimePickerControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FilterDateTimePickerControlProperty"')}function convertCfnTemplateFilterDateTimePickerControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterDateTimePickerControlPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnTemplateDateTimePickerControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateFilterDateTimePickerControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateDateTimePickerControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterRelativeDateTimeControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("commitMode",cdk().validateString)(properties.commitMode)),errors.collect(cdk().propertyValidator("displayOptions",CfnTemplateRelativeDateTimeControlDisplayOptionsPropertyValidator)(properties.displayOptions)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "FilterRelativeDateTimeControlProperty"')}function convertCfnTemplateFilterRelativeDateTimeControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterRelativeDateTimeControlPropertyValidator(properties).assertSuccess(),{CommitMode:cdk().stringToCloudFormation(properties.commitMode),DisplayOptions:convertCfnTemplateRelativeDateTimeControlDisplayOptionsPropertyToCloudFormation(properties.displayOptions),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnTemplateFilterRelativeDateTimeControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("commitMode","CommitMode",properties.CommitMode!=null?cfn_parse().FromCloudFormation.getString(properties.CommitMode):void 0),ret.addPropertyResult("displayOptions","DisplayOptions",properties.DisplayOptions!=null?CfnTemplateRelativeDateTimeControlDisplayOptionsPropertyFromCloudFormation(properties.DisplayOptions):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterCrossSheetControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cascadingControlConfiguration",CfnTemplateCascadingControlConfigurationPropertyValidator)(properties.cascadingControlConfiguration)),errors.collect(cdk().propertyValidator("filterControlId",cdk().requiredValidator)(properties.filterControlId)),errors.collect(cdk().propertyValidator("filterControlId",cdk().validateString)(properties.filterControlId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().requiredValidator)(properties.sourceFilterId)),errors.collect(cdk().propertyValidator("sourceFilterId",cdk().validateString)(properties.sourceFilterId)),errors.wrap('supplied properties not correct for "FilterCrossSheetControlProperty"')}function convertCfnTemplateFilterCrossSheetControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterCrossSheetControlPropertyValidator(properties).assertSuccess(),{CascadingControlConfiguration:convertCfnTemplateCascadingControlConfigurationPropertyToCloudFormation(properties.cascadingControlConfiguration),FilterControlId:cdk().stringToCloudFormation(properties.filterControlId),SourceFilterId:cdk().stringToCloudFormation(properties.sourceFilterId)}):properties}function CfnTemplateFilterCrossSheetControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cascadingControlConfiguration","CascadingControlConfiguration",properties.CascadingControlConfiguration!=null?CfnTemplateCascadingControlConfigurationPropertyFromCloudFormation(properties.CascadingControlConfiguration):void 0),ret.addPropertyResult("filterControlId","FilterControlId",properties.FilterControlId!=null?cfn_parse().FromCloudFormation.getString(properties.FilterControlId):void 0),ret.addPropertyResult("sourceFilterId","SourceFilterId",properties.SourceFilterId!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFilterId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterControlPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossSheet",CfnTemplateFilterCrossSheetControlPropertyValidator)(properties.crossSheet)),errors.collect(cdk().propertyValidator("dateTimePicker",CfnTemplateFilterDateTimePickerControlPropertyValidator)(properties.dateTimePicker)),errors.collect(cdk().propertyValidator("dropdown",CfnTemplateFilterDropDownControlPropertyValidator)(properties.dropdown)),errors.collect(cdk().propertyValidator("list",CfnTemplateFilterListControlPropertyValidator)(properties.list)),errors.collect(cdk().propertyValidator("relativeDateTime",CfnTemplateFilterRelativeDateTimeControlPropertyValidator)(properties.relativeDateTime)),errors.collect(cdk().propertyValidator("slider",CfnTemplateFilterSliderControlPropertyValidator)(properties.slider)),errors.collect(cdk().propertyValidator("textArea",CfnTemplateFilterTextAreaControlPropertyValidator)(properties.textArea)),errors.collect(cdk().propertyValidator("textField",CfnTemplateFilterTextFieldControlPropertyValidator)(properties.textField)),errors.wrap('supplied properties not correct for "FilterControlProperty"')}function convertCfnTemplateFilterControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterControlPropertyValidator(properties).assertSuccess(),{CrossSheet:convertCfnTemplateFilterCrossSheetControlPropertyToCloudFormation(properties.crossSheet),DateTimePicker:convertCfnTemplateFilterDateTimePickerControlPropertyToCloudFormation(properties.dateTimePicker),Dropdown:convertCfnTemplateFilterDropDownControlPropertyToCloudFormation(properties.dropdown),List:convertCfnTemplateFilterListControlPropertyToCloudFormation(properties.list),RelativeDateTime:convertCfnTemplateFilterRelativeDateTimeControlPropertyToCloudFormation(properties.relativeDateTime),Slider:convertCfnTemplateFilterSliderControlPropertyToCloudFormation(properties.slider),TextArea:convertCfnTemplateFilterTextAreaControlPropertyToCloudFormation(properties.textArea),TextField:convertCfnTemplateFilterTextFieldControlPropertyToCloudFormation(properties.textField)}):properties}function CfnTemplateFilterControlPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossSheet","CrossSheet",properties.CrossSheet!=null?CfnTemplateFilterCrossSheetControlPropertyFromCloudFormation(properties.CrossSheet):void 0),ret.addPropertyResult("dateTimePicker","DateTimePicker",properties.DateTimePicker!=null?CfnTemplateFilterDateTimePickerControlPropertyFromCloudFormation(properties.DateTimePicker):void 0),ret.addPropertyResult("dropdown","Dropdown",properties.Dropdown!=null?CfnTemplateFilterDropDownControlPropertyFromCloudFormation(properties.Dropdown):void 0),ret.addPropertyResult("list","List",properties.List!=null?CfnTemplateFilterListControlPropertyFromCloudFormation(properties.List):void 0),ret.addPropertyResult("relativeDateTime","RelativeDateTime",properties.RelativeDateTime!=null?CfnTemplateFilterRelativeDateTimeControlPropertyFromCloudFormation(properties.RelativeDateTime):void 0),ret.addPropertyResult("slider","Slider",properties.Slider!=null?CfnTemplateFilterSliderControlPropertyFromCloudFormation(properties.Slider):void 0),ret.addPropertyResult("textArea","TextArea",properties.TextArea!=null?CfnTemplateFilterTextAreaControlPropertyFromCloudFormation(properties.TextArea):void 0),ret.addPropertyResult("textField","TextField",properties.TextField!=null?CfnTemplateFilterTextFieldControlPropertyFromCloudFormation(properties.TextField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetControlLayoutConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gridLayout",CfnTemplateGridLayoutConfigurationPropertyValidator)(properties.gridLayout)),errors.wrap('supplied properties not correct for "SheetControlLayoutConfigurationProperty"')}function convertCfnTemplateSheetControlLayoutConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetControlLayoutConfigurationPropertyValidator(properties).assertSuccess(),{GridLayout:convertCfnTemplateGridLayoutConfigurationPropertyToCloudFormation(properties.gridLayout)}):properties}function CfnTemplateSheetControlLayoutConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gridLayout","GridLayout",properties.GridLayout!=null?CfnTemplateGridLayoutConfigurationPropertyFromCloudFormation(properties.GridLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetControlLayoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnTemplateSheetControlLayoutConfigurationPropertyValidator)(properties.configuration)),errors.wrap('supplied properties not correct for "SheetControlLayoutProperty"')}function convertCfnTemplateSheetControlLayoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetControlLayoutPropertyValidator(properties).assertSuccess(),{Configuration:convertCfnTemplateSheetControlLayoutConfigurationPropertyToCloudFormation(properties.configuration)}):properties}function CfnTemplateSheetControlLayoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnTemplateSheetControlLayoutConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLongFormatTextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("plainText",cdk().validateString)(properties.plainText)),errors.collect(cdk().propertyValidator("richText",cdk().validateString)(properties.richText)),errors.wrap('supplied properties not correct for "LongFormatTextProperty"')}function convertCfnTemplateLongFormatTextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLongFormatTextPropertyValidator(properties).assertSuccess(),{PlainText:cdk().stringToCloudFormation(properties.plainText),RichText:cdk().stringToCloudFormation(properties.richText)}):properties}function CfnTemplateLongFormatTextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("plainText","PlainText",properties.PlainText!=null?cfn_parse().FromCloudFormation.getString(properties.PlainText):void 0),ret.addPropertyResult("richText","RichText",properties.RichText!=null?cfn_parse().FromCloudFormation.getString(properties.RichText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateVisualSubtitleLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatText",CfnTemplateLongFormatTextPropertyValidator)(properties.formatText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "VisualSubtitleLabelOptionsProperty"')}function convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateVisualSubtitleLabelOptionsPropertyValidator(properties).assertSuccess(),{FormatText:convertCfnTemplateLongFormatTextPropertyToCloudFormation(properties.formatText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatText","FormatText",properties.FormatText!=null?CfnTemplateLongFormatTextPropertyFromCloudFormation(properties.FormatText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateItemsLimitConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("itemsLimit",cdk().validateNumber)(properties.itemsLimit)),errors.collect(cdk().propertyValidator("otherCategories",cdk().validateString)(properties.otherCategories)),errors.wrap('supplied properties not correct for "ItemsLimitConfigurationProperty"')}function convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateItemsLimitConfigurationPropertyValidator(properties).assertSuccess(),{ItemsLimit:cdk().numberToCloudFormation(properties.itemsLimit),OtherCategories:cdk().stringToCloudFormation(properties.otherCategories)}):properties}function CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("itemsLimit","ItemsLimit",properties.ItemsLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ItemsLimit):void 0),ret.addPropertyResult("otherCategories","OtherCategories",properties.OtherCategories!=null?cfn_parse().FromCloudFormation.getString(properties.OtherCategories):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFieldSortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "FieldSortProperty"')}function convertCfnTemplateFieldSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFieldSortPropertyValidator(properties).assertSuccess(),{Direction:cdk().stringToCloudFormation(properties.direction),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnTemplateFieldSortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFieldSortOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnSort",CfnTemplateColumnSortPropertyValidator)(properties.columnSort)),errors.collect(cdk().propertyValidator("fieldSort",CfnTemplateFieldSortPropertyValidator)(properties.fieldSort)),errors.wrap('supplied properties not correct for "FieldSortOptionsProperty"')}function convertCfnTemplateFieldSortOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFieldSortOptionsPropertyValidator(properties).assertSuccess(),{ColumnSort:convertCfnTemplateColumnSortPropertyToCloudFormation(properties.columnSort),FieldSort:convertCfnTemplateFieldSortPropertyToCloudFormation(properties.fieldSort)}):properties}function CfnTemplateFieldSortOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnSort","ColumnSort",properties.ColumnSort!=null?CfnTemplateColumnSortPropertyFromCloudFormation(properties.ColumnSort):void 0),ret.addPropertyResult("fieldSort","FieldSort",properties.FieldSort!=null?CfnTemplateFieldSortPropertyFromCloudFormation(properties.FieldSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFunnelChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "FunnelChartSortConfigurationProperty"')}function convertCfnTemplateFunnelChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFunnelChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnTemplateFunnelChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFunnelChartDataLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelVisibility",cdk().validateString)(properties.categoryLabelVisibility)),errors.collect(cdk().propertyValidator("labelColor",cdk().validateString)(properties.labelColor)),errors.collect(cdk().propertyValidator("labelFontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.labelFontConfiguration)),errors.collect(cdk().propertyValidator("measureDataLabelStyle",cdk().validateString)(properties.measureDataLabelStyle)),errors.collect(cdk().propertyValidator("measureLabelVisibility",cdk().validateString)(properties.measureLabelVisibility)),errors.collect(cdk().propertyValidator("position",cdk().validateString)(properties.position)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FunnelChartDataLabelOptionsProperty"')}function convertCfnTemplateFunnelChartDataLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFunnelChartDataLabelOptionsPropertyValidator(properties).assertSuccess(),{CategoryLabelVisibility:cdk().stringToCloudFormation(properties.categoryLabelVisibility),LabelColor:cdk().stringToCloudFormation(properties.labelColor),LabelFontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.labelFontConfiguration),MeasureDataLabelStyle:cdk().stringToCloudFormation(properties.measureDataLabelStyle),MeasureLabelVisibility:cdk().stringToCloudFormation(properties.measureLabelVisibility),Position:cdk().stringToCloudFormation(properties.position),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateFunnelChartDataLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelVisibility","CategoryLabelVisibility",properties.CategoryLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryLabelVisibility):void 0),ret.addPropertyResult("labelColor","LabelColor",properties.LabelColor!=null?cfn_parse().FromCloudFormation.getString(properties.LabelColor):void 0),ret.addPropertyResult("labelFontConfiguration","LabelFontConfiguration",properties.LabelFontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.LabelFontConfiguration):void 0),ret.addPropertyResult("measureDataLabelStyle","MeasureDataLabelStyle",properties.MeasureDataLabelStyle!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureDataLabelStyle):void 0),ret.addPropertyResult("measureLabelVisibility","MeasureLabelVisibility",properties.MeasureLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureLabelVisibility):void 0),ret.addPropertyResult("position","Position",properties.Position!=null?cfn_parse().FromCloudFormation.getString(properties.Position):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisLabelReferenceOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "AxisLabelReferenceOptionsProperty"')}function convertCfnTemplateAxisLabelReferenceOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisLabelReferenceOptionsPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnTemplateAxisLabelReferenceOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("applyTo",CfnTemplateAxisLabelReferenceOptionsPropertyValidator)(properties.applyTo)),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.wrap('supplied properties not correct for "AxisLabelOptionsProperty"')}function convertCfnTemplateAxisLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisLabelOptionsPropertyValidator(properties).assertSuccess(),{ApplyTo:convertCfnTemplateAxisLabelReferenceOptionsPropertyToCloudFormation(properties.applyTo),CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.fontConfiguration)}):properties}function CfnTemplateAxisLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("applyTo","ApplyTo",properties.ApplyTo!=null?CfnTemplateAxisLabelReferenceOptionsPropertyFromCloudFormation(properties.ApplyTo):void 0),ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateChartAxisLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisLabelOptions",cdk().listValidator(CfnTemplateAxisLabelOptionsPropertyValidator))(properties.axisLabelOptions)),errors.collect(cdk().propertyValidator("sortIconVisibility",cdk().validateString)(properties.sortIconVisibility)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ChartAxisLabelOptionsProperty"')}function convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateChartAxisLabelOptionsPropertyValidator(properties).assertSuccess(),{AxisLabelOptions:cdk().listMapper(convertCfnTemplateAxisLabelOptionsPropertyToCloudFormation)(properties.axisLabelOptions),SortIconVisibility:cdk().stringToCloudFormation(properties.sortIconVisibility),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisLabelOptions","AxisLabelOptions",properties.AxisLabelOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateAxisLabelOptionsPropertyFromCloudFormation)(properties.AxisLabelOptions):void 0),ret.addPropertyResult("sortIconVisibility","SortIconVisibility",properties.SortIconVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.SortIconVisibility):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDateDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("dateGranularity",cdk().validateString)(properties.dateGranularity)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateDateTimeFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "DateDimensionFieldProperty"')}function convertCfnTemplateDateDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDateDimensionFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),DateGranularity:cdk().stringToCloudFormation(properties.dateGranularity),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnTemplateDateTimeFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnTemplateDateDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("dateGranularity","DateGranularity",properties.DateGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.DateGranularity):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateDateTimeFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericalDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateNumberFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "NumericalDimensionFieldProperty"')}function convertCfnTemplateNumericalDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericalDimensionFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnTemplateNumberFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnTemplateNumericalDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateNumberFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCategoricalDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateStringFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "CategoricalDimensionFieldProperty"')}function convertCfnTemplateCategoricalDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCategoricalDimensionFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnTemplateStringFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnTemplateCategoricalDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateStringFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDimensionFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoricalDimensionField",CfnTemplateCategoricalDimensionFieldPropertyValidator)(properties.categoricalDimensionField)),errors.collect(cdk().propertyValidator("dateDimensionField",CfnTemplateDateDimensionFieldPropertyValidator)(properties.dateDimensionField)),errors.collect(cdk().propertyValidator("numericalDimensionField",CfnTemplateNumericalDimensionFieldPropertyValidator)(properties.numericalDimensionField)),errors.wrap('supplied properties not correct for "DimensionFieldProperty"')}function convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDimensionFieldPropertyValidator(properties).assertSuccess(),{CategoricalDimensionField:convertCfnTemplateCategoricalDimensionFieldPropertyToCloudFormation(properties.categoricalDimensionField),DateDimensionField:convertCfnTemplateDateDimensionFieldPropertyToCloudFormation(properties.dateDimensionField),NumericalDimensionField:convertCfnTemplateNumericalDimensionFieldPropertyToCloudFormation(properties.numericalDimensionField)}):properties}function CfnTemplateDimensionFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoricalDimensionField","CategoricalDimensionField",properties.CategoricalDimensionField!=null?CfnTemplateCategoricalDimensionFieldPropertyFromCloudFormation(properties.CategoricalDimensionField):void 0),ret.addPropertyResult("dateDimensionField","DateDimensionField",properties.DateDimensionField!=null?CfnTemplateDateDimensionFieldPropertyFromCloudFormation(properties.DateDimensionField):void 0),ret.addPropertyResult("numericalDimensionField","NumericalDimensionField",properties.NumericalDimensionField!=null?CfnTemplateNumericalDimensionFieldPropertyFromCloudFormation(properties.NumericalDimensionField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDateMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",cdk().validateString)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateDateTimeFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "DateMeasureFieldProperty"')}function convertCfnTemplateDateMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDateMeasureFieldPropertyValidator(properties).assertSuccess(),{AggregationFunction:cdk().stringToCloudFormation(properties.aggregationFunction),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnTemplateDateTimeFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnTemplateDateMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateDateTimeFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericalMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",CfnTemplateNumericalAggregationFunctionPropertyValidator)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateNumberFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "NumericalMeasureFieldProperty"')}function convertCfnTemplateNumericalMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericalMeasureFieldPropertyValidator(properties).assertSuccess(),{AggregationFunction:convertCfnTemplateNumericalAggregationFunctionPropertyToCloudFormation(properties.aggregationFunction),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnTemplateNumberFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnTemplateNumericalMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?CfnTemplateNumericalAggregationFunctionPropertyFromCloudFormation(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateNumberFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCategoricalMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationFunction",cdk().validateString)(properties.aggregationFunction)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateStringFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "CategoricalMeasureFieldProperty"')}function convertCfnTemplateCategoricalMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCategoricalMeasureFieldPropertyValidator(properties).assertSuccess(),{AggregationFunction:cdk().stringToCloudFormation(properties.aggregationFunction),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnTemplateStringFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnTemplateCategoricalMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationFunction","AggregationFunction",properties.AggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.AggregationFunction):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateStringFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCalculatedMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "CalculatedMeasureFieldProperty"')}function convertCfnTemplateCalculatedMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCalculatedMeasureFieldPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnTemplateCalculatedMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateMeasureFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("calculatedMeasureField",CfnTemplateCalculatedMeasureFieldPropertyValidator)(properties.calculatedMeasureField)),errors.collect(cdk().propertyValidator("categoricalMeasureField",CfnTemplateCategoricalMeasureFieldPropertyValidator)(properties.categoricalMeasureField)),errors.collect(cdk().propertyValidator("dateMeasureField",CfnTemplateDateMeasureFieldPropertyValidator)(properties.dateMeasureField)),errors.collect(cdk().propertyValidator("numericalMeasureField",CfnTemplateNumericalMeasureFieldPropertyValidator)(properties.numericalMeasureField)),errors.wrap('supplied properties not correct for "MeasureFieldProperty"')}function convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateMeasureFieldPropertyValidator(properties).assertSuccess(),{CalculatedMeasureField:convertCfnTemplateCalculatedMeasureFieldPropertyToCloudFormation(properties.calculatedMeasureField),CategoricalMeasureField:convertCfnTemplateCategoricalMeasureFieldPropertyToCloudFormation(properties.categoricalMeasureField),DateMeasureField:convertCfnTemplateDateMeasureFieldPropertyToCloudFormation(properties.dateMeasureField),NumericalMeasureField:convertCfnTemplateNumericalMeasureFieldPropertyToCloudFormation(properties.numericalMeasureField)}):properties}function CfnTemplateMeasureFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("calculatedMeasureField","CalculatedMeasureField",properties.CalculatedMeasureField!=null?CfnTemplateCalculatedMeasureFieldPropertyFromCloudFormation(properties.CalculatedMeasureField):void 0),ret.addPropertyResult("categoricalMeasureField","CategoricalMeasureField",properties.CategoricalMeasureField!=null?CfnTemplateCategoricalMeasureFieldPropertyFromCloudFormation(properties.CategoricalMeasureField):void 0),ret.addPropertyResult("dateMeasureField","DateMeasureField",properties.DateMeasureField!=null?CfnTemplateDateMeasureFieldPropertyFromCloudFormation(properties.DateMeasureField):void 0),ret.addPropertyResult("numericalMeasureField","NumericalMeasureField",properties.NumericalMeasureField!=null?CfnTemplateNumericalMeasureFieldPropertyFromCloudFormation(properties.NumericalMeasureField):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFunnelChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "FunnelChartAggregatedFieldWellsProperty"')}function convertCfnTemplateFunnelChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFunnelChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.category),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateFunnelChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFunnelChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("funnelChartAggregatedFieldWells",CfnTemplateFunnelChartAggregatedFieldWellsPropertyValidator)(properties.funnelChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "FunnelChartFieldWellsProperty"')}function convertCfnTemplateFunnelChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFunnelChartFieldWellsPropertyValidator(properties).assertSuccess(),{FunnelChartAggregatedFieldWells:convertCfnTemplateFunnelChartAggregatedFieldWellsPropertyToCloudFormation(properties.funnelChartAggregatedFieldWells)}):properties}function CfnTemplateFunnelChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("funnelChartAggregatedFieldWells","FunnelChartAggregatedFieldWells",properties.FunnelChartAggregatedFieldWells!=null?CfnTemplateFunnelChartAggregatedFieldWellsPropertyFromCloudFormation(properties.FunnelChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFieldTooltipItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("label",cdk().validateString)(properties.label)),errors.collect(cdk().propertyValidator("tooltipTarget",cdk().validateString)(properties.tooltipTarget)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FieldTooltipItemProperty"')}function convertCfnTemplateFieldTooltipItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFieldTooltipItemPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Label:cdk().stringToCloudFormation(properties.label),TooltipTarget:cdk().stringToCloudFormation(properties.tooltipTarget),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateFieldTooltipItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("tooltipTarget","TooltipTarget",properties.TooltipTarget!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipTarget):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColumnTooltipItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregation",CfnTemplateAggregationFunctionPropertyValidator)(properties.aggregation)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("label",cdk().validateString)(properties.label)),errors.collect(cdk().propertyValidator("tooltipTarget",cdk().validateString)(properties.tooltipTarget)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ColumnTooltipItemProperty"')}function convertCfnTemplateColumnTooltipItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColumnTooltipItemPropertyValidator(properties).assertSuccess(),{Aggregation:convertCfnTemplateAggregationFunctionPropertyToCloudFormation(properties.aggregation),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),Label:cdk().stringToCloudFormation(properties.label),TooltipTarget:cdk().stringToCloudFormation(properties.tooltipTarget),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateColumnTooltipItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregation","Aggregation",properties.Aggregation!=null?CfnTemplateAggregationFunctionPropertyFromCloudFormation(properties.Aggregation):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getString(properties.Label):void 0),ret.addPropertyResult("tooltipTarget","TooltipTarget",properties.TooltipTarget!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipTarget):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTooltipItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnTooltipItem",CfnTemplateColumnTooltipItemPropertyValidator)(properties.columnTooltipItem)),errors.collect(cdk().propertyValidator("fieldTooltipItem",CfnTemplateFieldTooltipItemPropertyValidator)(properties.fieldTooltipItem)),errors.wrap('supplied properties not correct for "TooltipItemProperty"')}function convertCfnTemplateTooltipItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTooltipItemPropertyValidator(properties).assertSuccess(),{ColumnTooltipItem:convertCfnTemplateColumnTooltipItemPropertyToCloudFormation(properties.columnTooltipItem),FieldTooltipItem:convertCfnTemplateFieldTooltipItemPropertyToCloudFormation(properties.fieldTooltipItem)}):properties}function CfnTemplateTooltipItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnTooltipItem","ColumnTooltipItem",properties.ColumnTooltipItem!=null?CfnTemplateColumnTooltipItemPropertyFromCloudFormation(properties.ColumnTooltipItem):void 0),ret.addPropertyResult("fieldTooltipItem","FieldTooltipItem",properties.FieldTooltipItem!=null?CfnTemplateFieldTooltipItemPropertyFromCloudFormation(properties.FieldTooltipItem):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFieldBasedTooltipPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregationVisibility",cdk().validateString)(properties.aggregationVisibility)),errors.collect(cdk().propertyValidator("tooltipFields",cdk().listValidator(CfnTemplateTooltipItemPropertyValidator))(properties.tooltipFields)),errors.collect(cdk().propertyValidator("tooltipTitleType",cdk().validateString)(properties.tooltipTitleType)),errors.wrap('supplied properties not correct for "FieldBasedTooltipProperty"')}function convertCfnTemplateFieldBasedTooltipPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFieldBasedTooltipPropertyValidator(properties).assertSuccess(),{AggregationVisibility:cdk().stringToCloudFormation(properties.aggregationVisibility),TooltipFields:cdk().listMapper(convertCfnTemplateTooltipItemPropertyToCloudFormation)(properties.tooltipFields),TooltipTitleType:cdk().stringToCloudFormation(properties.tooltipTitleType)}):properties}function CfnTemplateFieldBasedTooltipPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregationVisibility","AggregationVisibility",properties.AggregationVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AggregationVisibility):void 0),ret.addPropertyResult("tooltipFields","TooltipFields",properties.TooltipFields!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateTooltipItemPropertyFromCloudFormation)(properties.TooltipFields):void 0),ret.addPropertyResult("tooltipTitleType","TooltipTitleType",properties.TooltipTitleType!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipTitleType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTooltipOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldBasedTooltip",CfnTemplateFieldBasedTooltipPropertyValidator)(properties.fieldBasedTooltip)),errors.collect(cdk().propertyValidator("selectedTooltipType",cdk().validateString)(properties.selectedTooltipType)),errors.collect(cdk().propertyValidator("tooltipVisibility",cdk().validateString)(properties.tooltipVisibility)),errors.wrap('supplied properties not correct for "TooltipOptionsProperty"')}function convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTooltipOptionsPropertyValidator(properties).assertSuccess(),{FieldBasedTooltip:convertCfnTemplateFieldBasedTooltipPropertyToCloudFormation(properties.fieldBasedTooltip),SelectedTooltipType:cdk().stringToCloudFormation(properties.selectedTooltipType),TooltipVisibility:cdk().stringToCloudFormation(properties.tooltipVisibility)}):properties}function CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldBasedTooltip","FieldBasedTooltip",properties.FieldBasedTooltip!=null?CfnTemplateFieldBasedTooltipPropertyFromCloudFormation(properties.FieldBasedTooltip):void 0),ret.addPropertyResult("selectedTooltipType","SelectedTooltipType",properties.SelectedTooltipType!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedTooltipType):void 0),ret.addPropertyResult("tooltipVisibility","TooltipVisibility",properties.TooltipVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataPathTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pivotTableDataPathType",cdk().validateString)(properties.pivotTableDataPathType)),errors.wrap('supplied properties not correct for "DataPathTypeProperty"')}function convertCfnTemplateDataPathTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataPathTypePropertyValidator(properties).assertSuccess(),{PivotTableDataPathType:cdk().stringToCloudFormation(properties.pivotTableDataPathType)}):properties}function CfnTemplateDataPathTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pivotTableDataPathType","PivotTableDataPathType",properties.PivotTableDataPathType!=null?cfn_parse().FromCloudFormation.getString(properties.PivotTableDataPathType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataPathValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataPathType",CfnTemplateDataPathTypePropertyValidator)(properties.dataPathType)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.wrap('supplied properties not correct for "DataPathValueProperty"')}function convertCfnTemplateDataPathValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataPathValuePropertyValidator(properties).assertSuccess(),{DataPathType:convertCfnTemplateDataPathTypePropertyToCloudFormation(properties.dataPathType),FieldId:cdk().stringToCloudFormation(properties.fieldId),FieldValue:cdk().stringToCloudFormation(properties.fieldValue)}):properties}function CfnTemplateDataPathValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataPathType","DataPathType",properties.DataPathType!=null?CfnTemplateDataPathTypePropertyFromCloudFormation(properties.DataPathType):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataPathColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("element",cdk().requiredValidator)(properties.element)),errors.collect(cdk().propertyValidator("element",CfnTemplateDataPathValuePropertyValidator)(properties.element)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "DataPathColorProperty"')}function convertCfnTemplateDataPathColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataPathColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Element:convertCfnTemplateDataPathValuePropertyToCloudFormation(properties.element),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnTemplateDataPathColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("element","Element",properties.Element!=null?CfnTemplateDataPathValuePropertyFromCloudFormation(properties.Element):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateVisualPalettePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("chartColor",cdk().validateString)(properties.chartColor)),errors.collect(cdk().propertyValidator("colorMap",cdk().listValidator(CfnTemplateDataPathColorPropertyValidator))(properties.colorMap)),errors.wrap('supplied properties not correct for "VisualPaletteProperty"')}function convertCfnTemplateVisualPalettePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateVisualPalettePropertyValidator(properties).assertSuccess(),{ChartColor:cdk().stringToCloudFormation(properties.chartColor),ColorMap:cdk().listMapper(convertCfnTemplateDataPathColorPropertyToCloudFormation)(properties.colorMap)}):properties}function CfnTemplateVisualPalettePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("chartColor","ChartColor",properties.ChartColor!=null?cfn_parse().FromCloudFormation.getString(properties.ChartColor):void 0),ret.addPropertyResult("colorMap","ColorMap",properties.ColorMap!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDataPathColorPropertyFromCloudFormation)(properties.ColorMap):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateContextMenuOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ContextMenuOptionProperty"')}function convertCfnTemplateContextMenuOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateContextMenuOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnTemplateContextMenuOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateVisualMenuOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "VisualMenuOptionProperty"')}function convertCfnTemplateVisualMenuOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateVisualMenuOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnTemplateVisualMenuOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateVisualInteractionOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contextMenuOption",CfnTemplateContextMenuOptionPropertyValidator)(properties.contextMenuOption)),errors.collect(cdk().propertyValidator("visualMenuOption",CfnTemplateVisualMenuOptionPropertyValidator)(properties.visualMenuOption)),errors.wrap('supplied properties not correct for "VisualInteractionOptionsProperty"')}function convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateVisualInteractionOptionsPropertyValidator(properties).assertSuccess(),{ContextMenuOption:convertCfnTemplateContextMenuOptionPropertyToCloudFormation(properties.contextMenuOption),VisualMenuOption:convertCfnTemplateVisualMenuOptionPropertyToCloudFormation(properties.visualMenuOption)}):properties}function CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contextMenuOption","ContextMenuOption",properties.ContextMenuOption!=null?CfnTemplateContextMenuOptionPropertyFromCloudFormation(properties.ContextMenuOption):void 0),ret.addPropertyResult("visualMenuOption","VisualMenuOption",properties.VisualMenuOption!=null?CfnTemplateVisualMenuOptionPropertyFromCloudFormation(properties.VisualMenuOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFunnelChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("dataLabelOptions",CfnTemplateFunnelChartDataLabelOptionsPropertyValidator)(properties.dataLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateFunnelChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateFunnelChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("valueLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.valueLabelOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "FunnelChartConfigurationProperty"')}function convertCfnTemplateFunnelChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFunnelChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),DataLabelOptions:convertCfnTemplateFunnelChartDataLabelOptionsPropertyToCloudFormation(properties.dataLabelOptions),FieldWells:convertCfnTemplateFunnelChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),SortConfiguration:convertCfnTemplateFunnelChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),ValueLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.valueLabelOptions),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnTemplateFunnelChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("dataLabelOptions","DataLabelOptions",properties.DataLabelOptions!=null?CfnTemplateFunnelChartDataLabelOptionsPropertyFromCloudFormation(properties.DataLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateFunnelChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateFunnelChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("valueLabelOptions","ValueLabelOptions",properties.ValueLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.ValueLabelOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLocalNavigationConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetSheetId",cdk().requiredValidator)(properties.targetSheetId)),errors.collect(cdk().propertyValidator("targetSheetId",cdk().validateString)(properties.targetSheetId)),errors.wrap('supplied properties not correct for "LocalNavigationConfigurationProperty"')}function convertCfnTemplateLocalNavigationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLocalNavigationConfigurationPropertyValidator(properties).assertSuccess(),{TargetSheetId:cdk().stringToCloudFormation(properties.targetSheetId)}):properties}function CfnTemplateLocalNavigationConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetSheetId","TargetSheetId",properties.TargetSheetId!=null?cfn_parse().FromCloudFormation.getString(properties.TargetSheetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomActionNavigationOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("localNavigationConfiguration",CfnTemplateLocalNavigationConfigurationPropertyValidator)(properties.localNavigationConfiguration)),errors.wrap('supplied properties not correct for "CustomActionNavigationOperationProperty"')}function convertCfnTemplateCustomActionNavigationOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomActionNavigationOperationPropertyValidator(properties).assertSuccess(),{LocalNavigationConfiguration:convertCfnTemplateLocalNavigationConfigurationPropertyToCloudFormation(properties.localNavigationConfiguration)}):properties}function CfnTemplateCustomActionNavigationOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("localNavigationConfiguration","LocalNavigationConfiguration",properties.LocalNavigationConfiguration!=null?CfnTemplateLocalNavigationConfigurationPropertyFromCloudFormation(properties.LocalNavigationConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomParameterValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeValues",cdk().listValidator(cdk().validateString))(properties.dateTimeValues)),errors.collect(cdk().propertyValidator("decimalValues",cdk().listValidator(cdk().validateNumber))(properties.decimalValues)),errors.collect(cdk().propertyValidator("integerValues",cdk().listValidator(cdk().validateNumber))(properties.integerValues)),errors.collect(cdk().propertyValidator("stringValues",cdk().listValidator(cdk().validateString))(properties.stringValues)),errors.wrap('supplied properties not correct for "CustomParameterValuesProperty"')}function convertCfnTemplateCustomParameterValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomParameterValuesPropertyValidator(properties).assertSuccess(),{DateTimeValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.dateTimeValues),DecimalValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.decimalValues),IntegerValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.integerValues),StringValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.stringValues)}):properties}function CfnTemplateCustomParameterValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeValues","DateTimeValues",properties.DateTimeValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DateTimeValues):void 0),ret.addPropertyResult("decimalValues","DecimalValues",properties.DecimalValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.DecimalValues):void 0),ret.addPropertyResult("integerValues","IntegerValues",properties.IntegerValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.IntegerValues):void 0),ret.addPropertyResult("stringValues","StringValues",properties.StringValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StringValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomValuesConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValues",cdk().requiredValidator)(properties.customValues)),errors.collect(cdk().propertyValidator("customValues",CfnTemplateCustomParameterValuesPropertyValidator)(properties.customValues)),errors.collect(cdk().propertyValidator("includeNullValue",cdk().validateBoolean)(properties.includeNullValue)),errors.wrap('supplied properties not correct for "CustomValuesConfigurationProperty"')}function convertCfnTemplateCustomValuesConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomValuesConfigurationPropertyValidator(properties).assertSuccess(),{CustomValues:convertCfnTemplateCustomParameterValuesPropertyToCloudFormation(properties.customValues),IncludeNullValue:cdk().booleanToCloudFormation(properties.includeNullValue)}):properties}function CfnTemplateCustomValuesConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValues","CustomValues",properties.CustomValues!=null?CfnTemplateCustomParameterValuesPropertyFromCloudFormation(properties.CustomValues):void 0),ret.addPropertyResult("includeNullValue","IncludeNullValue",properties.IncludeNullValue!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IncludeNullValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDestinationParameterValueConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValuesConfiguration",CfnTemplateCustomValuesConfigurationPropertyValidator)(properties.customValuesConfiguration)),errors.collect(cdk().propertyValidator("selectAllValueOptions",cdk().validateString)(properties.selectAllValueOptions)),errors.collect(cdk().propertyValidator("sourceColumn",CfnTemplateColumnIdentifierPropertyValidator)(properties.sourceColumn)),errors.collect(cdk().propertyValidator("sourceField",cdk().validateString)(properties.sourceField)),errors.collect(cdk().propertyValidator("sourceParameterName",cdk().validateString)(properties.sourceParameterName)),errors.wrap('supplied properties not correct for "DestinationParameterValueConfigurationProperty"')}function convertCfnTemplateDestinationParameterValueConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDestinationParameterValueConfigurationPropertyValidator(properties).assertSuccess(),{CustomValuesConfiguration:convertCfnTemplateCustomValuesConfigurationPropertyToCloudFormation(properties.customValuesConfiguration),SelectAllValueOptions:cdk().stringToCloudFormation(properties.selectAllValueOptions),SourceColumn:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.sourceColumn),SourceField:cdk().stringToCloudFormation(properties.sourceField),SourceParameterName:cdk().stringToCloudFormation(properties.sourceParameterName)}):properties}function CfnTemplateDestinationParameterValueConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValuesConfiguration","CustomValuesConfiguration",properties.CustomValuesConfiguration!=null?CfnTemplateCustomValuesConfigurationPropertyFromCloudFormation(properties.CustomValuesConfiguration):void 0),ret.addPropertyResult("selectAllValueOptions","SelectAllValueOptions",properties.SelectAllValueOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectAllValueOptions):void 0),ret.addPropertyResult("sourceColumn","SourceColumn",properties.SourceColumn!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.SourceColumn):void 0),ret.addPropertyResult("sourceField","SourceField",properties.SourceField!=null?cfn_parse().FromCloudFormation.getString(properties.SourceField):void 0),ret.addPropertyResult("sourceParameterName","SourceParameterName",properties.SourceParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.SourceParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSetParameterValueConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationParameterName",cdk().requiredValidator)(properties.destinationParameterName)),errors.collect(cdk().propertyValidator("destinationParameterName",cdk().validateString)(properties.destinationParameterName)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",CfnTemplateDestinationParameterValueConfigurationPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "SetParameterValueConfigurationProperty"')}function convertCfnTemplateSetParameterValueConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSetParameterValueConfigurationPropertyValidator(properties).assertSuccess(),{DestinationParameterName:cdk().stringToCloudFormation(properties.destinationParameterName),Value:convertCfnTemplateDestinationParameterValueConfigurationPropertyToCloudFormation(properties.value)}):properties}function CfnTemplateSetParameterValueConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationParameterName","DestinationParameterName",properties.DestinationParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationParameterName):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnTemplateDestinationParameterValueConfigurationPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomActionSetParametersOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("parameterValueConfigurations",cdk().requiredValidator)(properties.parameterValueConfigurations)),errors.collect(cdk().propertyValidator("parameterValueConfigurations",cdk().listValidator(CfnTemplateSetParameterValueConfigurationPropertyValidator))(properties.parameterValueConfigurations)),errors.wrap('supplied properties not correct for "CustomActionSetParametersOperationProperty"')}function convertCfnTemplateCustomActionSetParametersOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomActionSetParametersOperationPropertyValidator(properties).assertSuccess(),{ParameterValueConfigurations:cdk().listMapper(convertCfnTemplateSetParameterValueConfigurationPropertyToCloudFormation)(properties.parameterValueConfigurations)}):properties}function CfnTemplateCustomActionSetParametersOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("parameterValueConfigurations","ParameterValueConfigurations",properties.ParameterValueConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateSetParameterValueConfigurationPropertyFromCloudFormation)(properties.ParameterValueConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterOperationSelectedFieldsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("selectedColumns",cdk().listValidator(CfnTemplateColumnIdentifierPropertyValidator))(properties.selectedColumns)),errors.collect(cdk().propertyValidator("selectedFieldOptions",cdk().validateString)(properties.selectedFieldOptions)),errors.collect(cdk().propertyValidator("selectedFields",cdk().listValidator(cdk().validateString))(properties.selectedFields)),errors.wrap('supplied properties not correct for "FilterOperationSelectedFieldsConfigurationProperty"')}function convertCfnTemplateFilterOperationSelectedFieldsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterOperationSelectedFieldsConfigurationPropertyValidator(properties).assertSuccess(),{SelectedColumns:cdk().listMapper(convertCfnTemplateColumnIdentifierPropertyToCloudFormation)(properties.selectedColumns),SelectedFieldOptions:cdk().stringToCloudFormation(properties.selectedFieldOptions),SelectedFields:cdk().listMapper(cdk().stringToCloudFormation)(properties.selectedFields)}):properties}function CfnTemplateFilterOperationSelectedFieldsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("selectedColumns","SelectedColumns",properties.SelectedColumns!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnIdentifierPropertyFromCloudFormation)(properties.SelectedColumns):void 0),ret.addPropertyResult("selectedFieldOptions","SelectedFieldOptions",properties.SelectedFieldOptions!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedFieldOptions):void 0),ret.addPropertyResult("selectedFields","SelectedFields",properties.SelectedFields!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SelectedFields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSameSheetTargetVisualConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetVisualOptions",cdk().validateString)(properties.targetVisualOptions)),errors.collect(cdk().propertyValidator("targetVisuals",cdk().listValidator(cdk().validateString))(properties.targetVisuals)),errors.wrap('supplied properties not correct for "SameSheetTargetVisualConfigurationProperty"')}function convertCfnTemplateSameSheetTargetVisualConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSameSheetTargetVisualConfigurationPropertyValidator(properties).assertSuccess(),{TargetVisualOptions:cdk().stringToCloudFormation(properties.targetVisualOptions),TargetVisuals:cdk().listMapper(cdk().stringToCloudFormation)(properties.targetVisuals)}):properties}function CfnTemplateSameSheetTargetVisualConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetVisualOptions","TargetVisualOptions",properties.TargetVisualOptions!=null?cfn_parse().FromCloudFormation.getString(properties.TargetVisualOptions):void 0),ret.addPropertyResult("targetVisuals","TargetVisuals",properties.TargetVisuals!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TargetVisuals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilterOperationTargetVisualsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sameSheetTargetVisualConfiguration",CfnTemplateSameSheetTargetVisualConfigurationPropertyValidator)(properties.sameSheetTargetVisualConfiguration)),errors.wrap('supplied properties not correct for "FilterOperationTargetVisualsConfigurationProperty"')}function convertCfnTemplateFilterOperationTargetVisualsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilterOperationTargetVisualsConfigurationPropertyValidator(properties).assertSuccess(),{SameSheetTargetVisualConfiguration:convertCfnTemplateSameSheetTargetVisualConfigurationPropertyToCloudFormation(properties.sameSheetTargetVisualConfiguration)}):properties}function CfnTemplateFilterOperationTargetVisualsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sameSheetTargetVisualConfiguration","SameSheetTargetVisualConfiguration",properties.SameSheetTargetVisualConfiguration!=null?CfnTemplateSameSheetTargetVisualConfigurationPropertyFromCloudFormation(properties.SameSheetTargetVisualConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomActionFilterOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("selectedFieldsConfiguration",cdk().requiredValidator)(properties.selectedFieldsConfiguration)),errors.collect(cdk().propertyValidator("selectedFieldsConfiguration",CfnTemplateFilterOperationSelectedFieldsConfigurationPropertyValidator)(properties.selectedFieldsConfiguration)),errors.collect(cdk().propertyValidator("targetVisualsConfiguration",cdk().requiredValidator)(properties.targetVisualsConfiguration)),errors.collect(cdk().propertyValidator("targetVisualsConfiguration",CfnTemplateFilterOperationTargetVisualsConfigurationPropertyValidator)(properties.targetVisualsConfiguration)),errors.wrap('supplied properties not correct for "CustomActionFilterOperationProperty"')}function convertCfnTemplateCustomActionFilterOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomActionFilterOperationPropertyValidator(properties).assertSuccess(),{SelectedFieldsConfiguration:convertCfnTemplateFilterOperationSelectedFieldsConfigurationPropertyToCloudFormation(properties.selectedFieldsConfiguration),TargetVisualsConfiguration:convertCfnTemplateFilterOperationTargetVisualsConfigurationPropertyToCloudFormation(properties.targetVisualsConfiguration)}):properties}function CfnTemplateCustomActionFilterOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("selectedFieldsConfiguration","SelectedFieldsConfiguration",properties.SelectedFieldsConfiguration!=null?CfnTemplateFilterOperationSelectedFieldsConfigurationPropertyFromCloudFormation(properties.SelectedFieldsConfiguration):void 0),ret.addPropertyResult("targetVisualsConfiguration","TargetVisualsConfiguration",properties.TargetVisualsConfiguration!=null?CfnTemplateFilterOperationTargetVisualsConfigurationPropertyFromCloudFormation(properties.TargetVisualsConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomActionURLOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("urlTarget",cdk().requiredValidator)(properties.urlTarget)),errors.collect(cdk().propertyValidator("urlTarget",cdk().validateString)(properties.urlTarget)),errors.collect(cdk().propertyValidator("urlTemplate",cdk().requiredValidator)(properties.urlTemplate)),errors.collect(cdk().propertyValidator("urlTemplate",cdk().validateString)(properties.urlTemplate)),errors.wrap('supplied properties not correct for "CustomActionURLOperationProperty"')}function convertCfnTemplateCustomActionURLOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomActionURLOperationPropertyValidator(properties).assertSuccess(),{URLTarget:cdk().stringToCloudFormation(properties.urlTarget),URLTemplate:cdk().stringToCloudFormation(properties.urlTemplate)}):properties}function CfnTemplateCustomActionURLOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("urlTarget","URLTarget",properties.URLTarget!=null?cfn_parse().FromCloudFormation.getString(properties.URLTarget):void 0),ret.addPropertyResult("urlTemplate","URLTemplate",properties.URLTemplate!=null?cfn_parse().FromCloudFormation.getString(properties.URLTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateVisualCustomActionOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("filterOperation",CfnTemplateCustomActionFilterOperationPropertyValidator)(properties.filterOperation)),errors.collect(cdk().propertyValidator("navigationOperation",CfnTemplateCustomActionNavigationOperationPropertyValidator)(properties.navigationOperation)),errors.collect(cdk().propertyValidator("setParametersOperation",CfnTemplateCustomActionSetParametersOperationPropertyValidator)(properties.setParametersOperation)),errors.collect(cdk().propertyValidator("urlOperation",CfnTemplateCustomActionURLOperationPropertyValidator)(properties.urlOperation)),errors.wrap('supplied properties not correct for "VisualCustomActionOperationProperty"')}function convertCfnTemplateVisualCustomActionOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateVisualCustomActionOperationPropertyValidator(properties).assertSuccess(),{FilterOperation:convertCfnTemplateCustomActionFilterOperationPropertyToCloudFormation(properties.filterOperation),NavigationOperation:convertCfnTemplateCustomActionNavigationOperationPropertyToCloudFormation(properties.navigationOperation),SetParametersOperation:convertCfnTemplateCustomActionSetParametersOperationPropertyToCloudFormation(properties.setParametersOperation),URLOperation:convertCfnTemplateCustomActionURLOperationPropertyToCloudFormation(properties.urlOperation)}):properties}function CfnTemplateVisualCustomActionOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("filterOperation","FilterOperation",properties.FilterOperation!=null?CfnTemplateCustomActionFilterOperationPropertyFromCloudFormation(properties.FilterOperation):void 0),ret.addPropertyResult("navigationOperation","NavigationOperation",properties.NavigationOperation!=null?CfnTemplateCustomActionNavigationOperationPropertyFromCloudFormation(properties.NavigationOperation):void 0),ret.addPropertyResult("setParametersOperation","SetParametersOperation",properties.SetParametersOperation!=null?CfnTemplateCustomActionSetParametersOperationPropertyFromCloudFormation(properties.SetParametersOperation):void 0),ret.addPropertyResult("urlOperation","URLOperation",properties.URLOperation!=null?CfnTemplateCustomActionURLOperationPropertyFromCloudFormation(properties.URLOperation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateVisualCustomActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actionOperations",cdk().requiredValidator)(properties.actionOperations)),errors.collect(cdk().propertyValidator("actionOperations",cdk().listValidator(CfnTemplateVisualCustomActionOperationPropertyValidator))(properties.actionOperations)),errors.collect(cdk().propertyValidator("customActionId",cdk().requiredValidator)(properties.customActionId)),errors.collect(cdk().propertyValidator("customActionId",cdk().validateString)(properties.customActionId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("trigger",cdk().requiredValidator)(properties.trigger)),errors.collect(cdk().propertyValidator("trigger",cdk().validateString)(properties.trigger)),errors.wrap('supplied properties not correct for "VisualCustomActionProperty"')}function convertCfnTemplateVisualCustomActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateVisualCustomActionPropertyValidator(properties).assertSuccess(),{ActionOperations:cdk().listMapper(convertCfnTemplateVisualCustomActionOperationPropertyToCloudFormation)(properties.actionOperations),CustomActionId:cdk().stringToCloudFormation(properties.customActionId),Name:cdk().stringToCloudFormation(properties.name),Status:cdk().stringToCloudFormation(properties.status),Trigger:cdk().stringToCloudFormation(properties.trigger)}):properties}function CfnTemplateVisualCustomActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOperations","ActionOperations",properties.ActionOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionOperationPropertyFromCloudFormation)(properties.ActionOperations):void 0),ret.addPropertyResult("customActionId","CustomActionId",properties.CustomActionId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomActionId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("trigger","Trigger",properties.Trigger!=null?cfn_parse().FromCloudFormation.getString(properties.Trigger):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateShortFormatTextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("plainText",cdk().validateString)(properties.plainText)),errors.collect(cdk().propertyValidator("richText",cdk().validateString)(properties.richText)),errors.wrap('supplied properties not correct for "ShortFormatTextProperty"')}function convertCfnTemplateShortFormatTextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateShortFormatTextPropertyValidator(properties).assertSuccess(),{PlainText:cdk().stringToCloudFormation(properties.plainText),RichText:cdk().stringToCloudFormation(properties.richText)}):properties}function CfnTemplateShortFormatTextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("plainText","PlainText",properties.PlainText!=null?cfn_parse().FromCloudFormation.getString(properties.PlainText):void 0),ret.addPropertyResult("richText","RichText",properties.RichText!=null?cfn_parse().FromCloudFormation.getString(properties.RichText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateVisualTitleLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatText",CfnTemplateShortFormatTextPropertyValidator)(properties.formatText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "VisualTitleLabelOptionsProperty"')}function convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateVisualTitleLabelOptionsPropertyValidator(properties).assertSuccess(),{FormatText:convertCfnTemplateShortFormatTextPropertyToCloudFormation(properties.formatText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatText","FormatText",properties.FormatText!=null?CfnTemplateShortFormatTextPropertyFromCloudFormation(properties.FormatText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericEqualityDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "NumericEqualityDrillDownFilterProperty"')}function convertCfnTemplateNumericEqualityDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericEqualityDrillDownFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnTemplateNumericEqualityDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTimeRangeDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("rangeMaximum",cdk().requiredValidator)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMaximum",cdk().validateString)(properties.rangeMaximum)),errors.collect(cdk().propertyValidator("rangeMinimum",cdk().requiredValidator)(properties.rangeMinimum)),errors.collect(cdk().propertyValidator("rangeMinimum",cdk().validateString)(properties.rangeMinimum)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().requiredValidator)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TimeRangeDrillDownFilterProperty"')}function convertCfnTemplateTimeRangeDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTimeRangeDrillDownFilterPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),RangeMaximum:cdk().stringToCloudFormation(properties.rangeMaximum),RangeMinimum:cdk().stringToCloudFormation(properties.rangeMinimum),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnTemplateTimeRangeDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("rangeMaximum","RangeMaximum",properties.RangeMaximum!=null?cfn_parse().FromCloudFormation.getString(properties.RangeMaximum):void 0),ret.addPropertyResult("rangeMinimum","RangeMinimum",properties.RangeMinimum!=null?cfn_parse().FromCloudFormation.getString(properties.RangeMinimum):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCategoryDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryValues",cdk().requiredValidator)(properties.categoryValues)),errors.collect(cdk().propertyValidator("categoryValues",cdk().listValidator(cdk().validateString))(properties.categoryValues)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.wrap('supplied properties not correct for "CategoryDrillDownFilterProperty"')}function convertCfnTemplateCategoryDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCategoryDrillDownFilterPropertyValidator(properties).assertSuccess(),{CategoryValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.categoryValues),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column)}):properties}function CfnTemplateCategoryDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryValues","CategoryValues",properties.CategoryValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CategoryValues):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDrillDownFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryFilter",CfnTemplateCategoryDrillDownFilterPropertyValidator)(properties.categoryFilter)),errors.collect(cdk().propertyValidator("numericEqualityFilter",CfnTemplateNumericEqualityDrillDownFilterPropertyValidator)(properties.numericEqualityFilter)),errors.collect(cdk().propertyValidator("timeRangeFilter",CfnTemplateTimeRangeDrillDownFilterPropertyValidator)(properties.timeRangeFilter)),errors.wrap('supplied properties not correct for "DrillDownFilterProperty"')}function convertCfnTemplateDrillDownFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDrillDownFilterPropertyValidator(properties).assertSuccess(),{CategoryFilter:convertCfnTemplateCategoryDrillDownFilterPropertyToCloudFormation(properties.categoryFilter),NumericEqualityFilter:convertCfnTemplateNumericEqualityDrillDownFilterPropertyToCloudFormation(properties.numericEqualityFilter),TimeRangeFilter:convertCfnTemplateTimeRangeDrillDownFilterPropertyToCloudFormation(properties.timeRangeFilter)}):properties}function CfnTemplateDrillDownFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryFilter","CategoryFilter",properties.CategoryFilter!=null?CfnTemplateCategoryDrillDownFilterPropertyFromCloudFormation(properties.CategoryFilter):void 0),ret.addPropertyResult("numericEqualityFilter","NumericEqualityFilter",properties.NumericEqualityFilter!=null?CfnTemplateNumericEqualityDrillDownFilterPropertyFromCloudFormation(properties.NumericEqualityFilter):void 0),ret.addPropertyResult("timeRangeFilter","TimeRangeFilter",properties.TimeRangeFilter!=null?CfnTemplateTimeRangeDrillDownFilterPropertyFromCloudFormation(properties.TimeRangeFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDateTimeHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("drillDownFilters",cdk().listValidator(CfnTemplateDrillDownFilterPropertyValidator))(properties.drillDownFilters)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().requiredValidator)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "DateTimeHierarchyProperty"')}function convertCfnTemplateDateTimeHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDateTimeHierarchyPropertyValidator(properties).assertSuccess(),{DrillDownFilters:cdk().listMapper(convertCfnTemplateDrillDownFilterPropertyToCloudFormation)(properties.drillDownFilters),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnTemplateDateTimeHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("drillDownFilters","DrillDownFilters",properties.DrillDownFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDrillDownFilterPropertyFromCloudFormation)(properties.DrillDownFilters):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateExplicitHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().requiredValidator)(properties.columns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnTemplateColumnIdentifierPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("drillDownFilters",cdk().listValidator(CfnTemplateDrillDownFilterPropertyValidator))(properties.drillDownFilters)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().requiredValidator)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "ExplicitHierarchyProperty"')}function convertCfnTemplateExplicitHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateExplicitHierarchyPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnTemplateColumnIdentifierPropertyToCloudFormation)(properties.columns),DrillDownFilters:cdk().listMapper(convertCfnTemplateDrillDownFilterPropertyToCloudFormation)(properties.drillDownFilters),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnTemplateExplicitHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnIdentifierPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("drillDownFilters","DrillDownFilters",properties.DrillDownFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDrillDownFilterPropertyFromCloudFormation)(properties.DrillDownFilters):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePredefinedHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().requiredValidator)(properties.columns)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnTemplateColumnIdentifierPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("drillDownFilters",cdk().listValidator(CfnTemplateDrillDownFilterPropertyValidator))(properties.drillDownFilters)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().requiredValidator)(properties.hierarchyId)),errors.collect(cdk().propertyValidator("hierarchyId",cdk().validateString)(properties.hierarchyId)),errors.wrap('supplied properties not correct for "PredefinedHierarchyProperty"')}function convertCfnTemplatePredefinedHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePredefinedHierarchyPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnTemplateColumnIdentifierPropertyToCloudFormation)(properties.columns),DrillDownFilters:cdk().listMapper(convertCfnTemplateDrillDownFilterPropertyToCloudFormation)(properties.drillDownFilters),HierarchyId:cdk().stringToCloudFormation(properties.hierarchyId)}):properties}function CfnTemplatePredefinedHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnIdentifierPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("drillDownFilters","DrillDownFilters",properties.DrillDownFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDrillDownFilterPropertyFromCloudFormation)(properties.DrillDownFilters):void 0),ret.addPropertyResult("hierarchyId","HierarchyId",properties.HierarchyId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColumnHierarchyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeHierarchy",CfnTemplateDateTimeHierarchyPropertyValidator)(properties.dateTimeHierarchy)),errors.collect(cdk().propertyValidator("explicitHierarchy",CfnTemplateExplicitHierarchyPropertyValidator)(properties.explicitHierarchy)),errors.collect(cdk().propertyValidator("predefinedHierarchy",CfnTemplatePredefinedHierarchyPropertyValidator)(properties.predefinedHierarchy)),errors.wrap('supplied properties not correct for "ColumnHierarchyProperty"')}function convertCfnTemplateColumnHierarchyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColumnHierarchyPropertyValidator(properties).assertSuccess(),{DateTimeHierarchy:convertCfnTemplateDateTimeHierarchyPropertyToCloudFormation(properties.dateTimeHierarchy),ExplicitHierarchy:convertCfnTemplateExplicitHierarchyPropertyToCloudFormation(properties.explicitHierarchy),PredefinedHierarchy:convertCfnTemplatePredefinedHierarchyPropertyToCloudFormation(properties.predefinedHierarchy)}):properties}function CfnTemplateColumnHierarchyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeHierarchy","DateTimeHierarchy",properties.DateTimeHierarchy!=null?CfnTemplateDateTimeHierarchyPropertyFromCloudFormation(properties.DateTimeHierarchy):void 0),ret.addPropertyResult("explicitHierarchy","ExplicitHierarchy",properties.ExplicitHierarchy!=null?CfnTemplateExplicitHierarchyPropertyFromCloudFormation(properties.ExplicitHierarchy):void 0),ret.addPropertyResult("predefinedHierarchy","PredefinedHierarchy",properties.PredefinedHierarchy!=null?CfnTemplatePredefinedHierarchyPropertyFromCloudFormation(properties.PredefinedHierarchy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFunnelChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateFunnelChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "FunnelChartVisualProperty"')}function convertCfnTemplateFunnelChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFunnelChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateFunnelChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateFunnelChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateFunnelChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGradientStopPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateNumber)(properties.dataValue)),errors.collect(cdk().propertyValidator("gradientOffset",cdk().requiredValidator)(properties.gradientOffset)),errors.collect(cdk().propertyValidator("gradientOffset",cdk().validateNumber)(properties.gradientOffset)),errors.wrap('supplied properties not correct for "GradientStopProperty"')}function convertCfnTemplateGradientStopPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGradientStopPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().numberToCloudFormation(properties.dataValue),GradientOffset:cdk().numberToCloudFormation(properties.gradientOffset)}):properties}function CfnTemplateGradientStopPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.DataValue):void 0),ret.addPropertyResult("gradientOffset","GradientOffset",properties.GradientOffset!=null?cfn_parse().FromCloudFormation.getNumber(properties.GradientOffset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGradientColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("stops",cdk().listValidator(CfnTemplateGradientStopPropertyValidator))(properties.stops)),errors.wrap('supplied properties not correct for "GradientColorProperty"')}function convertCfnTemplateGradientColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGradientColorPropertyValidator(properties).assertSuccess(),{Stops:cdk().listMapper(convertCfnTemplateGradientStopPropertyToCloudFormation)(properties.stops)}):properties}function CfnTemplateGradientColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("stops","Stops",properties.Stops!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateGradientStopPropertyFromCloudFormation)(properties.Stops):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateConditionalFormattingGradientColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",CfnTemplateGradientColorPropertyValidator)(properties.color)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "ConditionalFormattingGradientColorProperty"')}function convertCfnTemplateConditionalFormattingGradientColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateConditionalFormattingGradientColorPropertyValidator(properties).assertSuccess(),{Color:convertCfnTemplateGradientColorPropertyToCloudFormation(properties.color),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnTemplateConditionalFormattingGradientColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?CfnTemplateGradientColorPropertyFromCloudFormation(properties.Color):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateConditionalFormattingSolidColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.wrap('supplied properties not correct for "ConditionalFormattingSolidColorProperty"')}function convertCfnTemplateConditionalFormattingSolidColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateConditionalFormattingSolidColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Expression:cdk().stringToCloudFormation(properties.expression)}):properties}function CfnTemplateConditionalFormattingSolidColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateConditionalFormattingColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gradient",CfnTemplateConditionalFormattingGradientColorPropertyValidator)(properties.gradient)),errors.collect(cdk().propertyValidator("solid",CfnTemplateConditionalFormattingSolidColorPropertyValidator)(properties.solid)),errors.wrap('supplied properties not correct for "ConditionalFormattingColorProperty"')}function convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateConditionalFormattingColorPropertyValidator(properties).assertSuccess(),{Gradient:convertCfnTemplateConditionalFormattingGradientColorPropertyToCloudFormation(properties.gradient),Solid:convertCfnTemplateConditionalFormattingSolidColorPropertyToCloudFormation(properties.solid)}):properties}function CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gradient","Gradient",properties.Gradient!=null?CfnTemplateConditionalFormattingGradientColorPropertyFromCloudFormation(properties.Gradient):void 0),ret.addPropertyResult("solid","Solid",properties.Solid!=null?CfnTemplateConditionalFormattingSolidColorPropertyFromCloudFormation(properties.Solid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateShapeConditionalFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().requiredValidator)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("backgroundColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.backgroundColor)),errors.wrap('supplied properties not correct for "ShapeConditionalFormatProperty"')}function convertCfnTemplateShapeConditionalFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateShapeConditionalFormatPropertyValidator(properties).assertSuccess(),{BackgroundColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.backgroundColor)}):properties}function CfnTemplateShapeConditionalFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.BackgroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilledMapShapeConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("format",CfnTemplateShapeConditionalFormatPropertyValidator)(properties.format)),errors.wrap('supplied properties not correct for "FilledMapShapeConditionalFormattingProperty"')}function convertCfnTemplateFilledMapShapeConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilledMapShapeConditionalFormattingPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Format:convertCfnTemplateShapeConditionalFormatPropertyToCloudFormation(properties.format)}):properties}function CfnTemplateFilledMapShapeConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("format","Format",properties.Format!=null?CfnTemplateShapeConditionalFormatPropertyFromCloudFormation(properties.Format):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilledMapConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("shape",cdk().requiredValidator)(properties.shape)),errors.collect(cdk().propertyValidator("shape",CfnTemplateFilledMapShapeConditionalFormattingPropertyValidator)(properties.shape)),errors.wrap('supplied properties not correct for "FilledMapConditionalFormattingOptionProperty"')}function convertCfnTemplateFilledMapConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilledMapConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Shape:convertCfnTemplateFilledMapShapeConditionalFormattingPropertyToCloudFormation(properties.shape)}):properties}function CfnTemplateFilledMapConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("shape","Shape",properties.Shape!=null?CfnTemplateFilledMapShapeConditionalFormattingPropertyFromCloudFormation(properties.Shape):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilledMapConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().requiredValidator)(properties.conditionalFormattingOptions)),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnTemplateFilledMapConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "FilledMapConditionalFormattingProperty"')}function convertCfnTemplateFilledMapConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilledMapConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnTemplateFilledMapConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnTemplateFilledMapConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFilledMapConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilledMapSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "FilledMapSortConfigurationProperty"')}function convertCfnTemplateFilledMapSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilledMapSortConfigurationPropertyValidator(properties).assertSuccess(),{CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnTemplateFilledMapSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLegendOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("height",cdk().validateString)(properties.height)),errors.collect(cdk().propertyValidator("position",cdk().validateString)(properties.position)),errors.collect(cdk().propertyValidator("title",CfnTemplateLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("valueFontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.valueFontConfiguration)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "LegendOptionsProperty"')}function convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLegendOptionsPropertyValidator(properties).assertSuccess(),{Height:cdk().stringToCloudFormation(properties.height),Position:cdk().stringToCloudFormation(properties.position),Title:convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties.title),ValueFontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.valueFontConfiguration),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnTemplateLegendOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getString(properties.Height):void 0),ret.addPropertyResult("position","Position",properties.Position!=null?cfn_parse().FromCloudFormation.getString(properties.Position):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("valueFontConfiguration","ValueFontConfiguration",properties.ValueFontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.ValueFontConfiguration):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialMapStyleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("baseMapStyle",cdk().validateString)(properties.baseMapStyle)),errors.wrap('supplied properties not correct for "GeospatialMapStyleOptionsProperty"')}function convertCfnTemplateGeospatialMapStyleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialMapStyleOptionsPropertyValidator(properties).assertSuccess(),{BaseMapStyle:cdk().stringToCloudFormation(properties.baseMapStyle)}):properties}function CfnTemplateGeospatialMapStyleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("baseMapStyle","BaseMapStyle",properties.BaseMapStyle!=null?cfn_parse().FromCloudFormation.getString(properties.BaseMapStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilledMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("geospatial",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.geospatial)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "FilledMapAggregatedFieldWellsProperty"')}function convertCfnTemplateFilledMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilledMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Geospatial:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.geospatial),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateFilledMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("geospatial","Geospatial",properties.Geospatial!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Geospatial):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilledMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("filledMapAggregatedFieldWells",CfnTemplateFilledMapAggregatedFieldWellsPropertyValidator)(properties.filledMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "FilledMapFieldWellsProperty"')}function convertCfnTemplateFilledMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilledMapFieldWellsPropertyValidator(properties).assertSuccess(),{FilledMapAggregatedFieldWells:convertCfnTemplateFilledMapAggregatedFieldWellsPropertyToCloudFormation(properties.filledMapAggregatedFieldWells)}):properties}function CfnTemplateFilledMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("filledMapAggregatedFieldWells","FilledMapAggregatedFieldWells",properties.FilledMapAggregatedFieldWells!=null?CfnTemplateFilledMapAggregatedFieldWellsPropertyFromCloudFormation(properties.FilledMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialCoordinateBoundsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("east",cdk().requiredValidator)(properties.east)),errors.collect(cdk().propertyValidator("east",cdk().validateNumber)(properties.east)),errors.collect(cdk().propertyValidator("north",cdk().requiredValidator)(properties.north)),errors.collect(cdk().propertyValidator("north",cdk().validateNumber)(properties.north)),errors.collect(cdk().propertyValidator("south",cdk().requiredValidator)(properties.south)),errors.collect(cdk().propertyValidator("south",cdk().validateNumber)(properties.south)),errors.collect(cdk().propertyValidator("west",cdk().requiredValidator)(properties.west)),errors.collect(cdk().propertyValidator("west",cdk().validateNumber)(properties.west)),errors.wrap('supplied properties not correct for "GeospatialCoordinateBoundsProperty"')}function convertCfnTemplateGeospatialCoordinateBoundsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialCoordinateBoundsPropertyValidator(properties).assertSuccess(),{East:cdk().numberToCloudFormation(properties.east),North:cdk().numberToCloudFormation(properties.north),South:cdk().numberToCloudFormation(properties.south),West:cdk().numberToCloudFormation(properties.west)}):properties}function CfnTemplateGeospatialCoordinateBoundsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("east","East",properties.East!=null?cfn_parse().FromCloudFormation.getNumber(properties.East):void 0),ret.addPropertyResult("north","North",properties.North!=null?cfn_parse().FromCloudFormation.getNumber(properties.North):void 0),ret.addPropertyResult("south","South",properties.South!=null?cfn_parse().FromCloudFormation.getNumber(properties.South):void 0),ret.addPropertyResult("west","West",properties.West!=null?cfn_parse().FromCloudFormation.getNumber(properties.West):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialWindowOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bounds",CfnTemplateGeospatialCoordinateBoundsPropertyValidator)(properties.bounds)),errors.collect(cdk().propertyValidator("mapZoomMode",cdk().validateString)(properties.mapZoomMode)),errors.wrap('supplied properties not correct for "GeospatialWindowOptionsProperty"')}function convertCfnTemplateGeospatialWindowOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialWindowOptionsPropertyValidator(properties).assertSuccess(),{Bounds:convertCfnTemplateGeospatialCoordinateBoundsPropertyToCloudFormation(properties.bounds),MapZoomMode:cdk().stringToCloudFormation(properties.mapZoomMode)}):properties}function CfnTemplateGeospatialWindowOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bounds","Bounds",properties.Bounds!=null?CfnTemplateGeospatialCoordinateBoundsPropertyFromCloudFormation(properties.Bounds):void 0),ret.addPropertyResult("mapZoomMode","MapZoomMode",properties.MapZoomMode!=null?cfn_parse().FromCloudFormation.getString(properties.MapZoomMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilledMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateFilledMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("mapStyleOptions",CfnTemplateGeospatialMapStyleOptionsPropertyValidator)(properties.mapStyleOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateFilledMapSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("windowOptions",CfnTemplateGeospatialWindowOptionsPropertyValidator)(properties.windowOptions)),errors.wrap('supplied properties not correct for "FilledMapConfigurationProperty"')}function convertCfnTemplateFilledMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilledMapConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:convertCfnTemplateFilledMapFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),MapStyleOptions:convertCfnTemplateGeospatialMapStyleOptionsPropertyToCloudFormation(properties.mapStyleOptions),SortConfiguration:convertCfnTemplateFilledMapSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),WindowOptions:convertCfnTemplateGeospatialWindowOptionsPropertyToCloudFormation(properties.windowOptions)}):properties}function CfnTemplateFilledMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateFilledMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("mapStyleOptions","MapStyleOptions",properties.MapStyleOptions!=null?CfnTemplateGeospatialMapStyleOptionsPropertyFromCloudFormation(properties.MapStyleOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateFilledMapSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("windowOptions","WindowOptions",properties.WindowOptions!=null?CfnTemplateGeospatialWindowOptionsPropertyFromCloudFormation(properties.WindowOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFilledMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateFilledMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnTemplateFilledMapConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "FilledMapVisualProperty"')}function convertCfnTemplateFilledMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFilledMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateFilledMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),ConditionalFormatting:convertCfnTemplateFilledMapConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateFilledMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateFilledMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnTemplateFilledMapConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePaginationConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pageNumber",cdk().requiredValidator)(properties.pageNumber)),errors.collect(cdk().propertyValidator("pageNumber",cdk().validateNumber)(properties.pageNumber)),errors.collect(cdk().propertyValidator("pageSize",cdk().requiredValidator)(properties.pageSize)),errors.collect(cdk().propertyValidator("pageSize",cdk().validateNumber)(properties.pageSize)),errors.wrap('supplied properties not correct for "PaginationConfigurationProperty"')}function convertCfnTemplatePaginationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePaginationConfigurationPropertyValidator(properties).assertSuccess(),{PageNumber:cdk().numberToCloudFormation(properties.pageNumber),PageSize:cdk().numberToCloudFormation(properties.pageSize)}):properties}function CfnTemplatePaginationConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pageNumber","PageNumber",properties.PageNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.PageNumber):void 0),ret.addPropertyResult("pageSize","PageSize",properties.PageSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.PageSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBoxPlotSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("paginationConfiguration",CfnTemplatePaginationConfigurationPropertyValidator)(properties.paginationConfiguration)),errors.wrap('supplied properties not correct for "BoxPlotSortConfigurationProperty"')}function convertCfnTemplateBoxPlotSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBoxPlotSortConfigurationPropertyValidator(properties).assertSuccess(),{CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),PaginationConfiguration:convertCfnTemplatePaginationConfigurationPropertyToCloudFormation(properties.paginationConfiguration)}):properties}function CfnTemplateBoxPlotSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("paginationConfiguration","PaginationConfiguration",properties.PaginationConfiguration!=null?CfnTemplatePaginationConfigurationPropertyFromCloudFormation(properties.PaginationConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateReferenceLineDynamicDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("calculation",cdk().requiredValidator)(properties.calculation)),errors.collect(cdk().propertyValidator("calculation",CfnTemplateNumericalAggregationFunctionPropertyValidator)(properties.calculation)),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("measureAggregationFunction",CfnTemplateAggregationFunctionPropertyValidator)(properties.measureAggregationFunction)),errors.wrap('supplied properties not correct for "ReferenceLineDynamicDataConfigurationProperty"')}function convertCfnTemplateReferenceLineDynamicDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateReferenceLineDynamicDataConfigurationPropertyValidator(properties).assertSuccess(),{Calculation:convertCfnTemplateNumericalAggregationFunctionPropertyToCloudFormation(properties.calculation),Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),MeasureAggregationFunction:convertCfnTemplateAggregationFunctionPropertyToCloudFormation(properties.measureAggregationFunction)}):properties}function CfnTemplateReferenceLineDynamicDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("calculation","Calculation",properties.Calculation!=null?CfnTemplateNumericalAggregationFunctionPropertyFromCloudFormation(properties.Calculation):void 0),ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("measureAggregationFunction","MeasureAggregationFunction",properties.MeasureAggregationFunction!=null?CfnTemplateAggregationFunctionPropertyFromCloudFormation(properties.MeasureAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateReferenceLineStaticDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "ReferenceLineStaticDataConfigurationProperty"')}function convertCfnTemplateReferenceLineStaticDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateReferenceLineStaticDataConfigurationPropertyValidator(properties).assertSuccess(),{Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnTemplateReferenceLineStaticDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateReferenceLineDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("dynamicConfiguration",CfnTemplateReferenceLineDynamicDataConfigurationPropertyValidator)(properties.dynamicConfiguration)),errors.collect(cdk().propertyValidator("seriesType",cdk().validateString)(properties.seriesType)),errors.collect(cdk().propertyValidator("staticConfiguration",CfnTemplateReferenceLineStaticDataConfigurationPropertyValidator)(properties.staticConfiguration)),errors.wrap('supplied properties not correct for "ReferenceLineDataConfigurationProperty"')}function convertCfnTemplateReferenceLineDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateReferenceLineDataConfigurationPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),DynamicConfiguration:convertCfnTemplateReferenceLineDynamicDataConfigurationPropertyToCloudFormation(properties.dynamicConfiguration),SeriesType:cdk().stringToCloudFormation(properties.seriesType),StaticConfiguration:convertCfnTemplateReferenceLineStaticDataConfigurationPropertyToCloudFormation(properties.staticConfiguration)}):properties}function CfnTemplateReferenceLineDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("dynamicConfiguration","DynamicConfiguration",properties.DynamicConfiguration!=null?CfnTemplateReferenceLineDynamicDataConfigurationPropertyFromCloudFormation(properties.DynamicConfiguration):void 0),ret.addPropertyResult("seriesType","SeriesType",properties.SeriesType!=null?cfn_parse().FromCloudFormation.getString(properties.SeriesType):void 0),ret.addPropertyResult("staticConfiguration","StaticConfiguration",properties.StaticConfiguration!=null?CfnTemplateReferenceLineStaticDataConfigurationPropertyFromCloudFormation(properties.StaticConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateReferenceLineValueLabelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateNumericFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.collect(cdk().propertyValidator("relativePosition",cdk().validateString)(properties.relativePosition)),errors.wrap('supplied properties not correct for "ReferenceLineValueLabelConfigurationProperty"')}function convertCfnTemplateReferenceLineValueLabelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateReferenceLineValueLabelConfigurationPropertyValidator(properties).assertSuccess(),{FormatConfiguration:convertCfnTemplateNumericFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration),RelativePosition:cdk().stringToCloudFormation(properties.relativePosition)}):properties}function CfnTemplateReferenceLineValueLabelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateNumericFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addPropertyResult("relativePosition","RelativePosition",properties.RelativePosition!=null?cfn_parse().FromCloudFormation.getString(properties.RelativePosition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateReferenceLineCustomLabelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().requiredValidator)(properties.customLabel)),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.wrap('supplied properties not correct for "ReferenceLineCustomLabelConfigurationProperty"')}function convertCfnTemplateReferenceLineCustomLabelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateReferenceLineCustomLabelConfigurationPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel)}):properties}function CfnTemplateReferenceLineCustomLabelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateReferenceLineLabelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabelConfiguration",CfnTemplateReferenceLineCustomLabelConfigurationPropertyValidator)(properties.customLabelConfiguration)),errors.collect(cdk().propertyValidator("fontColor",cdk().validateString)(properties.fontColor)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("horizontalPosition",cdk().validateString)(properties.horizontalPosition)),errors.collect(cdk().propertyValidator("valueLabelConfiguration",CfnTemplateReferenceLineValueLabelConfigurationPropertyValidator)(properties.valueLabelConfiguration)),errors.collect(cdk().propertyValidator("verticalPosition",cdk().validateString)(properties.verticalPosition)),errors.wrap('supplied properties not correct for "ReferenceLineLabelConfigurationProperty"')}function convertCfnTemplateReferenceLineLabelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateReferenceLineLabelConfigurationPropertyValidator(properties).assertSuccess(),{CustomLabelConfiguration:convertCfnTemplateReferenceLineCustomLabelConfigurationPropertyToCloudFormation(properties.customLabelConfiguration),FontColor:cdk().stringToCloudFormation(properties.fontColor),FontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),HorizontalPosition:cdk().stringToCloudFormation(properties.horizontalPosition),ValueLabelConfiguration:convertCfnTemplateReferenceLineValueLabelConfigurationPropertyToCloudFormation(properties.valueLabelConfiguration),VerticalPosition:cdk().stringToCloudFormation(properties.verticalPosition)}):properties}function CfnTemplateReferenceLineLabelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabelConfiguration","CustomLabelConfiguration",properties.CustomLabelConfiguration!=null?CfnTemplateReferenceLineCustomLabelConfigurationPropertyFromCloudFormation(properties.CustomLabelConfiguration):void 0),ret.addPropertyResult("fontColor","FontColor",properties.FontColor!=null?cfn_parse().FromCloudFormation.getString(properties.FontColor):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("horizontalPosition","HorizontalPosition",properties.HorizontalPosition!=null?cfn_parse().FromCloudFormation.getString(properties.HorizontalPosition):void 0),ret.addPropertyResult("valueLabelConfiguration","ValueLabelConfiguration",properties.ValueLabelConfiguration!=null?CfnTemplateReferenceLineValueLabelConfigurationPropertyFromCloudFormation(properties.ValueLabelConfiguration):void 0),ret.addPropertyResult("verticalPosition","VerticalPosition",properties.VerticalPosition!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalPosition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateReferenceLineStyleConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("pattern",cdk().validateString)(properties.pattern)),errors.wrap('supplied properties not correct for "ReferenceLineStyleConfigurationProperty"')}function convertCfnTemplateReferenceLineStyleConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateReferenceLineStyleConfigurationPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Pattern:cdk().stringToCloudFormation(properties.pattern)}):properties}function CfnTemplateReferenceLineStyleConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("pattern","Pattern",properties.Pattern!=null?cfn_parse().FromCloudFormation.getString(properties.Pattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateReferenceLinePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataConfiguration",cdk().requiredValidator)(properties.dataConfiguration)),errors.collect(cdk().propertyValidator("dataConfiguration",CfnTemplateReferenceLineDataConfigurationPropertyValidator)(properties.dataConfiguration)),errors.collect(cdk().propertyValidator("labelConfiguration",CfnTemplateReferenceLineLabelConfigurationPropertyValidator)(properties.labelConfiguration)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("styleConfiguration",CfnTemplateReferenceLineStyleConfigurationPropertyValidator)(properties.styleConfiguration)),errors.wrap('supplied properties not correct for "ReferenceLineProperty"')}function convertCfnTemplateReferenceLinePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateReferenceLinePropertyValidator(properties).assertSuccess(),{DataConfiguration:convertCfnTemplateReferenceLineDataConfigurationPropertyToCloudFormation(properties.dataConfiguration),LabelConfiguration:convertCfnTemplateReferenceLineLabelConfigurationPropertyToCloudFormation(properties.labelConfiguration),Status:cdk().stringToCloudFormation(properties.status),StyleConfiguration:convertCfnTemplateReferenceLineStyleConfigurationPropertyToCloudFormation(properties.styleConfiguration)}):properties}function CfnTemplateReferenceLinePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataConfiguration","DataConfiguration",properties.DataConfiguration!=null?CfnTemplateReferenceLineDataConfigurationPropertyFromCloudFormation(properties.DataConfiguration):void 0),ret.addPropertyResult("labelConfiguration","LabelConfiguration",properties.LabelConfiguration!=null?CfnTemplateReferenceLineLabelConfigurationPropertyFromCloudFormation(properties.LabelConfiguration):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("styleConfiguration","StyleConfiguration",properties.StyleConfiguration!=null?CfnTemplateReferenceLineStyleConfigurationPropertyFromCloudFormation(properties.StyleConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDateAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("missingDateVisibility",cdk().validateString)(properties.missingDateVisibility)),errors.wrap('supplied properties not correct for "DateAxisOptionsProperty"')}function convertCfnTemplateDateAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDateAxisOptionsPropertyValidator(properties).assertSuccess(),{MissingDateVisibility:cdk().stringToCloudFormation(properties.missingDateVisibility)}):properties}function CfnTemplateDateAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("missingDateVisibility","MissingDateVisibility",properties.MissingDateVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MissingDateVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisLogarithmicScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("base",cdk().validateNumber)(properties.base)),errors.wrap('supplied properties not correct for "AxisLogarithmicScaleProperty"')}function convertCfnTemplateAxisLogarithmicScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisLogarithmicScalePropertyValidator(properties).assertSuccess(),{Base:cdk().numberToCloudFormation(properties.base)}):properties}function CfnTemplateAxisLogarithmicScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("base","Base",properties.Base!=null?cfn_parse().FromCloudFormation.getNumber(properties.Base):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisLinearScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("stepCount",cdk().validateNumber)(properties.stepCount)),errors.collect(cdk().propertyValidator("stepSize",cdk().validateNumber)(properties.stepSize)),errors.wrap('supplied properties not correct for "AxisLinearScaleProperty"')}function convertCfnTemplateAxisLinearScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisLinearScalePropertyValidator(properties).assertSuccess(),{StepCount:cdk().numberToCloudFormation(properties.stepCount),StepSize:cdk().numberToCloudFormation(properties.stepSize)}):properties}function CfnTemplateAxisLinearScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("stepCount","StepCount",properties.StepCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepCount):void 0),ret.addPropertyResult("stepSize","StepSize",properties.StepSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.StepSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("linear",CfnTemplateAxisLinearScalePropertyValidator)(properties.linear)),errors.collect(cdk().propertyValidator("logarithmic",CfnTemplateAxisLogarithmicScalePropertyValidator)(properties.logarithmic)),errors.wrap('supplied properties not correct for "AxisScaleProperty"')}function convertCfnTemplateAxisScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisScalePropertyValidator(properties).assertSuccess(),{Linear:convertCfnTemplateAxisLinearScalePropertyToCloudFormation(properties.linear),Logarithmic:convertCfnTemplateAxisLogarithmicScalePropertyToCloudFormation(properties.logarithmic)}):properties}function CfnTemplateAxisScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("linear","Linear",properties.Linear!=null?CfnTemplateAxisLinearScalePropertyFromCloudFormation(properties.Linear):void 0),ret.addPropertyResult("logarithmic","Logarithmic",properties.Logarithmic!=null?CfnTemplateAxisLogarithmicScalePropertyFromCloudFormation(properties.Logarithmic):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisDisplayMinMaxRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maximum",cdk().validateNumber)(properties.maximum)),errors.collect(cdk().propertyValidator("minimum",cdk().validateNumber)(properties.minimum)),errors.wrap('supplied properties not correct for "AxisDisplayMinMaxRangeProperty"')}function convertCfnTemplateAxisDisplayMinMaxRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisDisplayMinMaxRangePropertyValidator(properties).assertSuccess(),{Maximum:cdk().numberToCloudFormation(properties.maximum),Minimum:cdk().numberToCloudFormation(properties.minimum)}):properties}function CfnTemplateAxisDisplayMinMaxRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maximum","Maximum",properties.Maximum!=null?cfn_parse().FromCloudFormation.getNumber(properties.Maximum):void 0),ret.addPropertyResult("minimum","Minimum",properties.Minimum!=null?cfn_parse().FromCloudFormation.getNumber(properties.Minimum):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisDisplayRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataDriven",cdk().validateObject)(properties.dataDriven)),errors.collect(cdk().propertyValidator("minMax",CfnTemplateAxisDisplayMinMaxRangePropertyValidator)(properties.minMax)),errors.wrap('supplied properties not correct for "AxisDisplayRangeProperty"')}function convertCfnTemplateAxisDisplayRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisDisplayRangePropertyValidator(properties).assertSuccess(),{DataDriven:cdk().objectToCloudFormation(properties.dataDriven),MinMax:convertCfnTemplateAxisDisplayMinMaxRangePropertyToCloudFormation(properties.minMax)}):properties}function CfnTemplateAxisDisplayRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataDriven","DataDriven",properties.DataDriven!=null?cfn_parse().FromCloudFormation.getAny(properties.DataDriven):void 0),ret.addPropertyResult("minMax","MinMax",properties.MinMax!=null?CfnTemplateAxisDisplayMinMaxRangePropertyFromCloudFormation(properties.MinMax):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateNumericAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("range",CfnTemplateAxisDisplayRangePropertyValidator)(properties.range)),errors.collect(cdk().propertyValidator("scale",CfnTemplateAxisScalePropertyValidator)(properties.scale)),errors.wrap('supplied properties not correct for "NumericAxisOptionsProperty"')}function convertCfnTemplateNumericAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateNumericAxisOptionsPropertyValidator(properties).assertSuccess(),{Range:convertCfnTemplateAxisDisplayRangePropertyToCloudFormation(properties.range),Scale:convertCfnTemplateAxisScalePropertyToCloudFormation(properties.scale)}):properties}function CfnTemplateNumericAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("range","Range",properties.Range!=null?CfnTemplateAxisDisplayRangePropertyFromCloudFormation(properties.Range):void 0),ret.addPropertyResult("scale","Scale",properties.Scale!=null?CfnTemplateAxisScalePropertyFromCloudFormation(properties.Scale):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisDataOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateAxisOptions",CfnTemplateDateAxisOptionsPropertyValidator)(properties.dateAxisOptions)),errors.collect(cdk().propertyValidator("numericAxisOptions",CfnTemplateNumericAxisOptionsPropertyValidator)(properties.numericAxisOptions)),errors.wrap('supplied properties not correct for "AxisDataOptionsProperty"')}function convertCfnTemplateAxisDataOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisDataOptionsPropertyValidator(properties).assertSuccess(),{DateAxisOptions:convertCfnTemplateDateAxisOptionsPropertyToCloudFormation(properties.dateAxisOptions),NumericAxisOptions:convertCfnTemplateNumericAxisOptionsPropertyToCloudFormation(properties.numericAxisOptions)}):properties}function CfnTemplateAxisDataOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateAxisOptions","DateAxisOptions",properties.DateAxisOptions!=null?CfnTemplateDateAxisOptionsPropertyFromCloudFormation(properties.DateAxisOptions):void 0),ret.addPropertyResult("numericAxisOptions","NumericAxisOptions",properties.NumericAxisOptions!=null?CfnTemplateNumericAxisOptionsPropertyFromCloudFormation(properties.NumericAxisOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisTickLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("labelOptions",CfnTemplateLabelOptionsPropertyValidator)(properties.labelOptions)),errors.collect(cdk().propertyValidator("rotationAngle",cdk().validateNumber)(properties.rotationAngle)),errors.wrap('supplied properties not correct for "AxisTickLabelOptionsProperty"')}function convertCfnTemplateAxisTickLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisTickLabelOptionsPropertyValidator(properties).assertSuccess(),{LabelOptions:convertCfnTemplateLabelOptionsPropertyToCloudFormation(properties.labelOptions),RotationAngle:cdk().numberToCloudFormation(properties.rotationAngle)}):properties}function CfnTemplateAxisTickLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("labelOptions","LabelOptions",properties.LabelOptions!=null?CfnTemplateLabelOptionsPropertyFromCloudFormation(properties.LabelOptions):void 0),ret.addPropertyResult("rotationAngle","RotationAngle",properties.RotationAngle!=null?cfn_parse().FromCloudFormation.getNumber(properties.RotationAngle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePercentVisibleRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("from",cdk().validateNumber)(properties.from)),errors.collect(cdk().propertyValidator("to",cdk().validateNumber)(properties.to)),errors.wrap('supplied properties not correct for "PercentVisibleRangeProperty"')}function convertCfnTemplatePercentVisibleRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePercentVisibleRangePropertyValidator(properties).assertSuccess(),{From:cdk().numberToCloudFormation(properties.from),To:cdk().numberToCloudFormation(properties.to)}):properties}function CfnTemplatePercentVisibleRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("from","From",properties.From!=null?cfn_parse().FromCloudFormation.getNumber(properties.From):void 0),ret.addPropertyResult("to","To",properties.To!=null?cfn_parse().FromCloudFormation.getNumber(properties.To):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateVisibleRangeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("percentRange",CfnTemplatePercentVisibleRangePropertyValidator)(properties.percentRange)),errors.wrap('supplied properties not correct for "VisibleRangeOptionsProperty"')}function convertCfnTemplateVisibleRangeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateVisibleRangeOptionsPropertyValidator(properties).assertSuccess(),{PercentRange:convertCfnTemplatePercentVisibleRangePropertyToCloudFormation(properties.percentRange)}):properties}function CfnTemplateVisibleRangeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("percentRange","PercentRange",properties.PercentRange!=null?CfnTemplatePercentVisibleRangePropertyFromCloudFormation(properties.PercentRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateScrollBarOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("visibleRange",CfnTemplateVisibleRangeOptionsPropertyValidator)(properties.visibleRange)),errors.wrap('supplied properties not correct for "ScrollBarOptionsProperty"')}function convertCfnTemplateScrollBarOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateScrollBarOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility),VisibleRange:convertCfnTemplateVisibleRangeOptionsPropertyToCloudFormation(properties.visibleRange)}):properties}function CfnTemplateScrollBarOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("visibleRange","VisibleRange",properties.VisibleRange!=null?CfnTemplateVisibleRangeOptionsPropertyFromCloudFormation(properties.VisibleRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAxisDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisLineVisibility",cdk().validateString)(properties.axisLineVisibility)),errors.collect(cdk().propertyValidator("axisOffset",cdk().validateString)(properties.axisOffset)),errors.collect(cdk().propertyValidator("dataOptions",CfnTemplateAxisDataOptionsPropertyValidator)(properties.dataOptions)),errors.collect(cdk().propertyValidator("gridLineVisibility",cdk().validateString)(properties.gridLineVisibility)),errors.collect(cdk().propertyValidator("scrollbarOptions",CfnTemplateScrollBarOptionsPropertyValidator)(properties.scrollbarOptions)),errors.collect(cdk().propertyValidator("tickLabelOptions",CfnTemplateAxisTickLabelOptionsPropertyValidator)(properties.tickLabelOptions)),errors.wrap('supplied properties not correct for "AxisDisplayOptionsProperty"')}function convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAxisDisplayOptionsPropertyValidator(properties).assertSuccess(),{AxisLineVisibility:cdk().stringToCloudFormation(properties.axisLineVisibility),AxisOffset:cdk().stringToCloudFormation(properties.axisOffset),DataOptions:convertCfnTemplateAxisDataOptionsPropertyToCloudFormation(properties.dataOptions),GridLineVisibility:cdk().stringToCloudFormation(properties.gridLineVisibility),ScrollbarOptions:convertCfnTemplateScrollBarOptionsPropertyToCloudFormation(properties.scrollbarOptions),TickLabelOptions:convertCfnTemplateAxisTickLabelOptionsPropertyToCloudFormation(properties.tickLabelOptions)}):properties}function CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisLineVisibility","AxisLineVisibility",properties.AxisLineVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AxisLineVisibility):void 0),ret.addPropertyResult("axisOffset","AxisOffset",properties.AxisOffset!=null?cfn_parse().FromCloudFormation.getString(properties.AxisOffset):void 0),ret.addPropertyResult("dataOptions","DataOptions",properties.DataOptions!=null?CfnTemplateAxisDataOptionsPropertyFromCloudFormation(properties.DataOptions):void 0),ret.addPropertyResult("gridLineVisibility","GridLineVisibility",properties.GridLineVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.GridLineVisibility):void 0),ret.addPropertyResult("scrollbarOptions","ScrollbarOptions",properties.ScrollbarOptions!=null?CfnTemplateScrollBarOptionsPropertyFromCloudFormation(properties.ScrollbarOptions):void 0),ret.addPropertyResult("tickLabelOptions","TickLabelOptions",properties.TickLabelOptions!=null?CfnTemplateAxisTickLabelOptionsPropertyFromCloudFormation(properties.TickLabelOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBoxPlotAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "BoxPlotAggregatedFieldWellsProperty"')}function convertCfnTemplateBoxPlotAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBoxPlotAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{GroupBy:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.groupBy),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateBoxPlotAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBoxPlotFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("boxPlotAggregatedFieldWells",CfnTemplateBoxPlotAggregatedFieldWellsPropertyValidator)(properties.boxPlotAggregatedFieldWells)),errors.wrap('supplied properties not correct for "BoxPlotFieldWellsProperty"')}function convertCfnTemplateBoxPlotFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBoxPlotFieldWellsPropertyValidator(properties).assertSuccess(),{BoxPlotAggregatedFieldWells:convertCfnTemplateBoxPlotAggregatedFieldWellsPropertyToCloudFormation(properties.boxPlotAggregatedFieldWells)}):properties}function CfnTemplateBoxPlotFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("boxPlotAggregatedFieldWells","BoxPlotAggregatedFieldWells",properties.BoxPlotAggregatedFieldWells!=null?CfnTemplateBoxPlotAggregatedFieldWellsPropertyFromCloudFormation(properties.BoxPlotAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBoxPlotStyleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fillStyle",cdk().validateString)(properties.fillStyle)),errors.wrap('supplied properties not correct for "BoxPlotStyleOptionsProperty"')}function convertCfnTemplateBoxPlotStyleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBoxPlotStyleOptionsPropertyValidator(properties).assertSuccess(),{FillStyle:cdk().stringToCloudFormation(properties.fillStyle)}):properties}function CfnTemplateBoxPlotStyleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fillStyle","FillStyle",properties.FillStyle!=null?cfn_parse().FromCloudFormation.getString(properties.FillStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBoxPlotOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allDataPointsVisibility",cdk().validateString)(properties.allDataPointsVisibility)),errors.collect(cdk().propertyValidator("outlierVisibility",cdk().validateString)(properties.outlierVisibility)),errors.collect(cdk().propertyValidator("styleOptions",CfnTemplateBoxPlotStyleOptionsPropertyValidator)(properties.styleOptions)),errors.wrap('supplied properties not correct for "BoxPlotOptionsProperty"')}function convertCfnTemplateBoxPlotOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBoxPlotOptionsPropertyValidator(properties).assertSuccess(),{AllDataPointsVisibility:cdk().stringToCloudFormation(properties.allDataPointsVisibility),OutlierVisibility:cdk().stringToCloudFormation(properties.outlierVisibility),StyleOptions:convertCfnTemplateBoxPlotStyleOptionsPropertyToCloudFormation(properties.styleOptions)}):properties}function CfnTemplateBoxPlotOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allDataPointsVisibility","AllDataPointsVisibility",properties.AllDataPointsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AllDataPointsVisibility):void 0),ret.addPropertyResult("outlierVisibility","OutlierVisibility",properties.OutlierVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.OutlierVisibility):void 0),ret.addPropertyResult("styleOptions","StyleOptions",properties.StyleOptions!=null?CfnTemplateBoxPlotStyleOptionsPropertyFromCloudFormation(properties.StyleOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBoxPlotChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("boxPlotOptions",CfnTemplateBoxPlotOptionsPropertyValidator)(properties.boxPlotOptions)),errors.collect(cdk().propertyValidator("categoryAxis",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateBoxPlotFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnTemplateReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateBoxPlotSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "BoxPlotChartConfigurationProperty"')}function convertCfnTemplateBoxPlotChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBoxPlotChartConfigurationPropertyValidator(properties).assertSuccess(),{BoxPlotOptions:convertCfnTemplateBoxPlotOptionsPropertyToCloudFormation(properties.boxPlotOptions),CategoryAxis:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),FieldWells:convertCfnTemplateBoxPlotFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),PrimaryYAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),ReferenceLines:cdk().listMapper(convertCfnTemplateReferenceLinePropertyToCloudFormation)(properties.referenceLines),SortConfiguration:convertCfnTemplateBoxPlotSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnTemplateBoxPlotChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("boxPlotOptions","BoxPlotOptions",properties.BoxPlotOptions!=null?CfnTemplateBoxPlotOptionsPropertyFromCloudFormation(properties.BoxPlotOptions):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateBoxPlotFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateBoxPlotSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBoxPlotVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateBoxPlotChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "BoxPlotVisualProperty"')}function convertCfnTemplateBoxPlotVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBoxPlotVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateBoxPlotChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateBoxPlotVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateBoxPlotChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWaterfallChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("breakdownItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.breakdownItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "WaterfallChartSortConfigurationProperty"')}function convertCfnTemplateWaterfallChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWaterfallChartSortConfigurationPropertyValidator(properties).assertSuccess(),{BreakdownItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.breakdownItemsLimit),CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnTemplateWaterfallChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("breakdownItemsLimit","BreakdownItemsLimit",properties.BreakdownItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.BreakdownItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateMaximumLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "MaximumLabelTypeProperty"')}function convertCfnTemplateMaximumLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateMaximumLabelTypePropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateMaximumLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataPathLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "DataPathLabelTypeProperty"')}function convertCfnTemplateDataPathLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataPathLabelTypePropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),FieldValue:cdk().stringToCloudFormation(properties.fieldValue),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateDataPathLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRangeEndsLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "RangeEndsLabelTypeProperty"')}function convertCfnTemplateRangeEndsLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRangeEndsLabelTypePropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateRangeEndsLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFieldLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "FieldLabelTypeProperty"')}function convertCfnTemplateFieldLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFieldLabelTypePropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateFieldLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateMinimumLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "MinimumLabelTypeProperty"')}function convertCfnTemplateMinimumLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateMinimumLabelTypePropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateMinimumLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataLabelTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataPathLabelType",CfnTemplateDataPathLabelTypePropertyValidator)(properties.dataPathLabelType)),errors.collect(cdk().propertyValidator("fieldLabelType",CfnTemplateFieldLabelTypePropertyValidator)(properties.fieldLabelType)),errors.collect(cdk().propertyValidator("maximumLabelType",CfnTemplateMaximumLabelTypePropertyValidator)(properties.maximumLabelType)),errors.collect(cdk().propertyValidator("minimumLabelType",CfnTemplateMinimumLabelTypePropertyValidator)(properties.minimumLabelType)),errors.collect(cdk().propertyValidator("rangeEndsLabelType",CfnTemplateRangeEndsLabelTypePropertyValidator)(properties.rangeEndsLabelType)),errors.wrap('supplied properties not correct for "DataLabelTypeProperty"')}function convertCfnTemplateDataLabelTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataLabelTypePropertyValidator(properties).assertSuccess(),{DataPathLabelType:convertCfnTemplateDataPathLabelTypePropertyToCloudFormation(properties.dataPathLabelType),FieldLabelType:convertCfnTemplateFieldLabelTypePropertyToCloudFormation(properties.fieldLabelType),MaximumLabelType:convertCfnTemplateMaximumLabelTypePropertyToCloudFormation(properties.maximumLabelType),MinimumLabelType:convertCfnTemplateMinimumLabelTypePropertyToCloudFormation(properties.minimumLabelType),RangeEndsLabelType:convertCfnTemplateRangeEndsLabelTypePropertyToCloudFormation(properties.rangeEndsLabelType)}):properties}function CfnTemplateDataLabelTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataPathLabelType","DataPathLabelType",properties.DataPathLabelType!=null?CfnTemplateDataPathLabelTypePropertyFromCloudFormation(properties.DataPathLabelType):void 0),ret.addPropertyResult("fieldLabelType","FieldLabelType",properties.FieldLabelType!=null?CfnTemplateFieldLabelTypePropertyFromCloudFormation(properties.FieldLabelType):void 0),ret.addPropertyResult("maximumLabelType","MaximumLabelType",properties.MaximumLabelType!=null?CfnTemplateMaximumLabelTypePropertyFromCloudFormation(properties.MaximumLabelType):void 0),ret.addPropertyResult("minimumLabelType","MinimumLabelType",properties.MinimumLabelType!=null?CfnTemplateMinimumLabelTypePropertyFromCloudFormation(properties.MinimumLabelType):void 0),ret.addPropertyResult("rangeEndsLabelType","RangeEndsLabelType",properties.RangeEndsLabelType!=null?CfnTemplateRangeEndsLabelTypePropertyFromCloudFormation(properties.RangeEndsLabelType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelVisibility",cdk().validateString)(properties.categoryLabelVisibility)),errors.collect(cdk().propertyValidator("dataLabelTypes",cdk().listValidator(CfnTemplateDataLabelTypePropertyValidator))(properties.dataLabelTypes)),errors.collect(cdk().propertyValidator("labelColor",cdk().validateString)(properties.labelColor)),errors.collect(cdk().propertyValidator("labelContent",cdk().validateString)(properties.labelContent)),errors.collect(cdk().propertyValidator("labelFontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.labelFontConfiguration)),errors.collect(cdk().propertyValidator("measureLabelVisibility",cdk().validateString)(properties.measureLabelVisibility)),errors.collect(cdk().propertyValidator("overlap",cdk().validateString)(properties.overlap)),errors.collect(cdk().propertyValidator("position",cdk().validateString)(properties.position)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "DataLabelOptionsProperty"')}function convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataLabelOptionsPropertyValidator(properties).assertSuccess(),{CategoryLabelVisibility:cdk().stringToCloudFormation(properties.categoryLabelVisibility),DataLabelTypes:cdk().listMapper(convertCfnTemplateDataLabelTypePropertyToCloudFormation)(properties.dataLabelTypes),LabelColor:cdk().stringToCloudFormation(properties.labelColor),LabelContent:cdk().stringToCloudFormation(properties.labelContent),LabelFontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.labelFontConfiguration),MeasureLabelVisibility:cdk().stringToCloudFormation(properties.measureLabelVisibility),Overlap:cdk().stringToCloudFormation(properties.overlap),Position:cdk().stringToCloudFormation(properties.position),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelVisibility","CategoryLabelVisibility",properties.CategoryLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryLabelVisibility):void 0),ret.addPropertyResult("dataLabelTypes","DataLabelTypes",properties.DataLabelTypes!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDataLabelTypePropertyFromCloudFormation)(properties.DataLabelTypes):void 0),ret.addPropertyResult("labelColor","LabelColor",properties.LabelColor!=null?cfn_parse().FromCloudFormation.getString(properties.LabelColor):void 0),ret.addPropertyResult("labelContent","LabelContent",properties.LabelContent!=null?cfn_parse().FromCloudFormation.getString(properties.LabelContent):void 0),ret.addPropertyResult("labelFontConfiguration","LabelFontConfiguration",properties.LabelFontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.LabelFontConfiguration):void 0),ret.addPropertyResult("measureLabelVisibility","MeasureLabelVisibility",properties.MeasureLabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureLabelVisibility):void 0),ret.addPropertyResult("overlap","Overlap",properties.Overlap!=null?cfn_parse().FromCloudFormation.getString(properties.Overlap):void 0),ret.addPropertyResult("position","Position",properties.Position!=null?cfn_parse().FromCloudFormation.getString(properties.Position):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWaterfallChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("breakdowns",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.breakdowns)),errors.collect(cdk().propertyValidator("categories",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.categories)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "WaterfallChartAggregatedFieldWellsProperty"')}function convertCfnTemplateWaterfallChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWaterfallChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Breakdowns:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.breakdowns),Categories:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.categories),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateWaterfallChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("breakdowns","Breakdowns",properties.Breakdowns!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Breakdowns):void 0),ret.addPropertyResult("categories","Categories",properties.Categories!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Categories):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWaterfallChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("waterfallChartAggregatedFieldWells",CfnTemplateWaterfallChartAggregatedFieldWellsPropertyValidator)(properties.waterfallChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "WaterfallChartFieldWellsProperty"')}function convertCfnTemplateWaterfallChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWaterfallChartFieldWellsPropertyValidator(properties).assertSuccess(),{WaterfallChartAggregatedFieldWells:convertCfnTemplateWaterfallChartAggregatedFieldWellsPropertyToCloudFormation(properties.waterfallChartAggregatedFieldWells)}):properties}function CfnTemplateWaterfallChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("waterfallChartAggregatedFieldWells","WaterfallChartAggregatedFieldWells",properties.WaterfallChartAggregatedFieldWells!=null?CfnTemplateWaterfallChartAggregatedFieldWellsPropertyFromCloudFormation(properties.WaterfallChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWaterfallChartOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("totalBarLabel",cdk().validateString)(properties.totalBarLabel)),errors.wrap('supplied properties not correct for "WaterfallChartOptionsProperty"')}function convertCfnTemplateWaterfallChartOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWaterfallChartOptionsPropertyValidator(properties).assertSuccess(),{TotalBarLabel:cdk().stringToCloudFormation(properties.totalBarLabel)}):properties}function CfnTemplateWaterfallChartOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("totalBarLabel","TotalBarLabel",properties.TotalBarLabel!=null?cfn_parse().FromCloudFormation.getString(properties.TotalBarLabel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWaterfallChartGroupColorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("negativeBarColor",cdk().validateString)(properties.negativeBarColor)),errors.collect(cdk().propertyValidator("positiveBarColor",cdk().validateString)(properties.positiveBarColor)),errors.collect(cdk().propertyValidator("totalBarColor",cdk().validateString)(properties.totalBarColor)),errors.wrap('supplied properties not correct for "WaterfallChartGroupColorConfigurationProperty"')}function convertCfnTemplateWaterfallChartGroupColorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWaterfallChartGroupColorConfigurationPropertyValidator(properties).assertSuccess(),{NegativeBarColor:cdk().stringToCloudFormation(properties.negativeBarColor),PositiveBarColor:cdk().stringToCloudFormation(properties.positiveBarColor),TotalBarColor:cdk().stringToCloudFormation(properties.totalBarColor)}):properties}function CfnTemplateWaterfallChartGroupColorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("negativeBarColor","NegativeBarColor",properties.NegativeBarColor!=null?cfn_parse().FromCloudFormation.getString(properties.NegativeBarColor):void 0),ret.addPropertyResult("positiveBarColor","PositiveBarColor",properties.PositiveBarColor!=null?cfn_parse().FromCloudFormation.getString(properties.PositiveBarColor):void 0),ret.addPropertyResult("totalBarColor","TotalBarColor",properties.TotalBarColor!=null?cfn_parse().FromCloudFormation.getString(properties.TotalBarColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWaterfallChartColorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupColorConfiguration",CfnTemplateWaterfallChartGroupColorConfigurationPropertyValidator)(properties.groupColorConfiguration)),errors.wrap('supplied properties not correct for "WaterfallChartColorConfigurationProperty"')}function convertCfnTemplateWaterfallChartColorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWaterfallChartColorConfigurationPropertyValidator(properties).assertSuccess(),{GroupColorConfiguration:convertCfnTemplateWaterfallChartGroupColorConfigurationPropertyToCloudFormation(properties.groupColorConfiguration)}):properties}function CfnTemplateWaterfallChartColorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupColorConfiguration","GroupColorConfiguration",properties.GroupColorConfiguration!=null?CfnTemplateWaterfallChartGroupColorConfigurationPropertyFromCloudFormation(properties.GroupColorConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWaterfallChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.categoryAxisDisplayOptions)),errors.collect(cdk().propertyValidator("categoryAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.categoryAxisLabelOptions)),errors.collect(cdk().propertyValidator("colorConfiguration",CfnTemplateWaterfallChartColorConfigurationPropertyValidator)(properties.colorConfiguration)),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateWaterfallChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateWaterfallChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("waterfallChartOptions",CfnTemplateWaterfallChartOptionsPropertyValidator)(properties.waterfallChartOptions)),errors.wrap('supplied properties not correct for "WaterfallChartConfigurationProperty"')}function convertCfnTemplateWaterfallChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWaterfallChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxisDisplayOptions),CategoryAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryAxisLabelOptions),ColorConfiguration:convertCfnTemplateWaterfallChartColorConfigurationPropertyToCloudFormation(properties.colorConfiguration),DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnTemplateWaterfallChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),PrimaryYAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),SortConfiguration:convertCfnTemplateWaterfallChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette),WaterfallChartOptions:convertCfnTemplateWaterfallChartOptionsPropertyToCloudFormation(properties.waterfallChartOptions)}):properties}function CfnTemplateWaterfallChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryAxisDisplayOptions","CategoryAxisDisplayOptions",properties.CategoryAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxisDisplayOptions):void 0),ret.addPropertyResult("categoryAxisLabelOptions","CategoryAxisLabelOptions",properties.CategoryAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryAxisLabelOptions):void 0),ret.addPropertyResult("colorConfiguration","ColorConfiguration",properties.ColorConfiguration!=null?CfnTemplateWaterfallChartColorConfigurationPropertyFromCloudFormation(properties.ColorConfiguration):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateWaterfallChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateWaterfallChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("waterfallChartOptions","WaterfallChartOptions",properties.WaterfallChartOptions!=null?CfnTemplateWaterfallChartOptionsPropertyFromCloudFormation(properties.WaterfallChartOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWaterfallVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateWaterfallChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "WaterfallVisualProperty"')}function convertCfnTemplateWaterfallVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWaterfallVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateWaterfallChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateWaterfallVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateWaterfallChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomContentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("contentUrl",cdk().validateString)(properties.contentUrl)),errors.collect(cdk().propertyValidator("imageScaling",cdk().validateString)(properties.imageScaling)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.wrap('supplied properties not correct for "CustomContentConfigurationProperty"')}function convertCfnTemplateCustomContentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomContentConfigurationPropertyValidator(properties).assertSuccess(),{ContentType:cdk().stringToCloudFormation(properties.contentType),ContentUrl:cdk().stringToCloudFormation(properties.contentUrl),ImageScaling:cdk().stringToCloudFormation(properties.imageScaling),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions)}):properties}function CfnTemplateCustomContentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("contentUrl","ContentUrl",properties.ContentUrl!=null?cfn_parse().FromCloudFormation.getString(properties.ContentUrl):void 0),ret.addPropertyResult("imageScaling","ImageScaling",properties.ImageScaling!=null?cfn_parse().FromCloudFormation.getString(properties.ImageScaling):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomContentVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateCustomContentConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "CustomContentVisualProperty"')}function convertCfnTemplateCustomContentVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomContentVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateCustomContentConfigurationPropertyToCloudFormation(properties.chartConfiguration),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateCustomContentVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateCustomContentConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePieChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("smallMultiplesLimitConfiguration",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.smallMultiplesLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.smallMultiplesSort)),errors.wrap('supplied properties not correct for "PieChartSortConfigurationProperty"')}function convertCfnTemplatePieChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePieChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),SmallMultiplesLimitConfiguration:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.smallMultiplesLimitConfiguration),SmallMultiplesSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.smallMultiplesSort)}):properties}function CfnTemplatePieChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("smallMultiplesLimitConfiguration","SmallMultiplesLimitConfiguration",properties.SmallMultiplesLimitConfiguration!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.SmallMultiplesLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesSort","SmallMultiplesSort",properties.SmallMultiplesSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.SmallMultiplesSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateContributionAnalysisDefaultPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contributorDimensions",cdk().requiredValidator)(properties.contributorDimensions)),errors.collect(cdk().propertyValidator("contributorDimensions",cdk().listValidator(CfnTemplateColumnIdentifierPropertyValidator))(properties.contributorDimensions)),errors.collect(cdk().propertyValidator("measureFieldId",cdk().requiredValidator)(properties.measureFieldId)),errors.collect(cdk().propertyValidator("measureFieldId",cdk().validateString)(properties.measureFieldId)),errors.wrap('supplied properties not correct for "ContributionAnalysisDefaultProperty"')}function convertCfnTemplateContributionAnalysisDefaultPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateContributionAnalysisDefaultPropertyValidator(properties).assertSuccess(),{ContributorDimensions:cdk().listMapper(convertCfnTemplateColumnIdentifierPropertyToCloudFormation)(properties.contributorDimensions),MeasureFieldId:cdk().stringToCloudFormation(properties.measureFieldId)}):properties}function CfnTemplateContributionAnalysisDefaultPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contributorDimensions","ContributorDimensions",properties.ContributorDimensions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnIdentifierPropertyFromCloudFormation)(properties.ContributorDimensions):void 0),ret.addPropertyResult("measureFieldId","MeasureFieldId",properties.MeasureFieldId!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureFieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePieChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("smallMultiples",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.smallMultiples)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "PieChartAggregatedFieldWellsProperty"')}function convertCfnTemplatePieChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePieChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.category),SmallMultiples:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.smallMultiples),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplatePieChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("smallMultiples","SmallMultiples",properties.SmallMultiples!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.SmallMultiples):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePieChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pieChartAggregatedFieldWells",CfnTemplatePieChartAggregatedFieldWellsPropertyValidator)(properties.pieChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "PieChartFieldWellsProperty"')}function convertCfnTemplatePieChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePieChartFieldWellsPropertyValidator(properties).assertSuccess(),{PieChartAggregatedFieldWells:convertCfnTemplatePieChartAggregatedFieldWellsPropertyToCloudFormation(properties.pieChartAggregatedFieldWells)}):properties}function CfnTemplatePieChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pieChartAggregatedFieldWells","PieChartAggregatedFieldWells",properties.PieChartAggregatedFieldWells!=null?CfnTemplatePieChartAggregatedFieldWellsPropertyFromCloudFormation(properties.PieChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDonutCenterOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("labelVisibility",cdk().validateString)(properties.labelVisibility)),errors.wrap('supplied properties not correct for "DonutCenterOptionsProperty"')}function convertCfnTemplateDonutCenterOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDonutCenterOptionsPropertyValidator(properties).assertSuccess(),{LabelVisibility:cdk().stringToCloudFormation(properties.labelVisibility)}):properties}function CfnTemplateDonutCenterOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("labelVisibility","LabelVisibility",properties.LabelVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.LabelVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateArcOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcThickness",cdk().validateString)(properties.arcThickness)),errors.wrap('supplied properties not correct for "ArcOptionsProperty"')}function convertCfnTemplateArcOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateArcOptionsPropertyValidator(properties).assertSuccess(),{ArcThickness:cdk().stringToCloudFormation(properties.arcThickness)}):properties}function CfnTemplateArcOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcThickness","ArcThickness",properties.ArcThickness!=null?cfn_parse().FromCloudFormation.getString(properties.ArcThickness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDonutOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcOptions",CfnTemplateArcOptionsPropertyValidator)(properties.arcOptions)),errors.collect(cdk().propertyValidator("donutCenterOptions",CfnTemplateDonutCenterOptionsPropertyValidator)(properties.donutCenterOptions)),errors.wrap('supplied properties not correct for "DonutOptionsProperty"')}function convertCfnTemplateDonutOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDonutOptionsPropertyValidator(properties).assertSuccess(),{ArcOptions:convertCfnTemplateArcOptionsPropertyToCloudFormation(properties.arcOptions),DonutCenterOptions:convertCfnTemplateDonutCenterOptionsPropertyToCloudFormation(properties.donutCenterOptions)}):properties}function CfnTemplateDonutOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcOptions","ArcOptions",properties.ArcOptions!=null?CfnTemplateArcOptionsPropertyFromCloudFormation(properties.ArcOptions):void 0),ret.addPropertyResult("donutCenterOptions","DonutCenterOptions",properties.DonutCenterOptions!=null?CfnTemplateDonutCenterOptionsPropertyFromCloudFormation(properties.DonutCenterOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePanelTitleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("horizontalTextAlignment",cdk().validateString)(properties.horizontalTextAlignment)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "PanelTitleOptionsProperty"')}function convertCfnTemplatePanelTitleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePanelTitleOptionsPropertyValidator(properties).assertSuccess(),{FontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),HorizontalTextAlignment:cdk().stringToCloudFormation(properties.horizontalTextAlignment),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplatePanelTitleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("horizontalTextAlignment","HorizontalTextAlignment",properties.HorizontalTextAlignment!=null?cfn_parse().FromCloudFormation.getString(properties.HorizontalTextAlignment):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePanelConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("backgroundVisibility",cdk().validateString)(properties.backgroundVisibility)),errors.collect(cdk().propertyValidator("borderColor",cdk().validateString)(properties.borderColor)),errors.collect(cdk().propertyValidator("borderStyle",cdk().validateString)(properties.borderStyle)),errors.collect(cdk().propertyValidator("borderThickness",cdk().validateString)(properties.borderThickness)),errors.collect(cdk().propertyValidator("borderVisibility",cdk().validateString)(properties.borderVisibility)),errors.collect(cdk().propertyValidator("gutterSpacing",cdk().validateString)(properties.gutterSpacing)),errors.collect(cdk().propertyValidator("gutterVisibility",cdk().validateString)(properties.gutterVisibility)),errors.collect(cdk().propertyValidator("title",CfnTemplatePanelTitleOptionsPropertyValidator)(properties.title)),errors.wrap('supplied properties not correct for "PanelConfigurationProperty"')}function convertCfnTemplatePanelConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePanelConfigurationPropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),BackgroundVisibility:cdk().stringToCloudFormation(properties.backgroundVisibility),BorderColor:cdk().stringToCloudFormation(properties.borderColor),BorderStyle:cdk().stringToCloudFormation(properties.borderStyle),BorderThickness:cdk().stringToCloudFormation(properties.borderThickness),BorderVisibility:cdk().stringToCloudFormation(properties.borderVisibility),GutterSpacing:cdk().stringToCloudFormation(properties.gutterSpacing),GutterVisibility:cdk().stringToCloudFormation(properties.gutterVisibility),Title:convertCfnTemplatePanelTitleOptionsPropertyToCloudFormation(properties.title)}):properties}function CfnTemplatePanelConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("backgroundVisibility","BackgroundVisibility",properties.BackgroundVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundVisibility):void 0),ret.addPropertyResult("borderColor","BorderColor",properties.BorderColor!=null?cfn_parse().FromCloudFormation.getString(properties.BorderColor):void 0),ret.addPropertyResult("borderStyle","BorderStyle",properties.BorderStyle!=null?cfn_parse().FromCloudFormation.getString(properties.BorderStyle):void 0),ret.addPropertyResult("borderThickness","BorderThickness",properties.BorderThickness!=null?cfn_parse().FromCloudFormation.getString(properties.BorderThickness):void 0),ret.addPropertyResult("borderVisibility","BorderVisibility",properties.BorderVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.BorderVisibility):void 0),ret.addPropertyResult("gutterSpacing","GutterSpacing",properties.GutterSpacing!=null?cfn_parse().FromCloudFormation.getString(properties.GutterSpacing):void 0),ret.addPropertyResult("gutterVisibility","GutterVisibility",properties.GutterVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.GutterVisibility):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplatePanelTitleOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSmallMultiplesAxisPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("placement",cdk().validateString)(properties.placement)),errors.collect(cdk().propertyValidator("scale",cdk().validateString)(properties.scale)),errors.wrap('supplied properties not correct for "SmallMultiplesAxisPropertiesProperty"')}function convertCfnTemplateSmallMultiplesAxisPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSmallMultiplesAxisPropertiesPropertyValidator(properties).assertSuccess(),{Placement:cdk().stringToCloudFormation(properties.placement),Scale:cdk().stringToCloudFormation(properties.scale)}):properties}function CfnTemplateSmallMultiplesAxisPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("placement","Placement",properties.Placement!=null?cfn_parse().FromCloudFormation.getString(properties.Placement):void 0),ret.addPropertyResult("scale","Scale",properties.Scale!=null?cfn_parse().FromCloudFormation.getString(properties.Scale):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSmallMultiplesOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maxVisibleColumns",cdk().validateNumber)(properties.maxVisibleColumns)),errors.collect(cdk().propertyValidator("maxVisibleRows",cdk().validateNumber)(properties.maxVisibleRows)),errors.collect(cdk().propertyValidator("panelConfiguration",CfnTemplatePanelConfigurationPropertyValidator)(properties.panelConfiguration)),errors.collect(cdk().propertyValidator("xAxis",CfnTemplateSmallMultiplesAxisPropertiesPropertyValidator)(properties.xAxis)),errors.collect(cdk().propertyValidator("yAxis",CfnTemplateSmallMultiplesAxisPropertiesPropertyValidator)(properties.yAxis)),errors.wrap('supplied properties not correct for "SmallMultiplesOptionsProperty"')}function convertCfnTemplateSmallMultiplesOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSmallMultiplesOptionsPropertyValidator(properties).assertSuccess(),{MaxVisibleColumns:cdk().numberToCloudFormation(properties.maxVisibleColumns),MaxVisibleRows:cdk().numberToCloudFormation(properties.maxVisibleRows),PanelConfiguration:convertCfnTemplatePanelConfigurationPropertyToCloudFormation(properties.panelConfiguration),XAxis:convertCfnTemplateSmallMultiplesAxisPropertiesPropertyToCloudFormation(properties.xAxis),YAxis:convertCfnTemplateSmallMultiplesAxisPropertiesPropertyToCloudFormation(properties.yAxis)}):properties}function CfnTemplateSmallMultiplesOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maxVisibleColumns","MaxVisibleColumns",properties.MaxVisibleColumns!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxVisibleColumns):void 0),ret.addPropertyResult("maxVisibleRows","MaxVisibleRows",properties.MaxVisibleRows!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxVisibleRows):void 0),ret.addPropertyResult("panelConfiguration","PanelConfiguration",properties.PanelConfiguration!=null?CfnTemplatePanelConfigurationPropertyFromCloudFormation(properties.PanelConfiguration):void 0),ret.addPropertyResult("xAxis","XAxis",properties.XAxis!=null?CfnTemplateSmallMultiplesAxisPropertiesPropertyFromCloudFormation(properties.XAxis):void 0),ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?CfnTemplateSmallMultiplesAxisPropertiesPropertyFromCloudFormation(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePieChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("contributionAnalysisDefaults",cdk().listValidator(CfnTemplateContributionAnalysisDefaultPropertyValidator))(properties.contributionAnalysisDefaults)),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("donutOptions",CfnTemplateDonutOptionsPropertyValidator)(properties.donutOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplatePieChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("smallMultiplesOptions",CfnTemplateSmallMultiplesOptionsPropertyValidator)(properties.smallMultiplesOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplatePieChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("valueLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.valueLabelOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "PieChartConfigurationProperty"')}function convertCfnTemplatePieChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePieChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ContributionAnalysisDefaults:cdk().listMapper(convertCfnTemplateContributionAnalysisDefaultPropertyToCloudFormation)(properties.contributionAnalysisDefaults),DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),DonutOptions:convertCfnTemplateDonutOptionsPropertyToCloudFormation(properties.donutOptions),FieldWells:convertCfnTemplatePieChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),SmallMultiplesOptions:convertCfnTemplateSmallMultiplesOptionsPropertyToCloudFormation(properties.smallMultiplesOptions),SortConfiguration:convertCfnTemplatePieChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),ValueLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.valueLabelOptions),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnTemplatePieChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("contributionAnalysisDefaults","ContributionAnalysisDefaults",properties.ContributionAnalysisDefaults!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateContributionAnalysisDefaultPropertyFromCloudFormation)(properties.ContributionAnalysisDefaults):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("donutOptions","DonutOptions",properties.DonutOptions!=null?CfnTemplateDonutOptionsPropertyFromCloudFormation(properties.DonutOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplatePieChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("smallMultiplesOptions","SmallMultiplesOptions",properties.SmallMultiplesOptions!=null?CfnTemplateSmallMultiplesOptionsPropertyFromCloudFormation(properties.SmallMultiplesOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplatePieChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("valueLabelOptions","ValueLabelOptions",properties.ValueLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.ValueLabelOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePieChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplatePieChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "PieChartVisualProperty"')}function convertCfnTemplatePieChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePieChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplatePieChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplatePieChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplatePieChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateConditionalFormattingIconDisplayConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("iconDisplayOption",cdk().validateString)(properties.iconDisplayOption)),errors.wrap('supplied properties not correct for "ConditionalFormattingIconDisplayConfigurationProperty"')}function convertCfnTemplateConditionalFormattingIconDisplayConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateConditionalFormattingIconDisplayConfigurationPropertyValidator(properties).assertSuccess(),{IconDisplayOption:cdk().stringToCloudFormation(properties.iconDisplayOption)}):properties}function CfnTemplateConditionalFormattingIconDisplayConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("iconDisplayOption","IconDisplayOption",properties.IconDisplayOption!=null?cfn_parse().FromCloudFormation.getString(properties.IconDisplayOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateConditionalFormattingCustomIconOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",cdk().validateString)(properties.icon)),errors.collect(cdk().propertyValidator("unicodeIcon",cdk().validateString)(properties.unicodeIcon)),errors.wrap('supplied properties not correct for "ConditionalFormattingCustomIconOptionsProperty"')}function convertCfnTemplateConditionalFormattingCustomIconOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateConditionalFormattingCustomIconOptionsPropertyValidator(properties).assertSuccess(),{Icon:cdk().stringToCloudFormation(properties.icon),UnicodeIcon:cdk().stringToCloudFormation(properties.unicodeIcon)}):properties}function CfnTemplateConditionalFormattingCustomIconOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?cfn_parse().FromCloudFormation.getString(properties.Icon):void 0),ret.addPropertyResult("unicodeIcon","UnicodeIcon",properties.UnicodeIcon!=null?cfn_parse().FromCloudFormation.getString(properties.UnicodeIcon):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateConditionalFormattingCustomIconConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("displayConfiguration",CfnTemplateConditionalFormattingIconDisplayConfigurationPropertyValidator)(properties.displayConfiguration)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("iconOptions",cdk().requiredValidator)(properties.iconOptions)),errors.collect(cdk().propertyValidator("iconOptions",CfnTemplateConditionalFormattingCustomIconOptionsPropertyValidator)(properties.iconOptions)),errors.wrap('supplied properties not correct for "ConditionalFormattingCustomIconConditionProperty"')}function convertCfnTemplateConditionalFormattingCustomIconConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateConditionalFormattingCustomIconConditionPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DisplayConfiguration:convertCfnTemplateConditionalFormattingIconDisplayConfigurationPropertyToCloudFormation(properties.displayConfiguration),Expression:cdk().stringToCloudFormation(properties.expression),IconOptions:convertCfnTemplateConditionalFormattingCustomIconOptionsPropertyToCloudFormation(properties.iconOptions)}):properties}function CfnTemplateConditionalFormattingCustomIconConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("displayConfiguration","DisplayConfiguration",properties.DisplayConfiguration!=null?CfnTemplateConditionalFormattingIconDisplayConfigurationPropertyFromCloudFormation(properties.DisplayConfiguration):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("iconOptions","IconOptions",properties.IconOptions!=null?CfnTemplateConditionalFormattingCustomIconOptionsPropertyFromCloudFormation(properties.IconOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateConditionalFormattingIconSetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("iconSetType",cdk().validateString)(properties.iconSetType)),errors.wrap('supplied properties not correct for "ConditionalFormattingIconSetProperty"')}function convertCfnTemplateConditionalFormattingIconSetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateConditionalFormattingIconSetPropertyValidator(properties).assertSuccess(),{Expression:cdk().stringToCloudFormation(properties.expression),IconSetType:cdk().stringToCloudFormation(properties.iconSetType)}):properties}function CfnTemplateConditionalFormattingIconSetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("iconSetType","IconSetType",properties.IconSetType!=null?cfn_parse().FromCloudFormation.getString(properties.IconSetType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateConditionalFormattingIconPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customCondition",CfnTemplateConditionalFormattingCustomIconConditionPropertyValidator)(properties.customCondition)),errors.collect(cdk().propertyValidator("iconSet",CfnTemplateConditionalFormattingIconSetPropertyValidator)(properties.iconSet)),errors.wrap('supplied properties not correct for "ConditionalFormattingIconProperty"')}function convertCfnTemplateConditionalFormattingIconPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateConditionalFormattingIconPropertyValidator(properties).assertSuccess(),{CustomCondition:convertCfnTemplateConditionalFormattingCustomIconConditionPropertyToCloudFormation(properties.customCondition),IconSet:convertCfnTemplateConditionalFormattingIconSetPropertyToCloudFormation(properties.iconSet)}):properties}function CfnTemplateConditionalFormattingIconPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customCondition","CustomCondition",properties.CustomCondition!=null?CfnTemplateConditionalFormattingCustomIconConditionPropertyFromCloudFormation(properties.CustomCondition):void 0),ret.addPropertyResult("iconSet","IconSet",properties.IconSet!=null?CfnTemplateConditionalFormattingIconSetPropertyFromCloudFormation(properties.IconSet):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIPrimaryValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnTemplateConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "KPIPrimaryValueConditionalFormattingProperty"')}function convertCfnTemplateKPIPrimaryValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIPrimaryValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnTemplateConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnTemplateKPIPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnTemplateConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIActualValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnTemplateConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "KPIActualValueConditionalFormattingProperty"')}function convertCfnTemplateKPIActualValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIActualValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnTemplateConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnTemplateKPIActualValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnTemplateConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIComparisonValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnTemplateConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "KPIComparisonValueConditionalFormattingProperty"')}function convertCfnTemplateKPIComparisonValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIComparisonValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnTemplateConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnTemplateKPIComparisonValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnTemplateConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIProgressBarConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("foregroundColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.foregroundColor)),errors.wrap('supplied properties not correct for "KPIProgressBarConditionalFormattingProperty"')}function convertCfnTemplateKPIProgressBarConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIProgressBarConditionalFormattingPropertyValidator(properties).assertSuccess(),{ForegroundColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.foregroundColor)}):properties}function CfnTemplateKPIProgressBarConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("foregroundColor","ForegroundColor",properties.ForegroundColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.ForegroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actualValue",CfnTemplateKPIActualValueConditionalFormattingPropertyValidator)(properties.actualValue)),errors.collect(cdk().propertyValidator("comparisonValue",CfnTemplateKPIComparisonValueConditionalFormattingPropertyValidator)(properties.comparisonValue)),errors.collect(cdk().propertyValidator("primaryValue",CfnTemplateKPIPrimaryValueConditionalFormattingPropertyValidator)(properties.primaryValue)),errors.collect(cdk().propertyValidator("progressBar",CfnTemplateKPIProgressBarConditionalFormattingPropertyValidator)(properties.progressBar)),errors.wrap('supplied properties not correct for "KPIConditionalFormattingOptionProperty"')}function convertCfnTemplateKPIConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{ActualValue:convertCfnTemplateKPIActualValueConditionalFormattingPropertyToCloudFormation(properties.actualValue),ComparisonValue:convertCfnTemplateKPIComparisonValueConditionalFormattingPropertyToCloudFormation(properties.comparisonValue),PrimaryValue:convertCfnTemplateKPIPrimaryValueConditionalFormattingPropertyToCloudFormation(properties.primaryValue),ProgressBar:convertCfnTemplateKPIProgressBarConditionalFormattingPropertyToCloudFormation(properties.progressBar)}):properties}function CfnTemplateKPIConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actualValue","ActualValue",properties.ActualValue!=null?CfnTemplateKPIActualValueConditionalFormattingPropertyFromCloudFormation(properties.ActualValue):void 0),ret.addPropertyResult("comparisonValue","ComparisonValue",properties.ComparisonValue!=null?CfnTemplateKPIComparisonValueConditionalFormattingPropertyFromCloudFormation(properties.ComparisonValue):void 0),ret.addPropertyResult("primaryValue","PrimaryValue",properties.PrimaryValue!=null?CfnTemplateKPIPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties.PrimaryValue):void 0),ret.addPropertyResult("progressBar","ProgressBar",properties.ProgressBar!=null?CfnTemplateKPIProgressBarConditionalFormattingPropertyFromCloudFormation(properties.ProgressBar):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnTemplateKPIConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "KPIConditionalFormattingProperty"')}function convertCfnTemplateKPIConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnTemplateKPIConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnTemplateKPIConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateKPIConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPISortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("trendGroupSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.trendGroupSort)),errors.wrap('supplied properties not correct for "KPISortConfigurationProperty"')}function convertCfnTemplateKPISortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPISortConfigurationPropertyValidator(properties).assertSuccess(),{TrendGroupSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.trendGroupSort)}):properties}function CfnTemplateKPISortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("trendGroupSort","TrendGroupSort",properties.TrendGroupSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.TrendGroupSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIVisualStandardLayoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "KPIVisualStandardLayoutProperty"')}function convertCfnTemplateKPIVisualStandardLayoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIVisualStandardLayoutPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTemplateKPIVisualStandardLayoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIVisualLayoutOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("standardLayout",CfnTemplateKPIVisualStandardLayoutPropertyValidator)(properties.standardLayout)),errors.wrap('supplied properties not correct for "KPIVisualLayoutOptionsProperty"')}function convertCfnTemplateKPIVisualLayoutOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIVisualLayoutOptionsPropertyValidator(properties).assertSuccess(),{StandardLayout:convertCfnTemplateKPIVisualStandardLayoutPropertyToCloudFormation(properties.standardLayout)}):properties}function CfnTemplateKPIVisualLayoutOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("standardLayout","StandardLayout",properties.StandardLayout!=null?CfnTemplateKPIVisualStandardLayoutPropertyFromCloudFormation(properties.StandardLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTrendArrowOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "TrendArrowOptionsProperty"')}function convertCfnTemplateTrendArrowOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTrendArrowOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateTrendArrowOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSecondaryValueOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SecondaryValueOptionsProperty"')}function convertCfnTemplateSecondaryValueOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSecondaryValueOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateSecondaryValueOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateComparisonFormatConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("numberDisplayFormatConfiguration",CfnTemplateNumberDisplayFormatConfigurationPropertyValidator)(properties.numberDisplayFormatConfiguration)),errors.collect(cdk().propertyValidator("percentageDisplayFormatConfiguration",CfnTemplatePercentageDisplayFormatConfigurationPropertyValidator)(properties.percentageDisplayFormatConfiguration)),errors.wrap('supplied properties not correct for "ComparisonFormatConfigurationProperty"')}function convertCfnTemplateComparisonFormatConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateComparisonFormatConfigurationPropertyValidator(properties).assertSuccess(),{NumberDisplayFormatConfiguration:convertCfnTemplateNumberDisplayFormatConfigurationPropertyToCloudFormation(properties.numberDisplayFormatConfiguration),PercentageDisplayFormatConfiguration:convertCfnTemplatePercentageDisplayFormatConfigurationPropertyToCloudFormation(properties.percentageDisplayFormatConfiguration)}):properties}function CfnTemplateComparisonFormatConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("numberDisplayFormatConfiguration","NumberDisplayFormatConfiguration",properties.NumberDisplayFormatConfiguration!=null?CfnTemplateNumberDisplayFormatConfigurationPropertyFromCloudFormation(properties.NumberDisplayFormatConfiguration):void 0),ret.addPropertyResult("percentageDisplayFormatConfiguration","PercentageDisplayFormatConfiguration",properties.PercentageDisplayFormatConfiguration!=null?CfnTemplatePercentageDisplayFormatConfigurationPropertyFromCloudFormation(properties.PercentageDisplayFormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateComparisonConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comparisonFormat",CfnTemplateComparisonFormatConfigurationPropertyValidator)(properties.comparisonFormat)),errors.collect(cdk().propertyValidator("comparisonMethod",cdk().validateString)(properties.comparisonMethod)),errors.wrap('supplied properties not correct for "ComparisonConfigurationProperty"')}function convertCfnTemplateComparisonConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateComparisonConfigurationPropertyValidator(properties).assertSuccess(),{ComparisonFormat:convertCfnTemplateComparisonFormatConfigurationPropertyToCloudFormation(properties.comparisonFormat),ComparisonMethod:cdk().stringToCloudFormation(properties.comparisonMethod)}):properties}function CfnTemplateComparisonConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comparisonFormat","ComparisonFormat",properties.ComparisonFormat!=null?CfnTemplateComparisonFormatConfigurationPropertyFromCloudFormation(properties.ComparisonFormat):void 0),ret.addPropertyResult("comparisonMethod","ComparisonMethod",properties.ComparisonMethod!=null?cfn_parse().FromCloudFormation.getString(properties.ComparisonMethod):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateProgressBarOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "ProgressBarOptionsProperty"')}function convertCfnTemplateProgressBarOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateProgressBarOptionsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateProgressBarOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPISparklineOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("tooltipVisibility",cdk().validateString)(properties.tooltipVisibility)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "KPISparklineOptionsProperty"')}function convertCfnTemplateKPISparklineOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPISparklineOptionsPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),TooltipVisibility:cdk().stringToCloudFormation(properties.tooltipVisibility),Type:cdk().stringToCloudFormation(properties.type),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateKPISparklineOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("tooltipVisibility","TooltipVisibility",properties.TooltipVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TooltipVisibility):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comparison",CfnTemplateComparisonConfigurationPropertyValidator)(properties.comparison)),errors.collect(cdk().propertyValidator("primaryValueDisplayType",cdk().validateString)(properties.primaryValueDisplayType)),errors.collect(cdk().propertyValidator("primaryValueFontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.primaryValueFontConfiguration)),errors.collect(cdk().propertyValidator("progressBar",CfnTemplateProgressBarOptionsPropertyValidator)(properties.progressBar)),errors.collect(cdk().propertyValidator("secondaryValue",CfnTemplateSecondaryValueOptionsPropertyValidator)(properties.secondaryValue)),errors.collect(cdk().propertyValidator("secondaryValueFontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.secondaryValueFontConfiguration)),errors.collect(cdk().propertyValidator("sparkline",CfnTemplateKPISparklineOptionsPropertyValidator)(properties.sparkline)),errors.collect(cdk().propertyValidator("trendArrows",CfnTemplateTrendArrowOptionsPropertyValidator)(properties.trendArrows)),errors.collect(cdk().propertyValidator("visualLayoutOptions",CfnTemplateKPIVisualLayoutOptionsPropertyValidator)(properties.visualLayoutOptions)),errors.wrap('supplied properties not correct for "KPIOptionsProperty"')}function convertCfnTemplateKPIOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIOptionsPropertyValidator(properties).assertSuccess(),{Comparison:convertCfnTemplateComparisonConfigurationPropertyToCloudFormation(properties.comparison),PrimaryValueDisplayType:cdk().stringToCloudFormation(properties.primaryValueDisplayType),PrimaryValueFontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.primaryValueFontConfiguration),ProgressBar:convertCfnTemplateProgressBarOptionsPropertyToCloudFormation(properties.progressBar),SecondaryValue:convertCfnTemplateSecondaryValueOptionsPropertyToCloudFormation(properties.secondaryValue),SecondaryValueFontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.secondaryValueFontConfiguration),Sparkline:convertCfnTemplateKPISparklineOptionsPropertyToCloudFormation(properties.sparkline),TrendArrows:convertCfnTemplateTrendArrowOptionsPropertyToCloudFormation(properties.trendArrows),VisualLayoutOptions:convertCfnTemplateKPIVisualLayoutOptionsPropertyToCloudFormation(properties.visualLayoutOptions)}):properties}function CfnTemplateKPIOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comparison","Comparison",properties.Comparison!=null?CfnTemplateComparisonConfigurationPropertyFromCloudFormation(properties.Comparison):void 0),ret.addPropertyResult("primaryValueDisplayType","PrimaryValueDisplayType",properties.PrimaryValueDisplayType!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryValueDisplayType):void 0),ret.addPropertyResult("primaryValueFontConfiguration","PrimaryValueFontConfiguration",properties.PrimaryValueFontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.PrimaryValueFontConfiguration):void 0),ret.addPropertyResult("progressBar","ProgressBar",properties.ProgressBar!=null?CfnTemplateProgressBarOptionsPropertyFromCloudFormation(properties.ProgressBar):void 0),ret.addPropertyResult("secondaryValue","SecondaryValue",properties.SecondaryValue!=null?CfnTemplateSecondaryValueOptionsPropertyFromCloudFormation(properties.SecondaryValue):void 0),ret.addPropertyResult("secondaryValueFontConfiguration","SecondaryValueFontConfiguration",properties.SecondaryValueFontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.SecondaryValueFontConfiguration):void 0),ret.addPropertyResult("sparkline","Sparkline",properties.Sparkline!=null?CfnTemplateKPISparklineOptionsPropertyFromCloudFormation(properties.Sparkline):void 0),ret.addPropertyResult("trendArrows","TrendArrows",properties.TrendArrows!=null?CfnTemplateTrendArrowOptionsPropertyFromCloudFormation(properties.TrendArrows):void 0),ret.addPropertyResult("visualLayoutOptions","VisualLayoutOptions",properties.VisualLayoutOptions!=null?CfnTemplateKPIVisualLayoutOptionsPropertyFromCloudFormation(properties.VisualLayoutOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetValues",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.targetValues)),errors.collect(cdk().propertyValidator("trendGroups",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.trendGroups)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "KPIFieldWellsProperty"')}function convertCfnTemplateKPIFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIFieldWellsPropertyValidator(properties).assertSuccess(),{TargetValues:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.targetValues),TrendGroups:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.trendGroups),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateKPIFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetValues","TargetValues",properties.TargetValues!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.TargetValues):void 0),ret.addPropertyResult("trendGroups","TrendGroups",properties.TrendGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.TrendGroups):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateKPIFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("kpiOptions",CfnTemplateKPIOptionsPropertyValidator)(properties.kpiOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateKPISortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.wrap('supplied properties not correct for "KPIConfigurationProperty"')}function convertCfnTemplateKPIConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:convertCfnTemplateKPIFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),KPIOptions:convertCfnTemplateKPIOptionsPropertyToCloudFormation(properties.kpiOptions),SortConfiguration:convertCfnTemplateKPISortConfigurationPropertyToCloudFormation(properties.sortConfiguration)}):properties}function CfnTemplateKPIConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateKPIFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("kpiOptions","KPIOptions",properties.KPIOptions!=null?CfnTemplateKPIOptionsPropertyFromCloudFormation(properties.KPIOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateKPISortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateKPIVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateKPIConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnTemplateKPIConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "KPIVisualProperty"')}function convertCfnTemplateKPIVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateKPIVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateKPIConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),ConditionalFormatting:convertCfnTemplateKPIConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateKPIVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateKPIConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnTemplateKPIConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBinWidthOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("binCountLimit",cdk().validateNumber)(properties.binCountLimit)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "BinWidthOptionsProperty"')}function convertCfnTemplateBinWidthOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBinWidthOptionsPropertyValidator(properties).assertSuccess(),{BinCountLimit:cdk().numberToCloudFormation(properties.binCountLimit),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnTemplateBinWidthOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("binCountLimit","BinCountLimit",properties.BinCountLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.BinCountLimit):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBinCountOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "BinCountOptionsProperty"')}function convertCfnTemplateBinCountOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBinCountOptionsPropertyValidator(properties).assertSuccess(),{Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnTemplateBinCountOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHistogramBinOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("binCount",CfnTemplateBinCountOptionsPropertyValidator)(properties.binCount)),errors.collect(cdk().propertyValidator("binWidth",CfnTemplateBinWidthOptionsPropertyValidator)(properties.binWidth)),errors.collect(cdk().propertyValidator("selectedBinType",cdk().validateString)(properties.selectedBinType)),errors.collect(cdk().propertyValidator("startValue",cdk().validateNumber)(properties.startValue)),errors.wrap('supplied properties not correct for "HistogramBinOptionsProperty"')}function convertCfnTemplateHistogramBinOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHistogramBinOptionsPropertyValidator(properties).assertSuccess(),{BinCount:convertCfnTemplateBinCountOptionsPropertyToCloudFormation(properties.binCount),BinWidth:convertCfnTemplateBinWidthOptionsPropertyToCloudFormation(properties.binWidth),SelectedBinType:cdk().stringToCloudFormation(properties.selectedBinType),StartValue:cdk().numberToCloudFormation(properties.startValue)}):properties}function CfnTemplateHistogramBinOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("binCount","BinCount",properties.BinCount!=null?CfnTemplateBinCountOptionsPropertyFromCloudFormation(properties.BinCount):void 0),ret.addPropertyResult("binWidth","BinWidth",properties.BinWidth!=null?CfnTemplateBinWidthOptionsPropertyFromCloudFormation(properties.BinWidth):void 0),ret.addPropertyResult("selectedBinType","SelectedBinType",properties.SelectedBinType!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedBinType):void 0),ret.addPropertyResult("startValue","StartValue",properties.StartValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHistogramAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "HistogramAggregatedFieldWellsProperty"')}function convertCfnTemplateHistogramAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHistogramAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateHistogramAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHistogramFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("histogramAggregatedFieldWells",CfnTemplateHistogramAggregatedFieldWellsPropertyValidator)(properties.histogramAggregatedFieldWells)),errors.wrap('supplied properties not correct for "HistogramFieldWellsProperty"')}function convertCfnTemplateHistogramFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHistogramFieldWellsPropertyValidator(properties).assertSuccess(),{HistogramAggregatedFieldWells:convertCfnTemplateHistogramAggregatedFieldWellsPropertyToCloudFormation(properties.histogramAggregatedFieldWells)}):properties}function CfnTemplateHistogramFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("histogramAggregatedFieldWells","HistogramAggregatedFieldWells",properties.HistogramAggregatedFieldWells!=null?CfnTemplateHistogramAggregatedFieldWellsPropertyFromCloudFormation(properties.HistogramAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHistogramConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("binOptions",CfnTemplateHistogramBinOptionsPropertyValidator)(properties.binOptions)),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateHistogramFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("xAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.xAxisDisplayOptions)),errors.collect(cdk().propertyValidator("xAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.xAxisLabelOptions)),errors.collect(cdk().propertyValidator("yAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.yAxisDisplayOptions)),errors.wrap('supplied properties not correct for "HistogramConfigurationProperty"')}function convertCfnTemplateHistogramConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHistogramConfigurationPropertyValidator(properties).assertSuccess(),{BinOptions:convertCfnTemplateHistogramBinOptionsPropertyToCloudFormation(properties.binOptions),DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnTemplateHistogramFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette),XAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.xAxisDisplayOptions),XAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.xAxisLabelOptions),YAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.yAxisDisplayOptions)}):properties}function CfnTemplateHistogramConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("binOptions","BinOptions",properties.BinOptions!=null?CfnTemplateHistogramBinOptionsPropertyFromCloudFormation(properties.BinOptions):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateHistogramFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("xAxisDisplayOptions","XAxisDisplayOptions",properties.XAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.XAxisDisplayOptions):void 0),ret.addPropertyResult("xAxisLabelOptions","XAxisLabelOptions",properties.XAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.XAxisLabelOptions):void 0),ret.addPropertyResult("yAxisDisplayOptions","YAxisDisplayOptions",properties.YAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.YAxisDisplayOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHistogramVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateHistogramConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "HistogramVisualProperty"')}function convertCfnTemplateHistogramVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHistogramVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateHistogramConfigurationPropertyToCloudFormation(properties.chartConfiguration),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateHistogramVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateHistogramConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableRowConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("textColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "TableRowConditionalFormattingProperty"')}function convertCfnTemplateTableRowConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableRowConditionalFormattingPropertyValidator(properties).assertSuccess(),{BackgroundColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.backgroundColor),TextColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnTemplateTableRowConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.BackgroundColor):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTextConditionalFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("icon",CfnTemplateConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "TextConditionalFormatProperty"')}function convertCfnTemplateTextConditionalFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTextConditionalFormatPropertyValidator(properties).assertSuccess(),{BackgroundColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.backgroundColor),Icon:convertCfnTemplateConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnTemplateTextConditionalFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.BackgroundColor):void 0),ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnTemplateConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableCellConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("textFormat",CfnTemplateTextConditionalFormatPropertyValidator)(properties.textFormat)),errors.wrap('supplied properties not correct for "TableCellConditionalFormattingProperty"')}function convertCfnTemplateTableCellConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableCellConditionalFormattingPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),TextFormat:convertCfnTemplateTextConditionalFormatPropertyToCloudFormation(properties.textFormat)}):properties}function CfnTemplateTableCellConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("textFormat","TextFormat",properties.TextFormat!=null?CfnTemplateTextConditionalFormatPropertyFromCloudFormation(properties.TextFormat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cell",CfnTemplateTableCellConditionalFormattingPropertyValidator)(properties.cell)),errors.collect(cdk().propertyValidator("row",CfnTemplateTableRowConditionalFormattingPropertyValidator)(properties.row)),errors.wrap('supplied properties not correct for "TableConditionalFormattingOptionProperty"')}function convertCfnTemplateTableConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Cell:convertCfnTemplateTableCellConditionalFormattingPropertyToCloudFormation(properties.cell),Row:convertCfnTemplateTableRowConditionalFormattingPropertyToCloudFormation(properties.row)}):properties}function CfnTemplateTableConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cell","Cell",properties.Cell!=null?CfnTemplateTableCellConditionalFormattingPropertyFromCloudFormation(properties.Cell):void 0),ret.addPropertyResult("row","Row",properties.Row!=null?CfnTemplateTableRowConditionalFormattingPropertyFromCloudFormation(properties.Row):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnTemplateTableConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "TableConditionalFormattingProperty"')}function convertCfnTemplateTableConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnTemplateTableConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnTemplateTableConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateTableConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("paginationConfiguration",CfnTemplatePaginationConfigurationPropertyValidator)(properties.paginationConfiguration)),errors.collect(cdk().propertyValidator("rowSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.rowSort)),errors.wrap('supplied properties not correct for "TableSortConfigurationProperty"')}function convertCfnTemplateTableSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableSortConfigurationPropertyValidator(properties).assertSuccess(),{PaginationConfiguration:convertCfnTemplatePaginationConfigurationPropertyToCloudFormation(properties.paginationConfiguration),RowSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.rowSort)}):properties}function CfnTemplateTableSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("paginationConfiguration","PaginationConfiguration",properties.PaginationConfiguration!=null?CfnTemplatePaginationConfigurationPropertyFromCloudFormation(properties.PaginationConfiguration):void 0),ret.addPropertyResult("rowSort","RowSort",properties.RowSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.RowSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTablePaginatedReportOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("overflowColumnHeaderVisibility",cdk().validateString)(properties.overflowColumnHeaderVisibility)),errors.collect(cdk().propertyValidator("verticalOverflowVisibility",cdk().validateString)(properties.verticalOverflowVisibility)),errors.wrap('supplied properties not correct for "TablePaginatedReportOptionsProperty"')}function convertCfnTemplateTablePaginatedReportOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTablePaginatedReportOptionsPropertyValidator(properties).assertSuccess(),{OverflowColumnHeaderVisibility:cdk().stringToCloudFormation(properties.overflowColumnHeaderVisibility),VerticalOverflowVisibility:cdk().stringToCloudFormation(properties.verticalOverflowVisibility)}):properties}function CfnTemplateTablePaginatedReportOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("overflowColumnHeaderVisibility","OverflowColumnHeaderVisibility",properties.OverflowColumnHeaderVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.OverflowColumnHeaderVisibility):void 0),ret.addPropertyResult("verticalOverflowVisibility","VerticalOverflowVisibility",properties.VerticalOverflowVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalOverflowVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableBorderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("style",cdk().validateString)(properties.style)),errors.collect(cdk().propertyValidator("thickness",cdk().validateNumber)(properties.thickness)),errors.wrap('supplied properties not correct for "TableBorderOptionsProperty"')}function convertCfnTemplateTableBorderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableBorderOptionsPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),Style:cdk().stringToCloudFormation(properties.style),Thickness:cdk().numberToCloudFormation(properties.thickness)}):properties}function CfnTemplateTableBorderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("style","Style",properties.Style!=null?cfn_parse().FromCloudFormation.getString(properties.Style):void 0),ret.addPropertyResult("thickness","Thickness",properties.Thickness!=null?cfn_parse().FromCloudFormation.getNumber(properties.Thickness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableSideBorderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bottom",CfnTemplateTableBorderOptionsPropertyValidator)(properties.bottom)),errors.collect(cdk().propertyValidator("innerHorizontal",CfnTemplateTableBorderOptionsPropertyValidator)(properties.innerHorizontal)),errors.collect(cdk().propertyValidator("innerVertical",CfnTemplateTableBorderOptionsPropertyValidator)(properties.innerVertical)),errors.collect(cdk().propertyValidator("left",CfnTemplateTableBorderOptionsPropertyValidator)(properties.left)),errors.collect(cdk().propertyValidator("right",CfnTemplateTableBorderOptionsPropertyValidator)(properties.right)),errors.collect(cdk().propertyValidator("top",CfnTemplateTableBorderOptionsPropertyValidator)(properties.top)),errors.wrap('supplied properties not correct for "TableSideBorderOptionsProperty"')}function convertCfnTemplateTableSideBorderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableSideBorderOptionsPropertyValidator(properties).assertSuccess(),{Bottom:convertCfnTemplateTableBorderOptionsPropertyToCloudFormation(properties.bottom),InnerHorizontal:convertCfnTemplateTableBorderOptionsPropertyToCloudFormation(properties.innerHorizontal),InnerVertical:convertCfnTemplateTableBorderOptionsPropertyToCloudFormation(properties.innerVertical),Left:convertCfnTemplateTableBorderOptionsPropertyToCloudFormation(properties.left),Right:convertCfnTemplateTableBorderOptionsPropertyToCloudFormation(properties.right),Top:convertCfnTemplateTableBorderOptionsPropertyToCloudFormation(properties.top)}):properties}function CfnTemplateTableSideBorderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bottom","Bottom",properties.Bottom!=null?CfnTemplateTableBorderOptionsPropertyFromCloudFormation(properties.Bottom):void 0),ret.addPropertyResult("innerHorizontal","InnerHorizontal",properties.InnerHorizontal!=null?CfnTemplateTableBorderOptionsPropertyFromCloudFormation(properties.InnerHorizontal):void 0),ret.addPropertyResult("innerVertical","InnerVertical",properties.InnerVertical!=null?CfnTemplateTableBorderOptionsPropertyFromCloudFormation(properties.InnerVertical):void 0),ret.addPropertyResult("left","Left",properties.Left!=null?CfnTemplateTableBorderOptionsPropertyFromCloudFormation(properties.Left):void 0),ret.addPropertyResult("right","Right",properties.Right!=null?CfnTemplateTableBorderOptionsPropertyFromCloudFormation(properties.Right):void 0),ret.addPropertyResult("top","Top",properties.Top!=null?CfnTemplateTableBorderOptionsPropertyFromCloudFormation(properties.Top):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGlobalTableBorderOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sideSpecificBorder",CfnTemplateTableSideBorderOptionsPropertyValidator)(properties.sideSpecificBorder)),errors.collect(cdk().propertyValidator("uniformBorder",CfnTemplateTableBorderOptionsPropertyValidator)(properties.uniformBorder)),errors.wrap('supplied properties not correct for "GlobalTableBorderOptionsProperty"')}function convertCfnTemplateGlobalTableBorderOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGlobalTableBorderOptionsPropertyValidator(properties).assertSuccess(),{SideSpecificBorder:convertCfnTemplateTableSideBorderOptionsPropertyToCloudFormation(properties.sideSpecificBorder),UniformBorder:convertCfnTemplateTableBorderOptionsPropertyToCloudFormation(properties.uniformBorder)}):properties}function CfnTemplateGlobalTableBorderOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sideSpecificBorder","SideSpecificBorder",properties.SideSpecificBorder!=null?CfnTemplateTableSideBorderOptionsPropertyFromCloudFormation(properties.SideSpecificBorder):void 0),ret.addPropertyResult("uniformBorder","UniformBorder",properties.UniformBorder!=null?CfnTemplateTableBorderOptionsPropertyFromCloudFormation(properties.UniformBorder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableCellStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("border",CfnTemplateGlobalTableBorderOptionsPropertyValidator)(properties.border)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("height",cdk().validateNumber)(properties.height)),errors.collect(cdk().propertyValidator("horizontalTextAlignment",cdk().validateString)(properties.horizontalTextAlignment)),errors.collect(cdk().propertyValidator("textWrap",cdk().validateString)(properties.textWrap)),errors.collect(cdk().propertyValidator("verticalTextAlignment",cdk().validateString)(properties.verticalTextAlignment)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "TableCellStyleProperty"')}function convertCfnTemplateTableCellStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableCellStylePropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),Border:convertCfnTemplateGlobalTableBorderOptionsPropertyToCloudFormation(properties.border),FontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),Height:cdk().numberToCloudFormation(properties.height),HorizontalTextAlignment:cdk().stringToCloudFormation(properties.horizontalTextAlignment),TextWrap:cdk().stringToCloudFormation(properties.textWrap),VerticalTextAlignment:cdk().stringToCloudFormation(properties.verticalTextAlignment),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateTableCellStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("border","Border",properties.Border!=null?CfnTemplateGlobalTableBorderOptionsPropertyFromCloudFormation(properties.Border):void 0),ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getNumber(properties.Height):void 0),ret.addPropertyResult("horizontalTextAlignment","HorizontalTextAlignment",properties.HorizontalTextAlignment!=null?cfn_parse().FromCloudFormation.getString(properties.HorizontalTextAlignment):void 0),ret.addPropertyResult("textWrap","TextWrap",properties.TextWrap!=null?cfn_parse().FromCloudFormation.getString(properties.TextWrap):void 0),ret.addPropertyResult("verticalTextAlignment","VerticalTextAlignment",properties.VerticalTextAlignment!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalTextAlignment):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRowAlternateColorOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("rowAlternateColors",cdk().listValidator(cdk().validateString))(properties.rowAlternateColors)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("usePrimaryBackgroundColor",cdk().validateString)(properties.usePrimaryBackgroundColor)),errors.wrap('supplied properties not correct for "RowAlternateColorOptionsProperty"')}function convertCfnTemplateRowAlternateColorOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRowAlternateColorOptionsPropertyValidator(properties).assertSuccess(),{RowAlternateColors:cdk().listMapper(cdk().stringToCloudFormation)(properties.rowAlternateColors),Status:cdk().stringToCloudFormation(properties.status),UsePrimaryBackgroundColor:cdk().stringToCloudFormation(properties.usePrimaryBackgroundColor)}):properties}function CfnTemplateRowAlternateColorOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("rowAlternateColors","RowAlternateColors",properties.RowAlternateColors!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RowAlternateColors):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("usePrimaryBackgroundColor","UsePrimaryBackgroundColor",properties.UsePrimaryBackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.UsePrimaryBackgroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellStyle",CfnTemplateTableCellStylePropertyValidator)(properties.cellStyle)),errors.collect(cdk().propertyValidator("headerStyle",CfnTemplateTableCellStylePropertyValidator)(properties.headerStyle)),errors.collect(cdk().propertyValidator("orientation",cdk().validateString)(properties.orientation)),errors.collect(cdk().propertyValidator("rowAlternateColorOptions",CfnTemplateRowAlternateColorOptionsPropertyValidator)(properties.rowAlternateColorOptions)),errors.wrap('supplied properties not correct for "TableOptionsProperty"')}function convertCfnTemplateTableOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableOptionsPropertyValidator(properties).assertSuccess(),{CellStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.cellStyle),HeaderStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.headerStyle),Orientation:cdk().stringToCloudFormation(properties.orientation),RowAlternateColorOptions:convertCfnTemplateRowAlternateColorOptionsPropertyToCloudFormation(properties.rowAlternateColorOptions)}):properties}function CfnTemplateTableOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellStyle","CellStyle",properties.CellStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.CellStyle):void 0),ret.addPropertyResult("headerStyle","HeaderStyle",properties.HeaderStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.HeaderStyle):void 0),ret.addPropertyResult("orientation","Orientation",properties.Orientation!=null?cfn_parse().FromCloudFormation.getString(properties.Orientation):void 0),ret.addPropertyResult("rowAlternateColorOptions","RowAlternateColorOptions",properties.RowAlternateColorOptions!=null?CfnTemplateRowAlternateColorOptionsPropertyFromCloudFormation(properties.RowAlternateColorOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataBarsOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("negativeColor",cdk().validateString)(properties.negativeColor)),errors.collect(cdk().propertyValidator("positiveColor",cdk().validateString)(properties.positiveColor)),errors.wrap('supplied properties not correct for "DataBarsOptionsProperty"')}function convertCfnTemplateDataBarsOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataBarsOptionsPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),NegativeColor:cdk().stringToCloudFormation(properties.negativeColor),PositiveColor:cdk().stringToCloudFormation(properties.positiveColor)}):properties}function CfnTemplateDataBarsOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("negativeColor","NegativeColor",properties.NegativeColor!=null?cfn_parse().FromCloudFormation.getString(properties.NegativeColor):void 0),ret.addPropertyResult("positiveColor","PositiveColor",properties.PositiveColor!=null?cfn_parse().FromCloudFormation.getString(properties.PositiveColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableInlineVisualizationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataBars",CfnTemplateDataBarsOptionsPropertyValidator)(properties.dataBars)),errors.wrap('supplied properties not correct for "TableInlineVisualizationProperty"')}function convertCfnTemplateTableInlineVisualizationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableInlineVisualizationPropertyValidator(properties).assertSuccess(),{DataBars:convertCfnTemplateDataBarsOptionsPropertyToCloudFormation(properties.dataBars)}):properties}function CfnTemplateTableInlineVisualizationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataBars","DataBars",properties.DataBars!=null?CfnTemplateDataBarsOptionsPropertyFromCloudFormation(properties.DataBars):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateUnaggregatedFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",cdk().requiredValidator)(properties.column)),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnIdentifierPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("formatConfiguration",CfnTemplateFormatConfigurationPropertyValidator)(properties.formatConfiguration)),errors.wrap('supplied properties not correct for "UnaggregatedFieldProperty"')}function convertCfnTemplateUnaggregatedFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateUnaggregatedFieldPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.column),FieldId:cdk().stringToCloudFormation(properties.fieldId),FormatConfiguration:convertCfnTemplateFormatConfigurationPropertyToCloudFormation(properties.formatConfiguration)}):properties}function CfnTemplateUnaggregatedFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("formatConfiguration","FormatConfiguration",properties.FormatConfiguration!=null?CfnTemplateFormatConfigurationPropertyFromCloudFormation(properties.FormatConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableUnaggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateUnaggregatedFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "TableUnaggregatedFieldWellsProperty"')}function convertCfnTemplateTableUnaggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableUnaggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Values:cdk().listMapper(convertCfnTemplateUnaggregatedFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateTableUnaggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateUnaggregatedFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "TableAggregatedFieldWellsProperty"')}function convertCfnTemplateTableAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{GroupBy:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.groupBy),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateTableAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tableAggregatedFieldWells",CfnTemplateTableAggregatedFieldWellsPropertyValidator)(properties.tableAggregatedFieldWells)),errors.collect(cdk().propertyValidator("tableUnaggregatedFieldWells",CfnTemplateTableUnaggregatedFieldWellsPropertyValidator)(properties.tableUnaggregatedFieldWells)),errors.wrap('supplied properties not correct for "TableFieldWellsProperty"')}function convertCfnTemplateTableFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableFieldWellsPropertyValidator(properties).assertSuccess(),{TableAggregatedFieldWells:convertCfnTemplateTableAggregatedFieldWellsPropertyToCloudFormation(properties.tableAggregatedFieldWells),TableUnaggregatedFieldWells:convertCfnTemplateTableUnaggregatedFieldWellsPropertyToCloudFormation(properties.tableUnaggregatedFieldWells)}):properties}function CfnTemplateTableFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tableAggregatedFieldWells","TableAggregatedFieldWells",properties.TableAggregatedFieldWells!=null?CfnTemplateTableAggregatedFieldWellsPropertyFromCloudFormation(properties.TableAggregatedFieldWells):void 0),ret.addPropertyResult("tableUnaggregatedFieldWells","TableUnaggregatedFieldWells",properties.TableUnaggregatedFieldWells!=null?CfnTemplateTableUnaggregatedFieldWellsPropertyFromCloudFormation(properties.TableUnaggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTablePinnedFieldOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pinnedLeftFields",cdk().listValidator(cdk().validateString))(properties.pinnedLeftFields)),errors.wrap('supplied properties not correct for "TablePinnedFieldOptionsProperty"')}function convertCfnTemplateTablePinnedFieldOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTablePinnedFieldOptionsPropertyValidator(properties).assertSuccess(),{PinnedLeftFields:cdk().listMapper(cdk().stringToCloudFormation)(properties.pinnedLeftFields)}):properties}function CfnTemplateTablePinnedFieldOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pinnedLeftFields","PinnedLeftFields",properties.PinnedLeftFields!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PinnedLeftFields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableFieldCustomIconContentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",cdk().validateString)(properties.icon)),errors.wrap('supplied properties not correct for "TableFieldCustomIconContentProperty"')}function convertCfnTemplateTableFieldCustomIconContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableFieldCustomIconContentPropertyValidator(properties).assertSuccess(),{Icon:cdk().stringToCloudFormation(properties.icon)}):properties}function CfnTemplateTableFieldCustomIconContentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?cfn_parse().FromCloudFormation.getString(properties.Icon):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableFieldCustomTextContentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontConfiguration",cdk().requiredValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("fontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.fontConfiguration)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TableFieldCustomTextContentProperty"')}function convertCfnTemplateTableFieldCustomTextContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableFieldCustomTextContentPropertyValidator(properties).assertSuccess(),{FontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.fontConfiguration),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnTemplateTableFieldCustomTextContentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontConfiguration","FontConfiguration",properties.FontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.FontConfiguration):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableFieldLinkContentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customIconContent",CfnTemplateTableFieldCustomIconContentPropertyValidator)(properties.customIconContent)),errors.collect(cdk().propertyValidator("customTextContent",CfnTemplateTableFieldCustomTextContentPropertyValidator)(properties.customTextContent)),errors.wrap('supplied properties not correct for "TableFieldLinkContentConfigurationProperty"')}function convertCfnTemplateTableFieldLinkContentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableFieldLinkContentConfigurationPropertyValidator(properties).assertSuccess(),{CustomIconContent:convertCfnTemplateTableFieldCustomIconContentPropertyToCloudFormation(properties.customIconContent),CustomTextContent:convertCfnTemplateTableFieldCustomTextContentPropertyToCloudFormation(properties.customTextContent)}):properties}function CfnTemplateTableFieldLinkContentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customIconContent","CustomIconContent",properties.CustomIconContent!=null?CfnTemplateTableFieldCustomIconContentPropertyFromCloudFormation(properties.CustomIconContent):void 0),ret.addPropertyResult("customTextContent","CustomTextContent",properties.CustomTextContent!=null?CfnTemplateTableFieldCustomTextContentPropertyFromCloudFormation(properties.CustomTextContent):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableFieldLinkConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",CfnTemplateTableFieldLinkContentConfigurationPropertyValidator)(properties.content)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.wrap('supplied properties not correct for "TableFieldLinkConfigurationProperty"')}function convertCfnTemplateTableFieldLinkConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableFieldLinkConfigurationPropertyValidator(properties).assertSuccess(),{Content:convertCfnTemplateTableFieldLinkContentConfigurationPropertyToCloudFormation(properties.content),Target:cdk().stringToCloudFormation(properties.target)}):properties}function CfnTemplateTableFieldLinkConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("content","Content",properties.Content!=null?CfnTemplateTableFieldLinkContentConfigurationPropertyFromCloudFormation(properties.Content):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableCellImageSizingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tableCellImageScalingConfiguration",cdk().validateString)(properties.tableCellImageScalingConfiguration)),errors.wrap('supplied properties not correct for "TableCellImageSizingConfigurationProperty"')}function convertCfnTemplateTableCellImageSizingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableCellImageSizingConfigurationPropertyValidator(properties).assertSuccess(),{TableCellImageScalingConfiguration:cdk().stringToCloudFormation(properties.tableCellImageScalingConfiguration)}):properties}function CfnTemplateTableCellImageSizingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tableCellImageScalingConfiguration","TableCellImageScalingConfiguration",properties.TableCellImageScalingConfiguration!=null?cfn_parse().FromCloudFormation.getString(properties.TableCellImageScalingConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableFieldImageConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sizingOptions",CfnTemplateTableCellImageSizingConfigurationPropertyValidator)(properties.sizingOptions)),errors.wrap('supplied properties not correct for "TableFieldImageConfigurationProperty"')}function convertCfnTemplateTableFieldImageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableFieldImageConfigurationPropertyValidator(properties).assertSuccess(),{SizingOptions:convertCfnTemplateTableCellImageSizingConfigurationPropertyToCloudFormation(properties.sizingOptions)}):properties}function CfnTemplateTableFieldImageConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sizingOptions","SizingOptions",properties.SizingOptions!=null?CfnTemplateTableCellImageSizingConfigurationPropertyFromCloudFormation(properties.SizingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableFieldURLConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("imageConfiguration",CfnTemplateTableFieldImageConfigurationPropertyValidator)(properties.imageConfiguration)),errors.collect(cdk().propertyValidator("linkConfiguration",CfnTemplateTableFieldLinkConfigurationPropertyValidator)(properties.linkConfiguration)),errors.wrap('supplied properties not correct for "TableFieldURLConfigurationProperty"')}function convertCfnTemplateTableFieldURLConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableFieldURLConfigurationPropertyValidator(properties).assertSuccess(),{ImageConfiguration:convertCfnTemplateTableFieldImageConfigurationPropertyToCloudFormation(properties.imageConfiguration),LinkConfiguration:convertCfnTemplateTableFieldLinkConfigurationPropertyToCloudFormation(properties.linkConfiguration)}):properties}function CfnTemplateTableFieldURLConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("imageConfiguration","ImageConfiguration",properties.ImageConfiguration!=null?CfnTemplateTableFieldImageConfigurationPropertyFromCloudFormation(properties.ImageConfiguration):void 0),ret.addPropertyResult("linkConfiguration","LinkConfiguration",properties.LinkConfiguration!=null?CfnTemplateTableFieldLinkConfigurationPropertyFromCloudFormation(properties.LinkConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableFieldOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("urlStyling",CfnTemplateTableFieldURLConfigurationPropertyValidator)(properties.urlStyling)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "TableFieldOptionProperty"')}function convertCfnTemplateTableFieldOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableFieldOptionPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FieldId:cdk().stringToCloudFormation(properties.fieldId),URLStyling:convertCfnTemplateTableFieldURLConfigurationPropertyToCloudFormation(properties.urlStyling),Visibility:cdk().stringToCloudFormation(properties.visibility),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnTemplateTableFieldOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("urlStyling","URLStyling",properties.URLStyling!=null?CfnTemplateTableFieldURLConfigurationPropertyFromCloudFormation(properties.URLStyling):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTransposedTableOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnIndex",cdk().validateNumber)(properties.columnIndex)),errors.collect(cdk().propertyValidator("columnType",cdk().requiredValidator)(properties.columnType)),errors.collect(cdk().propertyValidator("columnType",cdk().validateString)(properties.columnType)),errors.collect(cdk().propertyValidator("columnWidth",cdk().validateString)(properties.columnWidth)),errors.wrap('supplied properties not correct for "TransposedTableOptionProperty"')}function convertCfnTemplateTransposedTableOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTransposedTableOptionPropertyValidator(properties).assertSuccess(),{ColumnIndex:cdk().numberToCloudFormation(properties.columnIndex),ColumnType:cdk().stringToCloudFormation(properties.columnType),ColumnWidth:cdk().stringToCloudFormation(properties.columnWidth)}):properties}function CfnTemplateTransposedTableOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnIndex","ColumnIndex",properties.ColumnIndex!=null?cfn_parse().FromCloudFormation.getNumber(properties.ColumnIndex):void 0),ret.addPropertyResult("columnType","ColumnType",properties.ColumnType!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnType):void 0),ret.addPropertyResult("columnWidth","ColumnWidth",properties.ColumnWidth!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableFieldOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("order",cdk().listValidator(cdk().validateString))(properties.order)),errors.collect(cdk().propertyValidator("pinnedFieldOptions",CfnTemplateTablePinnedFieldOptionsPropertyValidator)(properties.pinnedFieldOptions)),errors.collect(cdk().propertyValidator("selectedFieldOptions",cdk().listValidator(CfnTemplateTableFieldOptionPropertyValidator))(properties.selectedFieldOptions)),errors.collect(cdk().propertyValidator("transposedTableOptions",cdk().listValidator(CfnTemplateTransposedTableOptionPropertyValidator))(properties.transposedTableOptions)),errors.wrap('supplied properties not correct for "TableFieldOptionsProperty"')}function convertCfnTemplateTableFieldOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableFieldOptionsPropertyValidator(properties).assertSuccess(),{Order:cdk().listMapper(cdk().stringToCloudFormation)(properties.order),PinnedFieldOptions:convertCfnTemplateTablePinnedFieldOptionsPropertyToCloudFormation(properties.pinnedFieldOptions),SelectedFieldOptions:cdk().listMapper(convertCfnTemplateTableFieldOptionPropertyToCloudFormation)(properties.selectedFieldOptions),TransposedTableOptions:cdk().listMapper(convertCfnTemplateTransposedTableOptionPropertyToCloudFormation)(properties.transposedTableOptions)}):properties}function CfnTemplateTableFieldOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("order","Order",properties.Order!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Order):void 0),ret.addPropertyResult("pinnedFieldOptions","PinnedFieldOptions",properties.PinnedFieldOptions!=null?CfnTemplateTablePinnedFieldOptionsPropertyFromCloudFormation(properties.PinnedFieldOptions):void 0),ret.addPropertyResult("selectedFieldOptions","SelectedFieldOptions",properties.SelectedFieldOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateTableFieldOptionPropertyFromCloudFormation)(properties.SelectedFieldOptions):void 0),ret.addPropertyResult("transposedTableOptions","TransposedTableOptions",properties.TransposedTableOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateTransposedTableOptionPropertyFromCloudFormation)(properties.TransposedTableOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTotalAggregationFunctionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("simpleTotalAggregationFunction",cdk().validateString)(properties.simpleTotalAggregationFunction)),errors.wrap('supplied properties not correct for "TotalAggregationFunctionProperty"')}function convertCfnTemplateTotalAggregationFunctionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTotalAggregationFunctionPropertyValidator(properties).assertSuccess(),{SimpleTotalAggregationFunction:cdk().stringToCloudFormation(properties.simpleTotalAggregationFunction)}):properties}function CfnTemplateTotalAggregationFunctionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("simpleTotalAggregationFunction","SimpleTotalAggregationFunction",properties.SimpleTotalAggregationFunction!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleTotalAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTotalAggregationOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("totalAggregationFunction",cdk().requiredValidator)(properties.totalAggregationFunction)),errors.collect(cdk().propertyValidator("totalAggregationFunction",CfnTemplateTotalAggregationFunctionPropertyValidator)(properties.totalAggregationFunction)),errors.wrap('supplied properties not correct for "TotalAggregationOptionProperty"')}function convertCfnTemplateTotalAggregationOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTotalAggregationOptionPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),TotalAggregationFunction:convertCfnTemplateTotalAggregationFunctionPropertyToCloudFormation(properties.totalAggregationFunction)}):properties}function CfnTemplateTotalAggregationOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("totalAggregationFunction","TotalAggregationFunction",properties.TotalAggregationFunction!=null?CfnTemplateTotalAggregationFunctionPropertyFromCloudFormation(properties.TotalAggregationFunction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("placement",cdk().validateString)(properties.placement)),errors.collect(cdk().propertyValidator("scrollStatus",cdk().validateString)(properties.scrollStatus)),errors.collect(cdk().propertyValidator("totalAggregationOptions",cdk().listValidator(CfnTemplateTotalAggregationOptionPropertyValidator))(properties.totalAggregationOptions)),errors.collect(cdk().propertyValidator("totalCellStyle",CfnTemplateTableCellStylePropertyValidator)(properties.totalCellStyle)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.wrap('supplied properties not correct for "TotalOptionsProperty"')}function convertCfnTemplateTotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTotalOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),Placement:cdk().stringToCloudFormation(properties.placement),ScrollStatus:cdk().stringToCloudFormation(properties.scrollStatus),TotalAggregationOptions:cdk().listMapper(convertCfnTemplateTotalAggregationOptionPropertyToCloudFormation)(properties.totalAggregationOptions),TotalCellStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.totalCellStyle),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility)}):properties}function CfnTemplateTotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("placement","Placement",properties.Placement!=null?cfn_parse().FromCloudFormation.getString(properties.Placement):void 0),ret.addPropertyResult("scrollStatus","ScrollStatus",properties.ScrollStatus!=null?cfn_parse().FromCloudFormation.getString(properties.ScrollStatus):void 0),ret.addPropertyResult("totalAggregationOptions","TotalAggregationOptions",properties.TotalAggregationOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateTotalAggregationOptionPropertyFromCloudFormation)(properties.TotalAggregationOptions):void 0),ret.addPropertyResult("totalCellStyle","TotalCellStyle",properties.TotalCellStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.TotalCellStyle):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldOptions",CfnTemplateTableFieldOptionsPropertyValidator)(properties.fieldOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateTableFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("paginatedReportOptions",CfnTemplateTablePaginatedReportOptionsPropertyValidator)(properties.paginatedReportOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateTableSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tableInlineVisualizations",cdk().listValidator(CfnTemplateTableInlineVisualizationPropertyValidator))(properties.tableInlineVisualizations)),errors.collect(cdk().propertyValidator("tableOptions",CfnTemplateTableOptionsPropertyValidator)(properties.tableOptions)),errors.collect(cdk().propertyValidator("totalOptions",CfnTemplateTotalOptionsPropertyValidator)(properties.totalOptions)),errors.wrap('supplied properties not correct for "TableConfigurationProperty"')}function convertCfnTemplateTableConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableConfigurationPropertyValidator(properties).assertSuccess(),{FieldOptions:convertCfnTemplateTableFieldOptionsPropertyToCloudFormation(properties.fieldOptions),FieldWells:convertCfnTemplateTableFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),PaginatedReportOptions:convertCfnTemplateTablePaginatedReportOptionsPropertyToCloudFormation(properties.paginatedReportOptions),SortConfiguration:convertCfnTemplateTableSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),TableInlineVisualizations:cdk().listMapper(convertCfnTemplateTableInlineVisualizationPropertyToCloudFormation)(properties.tableInlineVisualizations),TableOptions:convertCfnTemplateTableOptionsPropertyToCloudFormation(properties.tableOptions),TotalOptions:convertCfnTemplateTotalOptionsPropertyToCloudFormation(properties.totalOptions)}):properties}function CfnTemplateTableConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldOptions","FieldOptions",properties.FieldOptions!=null?CfnTemplateTableFieldOptionsPropertyFromCloudFormation(properties.FieldOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateTableFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("paginatedReportOptions","PaginatedReportOptions",properties.PaginatedReportOptions!=null?CfnTemplateTablePaginatedReportOptionsPropertyFromCloudFormation(properties.PaginatedReportOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateTableSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tableInlineVisualizations","TableInlineVisualizations",properties.TableInlineVisualizations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateTableInlineVisualizationPropertyFromCloudFormation)(properties.TableInlineVisualizations):void 0),ret.addPropertyResult("tableOptions","TableOptions",properties.TableOptions!=null?CfnTemplateTableOptionsPropertyFromCloudFormation(properties.TableOptions):void 0),ret.addPropertyResult("totalOptions","TotalOptions",properties.TotalOptions!=null?CfnTemplateTotalOptionsPropertyFromCloudFormation(properties.TotalOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateTableConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnTemplateTableConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "TableVisualProperty"')}function convertCfnTemplateTableVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateTableConfigurationPropertyToCloudFormation(properties.chartConfiguration),ConditionalFormatting:convertCfnTemplateTableConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateTableVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateTableConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnTemplateTableConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableConditionalFormattingScopePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "PivotTableConditionalFormattingScopeProperty"')}function convertCfnTemplatePivotTableConditionalFormattingScopePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableConditionalFormattingScopePropertyValidator(properties).assertSuccess(),{Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnTemplatePivotTableConditionalFormattingScopePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableCellConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("scope",CfnTemplatePivotTableConditionalFormattingScopePropertyValidator)(properties.scope)),errors.collect(cdk().propertyValidator("scopes",cdk().listValidator(CfnTemplatePivotTableConditionalFormattingScopePropertyValidator))(properties.scopes)),errors.collect(cdk().propertyValidator("textFormat",CfnTemplateTextConditionalFormatPropertyValidator)(properties.textFormat)),errors.wrap('supplied properties not correct for "PivotTableCellConditionalFormattingProperty"')}function convertCfnTemplatePivotTableCellConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableCellConditionalFormattingPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),Scope:convertCfnTemplatePivotTableConditionalFormattingScopePropertyToCloudFormation(properties.scope),Scopes:cdk().listMapper(convertCfnTemplatePivotTableConditionalFormattingScopePropertyToCloudFormation)(properties.scopes),TextFormat:convertCfnTemplateTextConditionalFormatPropertyToCloudFormation(properties.textFormat)}):properties}function CfnTemplatePivotTableCellConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?CfnTemplatePivotTableConditionalFormattingScopePropertyFromCloudFormation(properties.Scope):void 0),ret.addPropertyResult("scopes","Scopes",properties.Scopes!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplatePivotTableConditionalFormattingScopePropertyFromCloudFormation)(properties.Scopes):void 0),ret.addPropertyResult("textFormat","TextFormat",properties.TextFormat!=null?CfnTemplateTextConditionalFormatPropertyFromCloudFormation(properties.TextFormat):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cell",CfnTemplatePivotTableCellConditionalFormattingPropertyValidator)(properties.cell)),errors.wrap('supplied properties not correct for "PivotTableConditionalFormattingOptionProperty"')}function convertCfnTemplatePivotTableConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Cell:convertCfnTemplatePivotTableCellConditionalFormattingPropertyToCloudFormation(properties.cell)}):properties}function CfnTemplatePivotTableConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cell","Cell",properties.Cell!=null?CfnTemplatePivotTableCellConditionalFormattingPropertyFromCloudFormation(properties.Cell):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnTemplatePivotTableConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "PivotTableConditionalFormattingProperty"')}function convertCfnTemplatePivotTableConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnTemplatePivotTableConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnTemplatePivotTableConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplatePivotTableConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataPathSortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("sortPaths",cdk().requiredValidator)(properties.sortPaths)),errors.collect(cdk().propertyValidator("sortPaths",cdk().listValidator(CfnTemplateDataPathValuePropertyValidator))(properties.sortPaths)),errors.wrap('supplied properties not correct for "DataPathSortProperty"')}function convertCfnTemplateDataPathSortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataPathSortPropertyValidator(properties).assertSuccess(),{Direction:cdk().stringToCloudFormation(properties.direction),SortPaths:cdk().listMapper(convertCfnTemplateDataPathValuePropertyToCloudFormation)(properties.sortPaths)}):properties}function CfnTemplateDataPathSortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("sortPaths","SortPaths",properties.SortPaths!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDataPathValuePropertyFromCloudFormation)(properties.SortPaths):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableSortByPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("column",CfnTemplateColumnSortPropertyValidator)(properties.column)),errors.collect(cdk().propertyValidator("dataPath",CfnTemplateDataPathSortPropertyValidator)(properties.dataPath)),errors.collect(cdk().propertyValidator("field",CfnTemplateFieldSortPropertyValidator)(properties.field)),errors.wrap('supplied properties not correct for "PivotTableSortByProperty"')}function convertCfnTemplatePivotTableSortByPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableSortByPropertyValidator(properties).assertSuccess(),{Column:convertCfnTemplateColumnSortPropertyToCloudFormation(properties.column),DataPath:convertCfnTemplateDataPathSortPropertyToCloudFormation(properties.dataPath),Field:convertCfnTemplateFieldSortPropertyToCloudFormation(properties.field)}):properties}function CfnTemplatePivotTableSortByPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("column","Column",properties.Column!=null?CfnTemplateColumnSortPropertyFromCloudFormation(properties.Column):void 0),ret.addPropertyResult("dataPath","DataPath",properties.DataPath!=null?CfnTemplateDataPathSortPropertyFromCloudFormation(properties.DataPath):void 0),ret.addPropertyResult("field","Field",properties.Field!=null?CfnTemplateFieldSortPropertyFromCloudFormation(properties.Field):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotFieldSortOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("sortBy",cdk().requiredValidator)(properties.sortBy)),errors.collect(cdk().propertyValidator("sortBy",CfnTemplatePivotTableSortByPropertyValidator)(properties.sortBy)),errors.wrap('supplied properties not correct for "PivotFieldSortOptionsProperty"')}function convertCfnTemplatePivotFieldSortOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotFieldSortOptionsPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId),SortBy:convertCfnTemplatePivotTableSortByPropertyToCloudFormation(properties.sortBy)}):properties}function CfnTemplatePivotFieldSortOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("sortBy","SortBy",properties.SortBy!=null?CfnTemplatePivotTableSortByPropertyFromCloudFormation(properties.SortBy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldSortOptions",cdk().listValidator(CfnTemplatePivotFieldSortOptionsPropertyValidator))(properties.fieldSortOptions)),errors.wrap('supplied properties not correct for "PivotTableSortConfigurationProperty"')}function convertCfnTemplatePivotTableSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableSortConfigurationPropertyValidator(properties).assertSuccess(),{FieldSortOptions:cdk().listMapper(convertCfnTemplatePivotFieldSortOptionsPropertyToCloudFormation)(properties.fieldSortOptions)}):properties}function CfnTemplatePivotTableSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldSortOptions","FieldSortOptions",properties.FieldSortOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplatePivotFieldSortOptionsPropertyFromCloudFormation)(properties.FieldSortOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTablePaginatedReportOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("overflowColumnHeaderVisibility",cdk().validateString)(properties.overflowColumnHeaderVisibility)),errors.collect(cdk().propertyValidator("verticalOverflowVisibility",cdk().validateString)(properties.verticalOverflowVisibility)),errors.wrap('supplied properties not correct for "PivotTablePaginatedReportOptionsProperty"')}function convertCfnTemplatePivotTablePaginatedReportOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTablePaginatedReportOptionsPropertyValidator(properties).assertSuccess(),{OverflowColumnHeaderVisibility:cdk().stringToCloudFormation(properties.overflowColumnHeaderVisibility),VerticalOverflowVisibility:cdk().stringToCloudFormation(properties.verticalOverflowVisibility)}):properties}function CfnTemplatePivotTablePaginatedReportOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("overflowColumnHeaderVisibility","OverflowColumnHeaderVisibility",properties.OverflowColumnHeaderVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.OverflowColumnHeaderVisibility):void 0),ret.addPropertyResult("verticalOverflowVisibility","VerticalOverflowVisibility",properties.VerticalOverflowVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.VerticalOverflowVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableRowsLabelOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "PivotTableRowsLabelOptionsProperty"')}function convertCfnTemplatePivotTableRowsLabelOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableRowsLabelOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplatePivotTableRowsLabelOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellStyle",CfnTemplateTableCellStylePropertyValidator)(properties.cellStyle)),errors.collect(cdk().propertyValidator("collapsedRowDimensionsVisibility",cdk().validateString)(properties.collapsedRowDimensionsVisibility)),errors.collect(cdk().propertyValidator("columnHeaderStyle",CfnTemplateTableCellStylePropertyValidator)(properties.columnHeaderStyle)),errors.collect(cdk().propertyValidator("columnNamesVisibility",cdk().validateString)(properties.columnNamesVisibility)),errors.collect(cdk().propertyValidator("defaultCellWidth",cdk().validateString)(properties.defaultCellWidth)),errors.collect(cdk().propertyValidator("metricPlacement",cdk().validateString)(properties.metricPlacement)),errors.collect(cdk().propertyValidator("rowAlternateColorOptions",CfnTemplateRowAlternateColorOptionsPropertyValidator)(properties.rowAlternateColorOptions)),errors.collect(cdk().propertyValidator("rowFieldNamesStyle",CfnTemplateTableCellStylePropertyValidator)(properties.rowFieldNamesStyle)),errors.collect(cdk().propertyValidator("rowHeaderStyle",CfnTemplateTableCellStylePropertyValidator)(properties.rowHeaderStyle)),errors.collect(cdk().propertyValidator("rowsLabelOptions",CfnTemplatePivotTableRowsLabelOptionsPropertyValidator)(properties.rowsLabelOptions)),errors.collect(cdk().propertyValidator("rowsLayout",cdk().validateString)(properties.rowsLayout)),errors.collect(cdk().propertyValidator("singleMetricVisibility",cdk().validateString)(properties.singleMetricVisibility)),errors.collect(cdk().propertyValidator("toggleButtonsVisibility",cdk().validateString)(properties.toggleButtonsVisibility)),errors.wrap('supplied properties not correct for "PivotTableOptionsProperty"')}function convertCfnTemplatePivotTableOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableOptionsPropertyValidator(properties).assertSuccess(),{CellStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.cellStyle),CollapsedRowDimensionsVisibility:cdk().stringToCloudFormation(properties.collapsedRowDimensionsVisibility),ColumnHeaderStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.columnHeaderStyle),ColumnNamesVisibility:cdk().stringToCloudFormation(properties.columnNamesVisibility),DefaultCellWidth:cdk().stringToCloudFormation(properties.defaultCellWidth),MetricPlacement:cdk().stringToCloudFormation(properties.metricPlacement),RowAlternateColorOptions:convertCfnTemplateRowAlternateColorOptionsPropertyToCloudFormation(properties.rowAlternateColorOptions),RowFieldNamesStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.rowFieldNamesStyle),RowHeaderStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.rowHeaderStyle),RowsLabelOptions:convertCfnTemplatePivotTableRowsLabelOptionsPropertyToCloudFormation(properties.rowsLabelOptions),RowsLayout:cdk().stringToCloudFormation(properties.rowsLayout),SingleMetricVisibility:cdk().stringToCloudFormation(properties.singleMetricVisibility),ToggleButtonsVisibility:cdk().stringToCloudFormation(properties.toggleButtonsVisibility)}):properties}function CfnTemplatePivotTableOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellStyle","CellStyle",properties.CellStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.CellStyle):void 0),ret.addPropertyResult("collapsedRowDimensionsVisibility","CollapsedRowDimensionsVisibility",properties.CollapsedRowDimensionsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.CollapsedRowDimensionsVisibility):void 0),ret.addPropertyResult("columnHeaderStyle","ColumnHeaderStyle",properties.ColumnHeaderStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.ColumnHeaderStyle):void 0),ret.addPropertyResult("columnNamesVisibility","ColumnNamesVisibility",properties.ColumnNamesVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnNamesVisibility):void 0),ret.addPropertyResult("defaultCellWidth","DefaultCellWidth",properties.DefaultCellWidth!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultCellWidth):void 0),ret.addPropertyResult("metricPlacement","MetricPlacement",properties.MetricPlacement!=null?cfn_parse().FromCloudFormation.getString(properties.MetricPlacement):void 0),ret.addPropertyResult("rowAlternateColorOptions","RowAlternateColorOptions",properties.RowAlternateColorOptions!=null?CfnTemplateRowAlternateColorOptionsPropertyFromCloudFormation(properties.RowAlternateColorOptions):void 0),ret.addPropertyResult("rowFieldNamesStyle","RowFieldNamesStyle",properties.RowFieldNamesStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.RowFieldNamesStyle):void 0),ret.addPropertyResult("rowHeaderStyle","RowHeaderStyle",properties.RowHeaderStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.RowHeaderStyle):void 0),ret.addPropertyResult("rowsLabelOptions","RowsLabelOptions",properties.RowsLabelOptions!=null?CfnTemplatePivotTableRowsLabelOptionsPropertyFromCloudFormation(properties.RowsLabelOptions):void 0),ret.addPropertyResult("rowsLayout","RowsLayout",properties.RowsLayout!=null?cfn_parse().FromCloudFormation.getString(properties.RowsLayout):void 0),ret.addPropertyResult("singleMetricVisibility","SingleMetricVisibility",properties.SingleMetricVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.SingleMetricVisibility):void 0),ret.addPropertyResult("toggleButtonsVisibility","ToggleButtonsVisibility",properties.ToggleButtonsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.ToggleButtonsVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("rows",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.rows)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "PivotTableAggregatedFieldWellsProperty"')}function convertCfnTemplatePivotTableAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.columns),Rows:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.rows),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplatePivotTableAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("rows","Rows",properties.Rows!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Rows):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pivotTableAggregatedFieldWells",CfnTemplatePivotTableAggregatedFieldWellsPropertyValidator)(properties.pivotTableAggregatedFieldWells)),errors.wrap('supplied properties not correct for "PivotTableFieldWellsProperty"')}function convertCfnTemplatePivotTableFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableFieldWellsPropertyValidator(properties).assertSuccess(),{PivotTableAggregatedFieldWells:convertCfnTemplatePivotTableAggregatedFieldWellsPropertyToCloudFormation(properties.pivotTableAggregatedFieldWells)}):properties}function CfnTemplatePivotTableFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pivotTableAggregatedFieldWells","PivotTableAggregatedFieldWells",properties.PivotTableAggregatedFieldWells!=null?CfnTemplatePivotTableAggregatedFieldWellsPropertyFromCloudFormation(properties.PivotTableAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableFieldCollapseStateTargetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldDataPathValues",cdk().listValidator(CfnTemplateDataPathValuePropertyValidator))(properties.fieldDataPathValues)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "PivotTableFieldCollapseStateTargetProperty"')}function convertCfnTemplatePivotTableFieldCollapseStateTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableFieldCollapseStateTargetPropertyValidator(properties).assertSuccess(),{FieldDataPathValues:cdk().listMapper(convertCfnTemplateDataPathValuePropertyToCloudFormation)(properties.fieldDataPathValues),FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnTemplatePivotTableFieldCollapseStateTargetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldDataPathValues","FieldDataPathValues",properties.FieldDataPathValues!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDataPathValuePropertyFromCloudFormation)(properties.FieldDataPathValues):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableFieldCollapseStateOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",CfnTemplatePivotTableFieldCollapseStateTargetPropertyValidator)(properties.target)),errors.wrap('supplied properties not correct for "PivotTableFieldCollapseStateOptionProperty"')}function convertCfnTemplatePivotTableFieldCollapseStateOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableFieldCollapseStateOptionPropertyValidator(properties).assertSuccess(),{State:cdk().stringToCloudFormation(properties.state),Target:convertCfnTemplatePivotTableFieldCollapseStateTargetPropertyToCloudFormation(properties.target)}):properties}function CfnTemplatePivotTableFieldCollapseStateOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?CfnTemplatePivotTableFieldCollapseStateTargetPropertyFromCloudFormation(properties.Target):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableDataPathOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataPathList",cdk().requiredValidator)(properties.dataPathList)),errors.collect(cdk().propertyValidator("dataPathList",cdk().listValidator(CfnTemplateDataPathValuePropertyValidator))(properties.dataPathList)),errors.collect(cdk().propertyValidator("width",cdk().validateString)(properties.width)),errors.wrap('supplied properties not correct for "PivotTableDataPathOptionProperty"')}function convertCfnTemplatePivotTableDataPathOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableDataPathOptionPropertyValidator(properties).assertSuccess(),{DataPathList:cdk().listMapper(convertCfnTemplateDataPathValuePropertyToCloudFormation)(properties.dataPathList),Width:cdk().stringToCloudFormation(properties.width)}):properties}function CfnTemplatePivotTableDataPathOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataPathList","DataPathList",properties.DataPathList!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDataPathValuePropertyFromCloudFormation)(properties.DataPathList):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getString(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableFieldOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "PivotTableFieldOptionProperty"')}function convertCfnTemplatePivotTableFieldOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableFieldOptionPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FieldId:cdk().stringToCloudFormation(properties.fieldId),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplatePivotTableFieldOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableFieldOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("collapseStateOptions",cdk().listValidator(CfnTemplatePivotTableFieldCollapseStateOptionPropertyValidator))(properties.collapseStateOptions)),errors.collect(cdk().propertyValidator("dataPathOptions",cdk().listValidator(CfnTemplatePivotTableDataPathOptionPropertyValidator))(properties.dataPathOptions)),errors.collect(cdk().propertyValidator("selectedFieldOptions",cdk().listValidator(CfnTemplatePivotTableFieldOptionPropertyValidator))(properties.selectedFieldOptions)),errors.wrap('supplied properties not correct for "PivotTableFieldOptionsProperty"')}function convertCfnTemplatePivotTableFieldOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableFieldOptionsPropertyValidator(properties).assertSuccess(),{CollapseStateOptions:cdk().listMapper(convertCfnTemplatePivotTableFieldCollapseStateOptionPropertyToCloudFormation)(properties.collapseStateOptions),DataPathOptions:cdk().listMapper(convertCfnTemplatePivotTableDataPathOptionPropertyToCloudFormation)(properties.dataPathOptions),SelectedFieldOptions:cdk().listMapper(convertCfnTemplatePivotTableFieldOptionPropertyToCloudFormation)(properties.selectedFieldOptions)}):properties}function CfnTemplatePivotTableFieldOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("collapseStateOptions","CollapseStateOptions",properties.CollapseStateOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplatePivotTableFieldCollapseStateOptionPropertyFromCloudFormation)(properties.CollapseStateOptions):void 0),ret.addPropertyResult("dataPathOptions","DataPathOptions",properties.DataPathOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplatePivotTableDataPathOptionPropertyFromCloudFormation)(properties.DataPathOptions):void 0),ret.addPropertyResult("selectedFieldOptions","SelectedFieldOptions",properties.SelectedFieldOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplatePivotTableFieldOptionPropertyFromCloudFormation)(properties.SelectedFieldOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableFieldSubtotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.wrap('supplied properties not correct for "PivotTableFieldSubtotalOptionsProperty"')}function convertCfnTemplatePivotTableFieldSubtotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableFieldSubtotalOptionsPropertyValidator(properties).assertSuccess(),{FieldId:cdk().stringToCloudFormation(properties.fieldId)}):properties}function CfnTemplatePivotTableFieldSubtotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTableStyleTargetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellType",cdk().requiredValidator)(properties.cellType)),errors.collect(cdk().propertyValidator("cellType",cdk().validateString)(properties.cellType)),errors.wrap('supplied properties not correct for "TableStyleTargetProperty"')}function convertCfnTemplateTableStyleTargetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTableStyleTargetPropertyValidator(properties).assertSuccess(),{CellType:cdk().stringToCloudFormation(properties.cellType)}):properties}function CfnTemplateTableStyleTargetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellType","CellType",properties.CellType!=null?cfn_parse().FromCloudFormation.getString(properties.CellType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSubtotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("fieldLevel",cdk().validateString)(properties.fieldLevel)),errors.collect(cdk().propertyValidator("fieldLevelOptions",cdk().listValidator(CfnTemplatePivotTableFieldSubtotalOptionsPropertyValidator))(properties.fieldLevelOptions)),errors.collect(cdk().propertyValidator("metricHeaderCellStyle",CfnTemplateTableCellStylePropertyValidator)(properties.metricHeaderCellStyle)),errors.collect(cdk().propertyValidator("styleTargets",cdk().listValidator(CfnTemplateTableStyleTargetPropertyValidator))(properties.styleTargets)),errors.collect(cdk().propertyValidator("totalCellStyle",CfnTemplateTableCellStylePropertyValidator)(properties.totalCellStyle)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.collect(cdk().propertyValidator("valueCellStyle",CfnTemplateTableCellStylePropertyValidator)(properties.valueCellStyle)),errors.wrap('supplied properties not correct for "SubtotalOptionsProperty"')}function convertCfnTemplateSubtotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSubtotalOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),FieldLevel:cdk().stringToCloudFormation(properties.fieldLevel),FieldLevelOptions:cdk().listMapper(convertCfnTemplatePivotTableFieldSubtotalOptionsPropertyToCloudFormation)(properties.fieldLevelOptions),MetricHeaderCellStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.metricHeaderCellStyle),StyleTargets:cdk().listMapper(convertCfnTemplateTableStyleTargetPropertyToCloudFormation)(properties.styleTargets),TotalCellStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.totalCellStyle),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility),ValueCellStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.valueCellStyle)}):properties}function CfnTemplateSubtotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("fieldLevel","FieldLevel",properties.FieldLevel!=null?cfn_parse().FromCloudFormation.getString(properties.FieldLevel):void 0),ret.addPropertyResult("fieldLevelOptions","FieldLevelOptions",properties.FieldLevelOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplatePivotTableFieldSubtotalOptionsPropertyFromCloudFormation)(properties.FieldLevelOptions):void 0),ret.addPropertyResult("metricHeaderCellStyle","MetricHeaderCellStyle",properties.MetricHeaderCellStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.MetricHeaderCellStyle):void 0),ret.addPropertyResult("styleTargets","StyleTargets",properties.StyleTargets!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateTableStyleTargetPropertyFromCloudFormation)(properties.StyleTargets):void 0),ret.addPropertyResult("totalCellStyle","TotalCellStyle",properties.TotalCellStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.TotalCellStyle):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addPropertyResult("valueCellStyle","ValueCellStyle",properties.ValueCellStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.ValueCellStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customLabel",cdk().validateString)(properties.customLabel)),errors.collect(cdk().propertyValidator("metricHeaderCellStyle",CfnTemplateTableCellStylePropertyValidator)(properties.metricHeaderCellStyle)),errors.collect(cdk().propertyValidator("placement",cdk().validateString)(properties.placement)),errors.collect(cdk().propertyValidator("scrollStatus",cdk().validateString)(properties.scrollStatus)),errors.collect(cdk().propertyValidator("totalAggregationOptions",cdk().listValidator(CfnTemplateTotalAggregationOptionPropertyValidator))(properties.totalAggregationOptions)),errors.collect(cdk().propertyValidator("totalCellStyle",CfnTemplateTableCellStylePropertyValidator)(properties.totalCellStyle)),errors.collect(cdk().propertyValidator("totalsVisibility",cdk().validateString)(properties.totalsVisibility)),errors.collect(cdk().propertyValidator("valueCellStyle",CfnTemplateTableCellStylePropertyValidator)(properties.valueCellStyle)),errors.wrap('supplied properties not correct for "PivotTotalOptionsProperty"')}function convertCfnTemplatePivotTotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTotalOptionsPropertyValidator(properties).assertSuccess(),{CustomLabel:cdk().stringToCloudFormation(properties.customLabel),MetricHeaderCellStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.metricHeaderCellStyle),Placement:cdk().stringToCloudFormation(properties.placement),ScrollStatus:cdk().stringToCloudFormation(properties.scrollStatus),TotalAggregationOptions:cdk().listMapper(convertCfnTemplateTotalAggregationOptionPropertyToCloudFormation)(properties.totalAggregationOptions),TotalCellStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.totalCellStyle),TotalsVisibility:cdk().stringToCloudFormation(properties.totalsVisibility),ValueCellStyle:convertCfnTemplateTableCellStylePropertyToCloudFormation(properties.valueCellStyle)}):properties}function CfnTemplatePivotTotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customLabel","CustomLabel",properties.CustomLabel!=null?cfn_parse().FromCloudFormation.getString(properties.CustomLabel):void 0),ret.addPropertyResult("metricHeaderCellStyle","MetricHeaderCellStyle",properties.MetricHeaderCellStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.MetricHeaderCellStyle):void 0),ret.addPropertyResult("placement","Placement",properties.Placement!=null?cfn_parse().FromCloudFormation.getString(properties.Placement):void 0),ret.addPropertyResult("scrollStatus","ScrollStatus",properties.ScrollStatus!=null?cfn_parse().FromCloudFormation.getString(properties.ScrollStatus):void 0),ret.addPropertyResult("totalAggregationOptions","TotalAggregationOptions",properties.TotalAggregationOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateTotalAggregationOptionPropertyFromCloudFormation)(properties.TotalAggregationOptions):void 0),ret.addPropertyResult("totalCellStyle","TotalCellStyle",properties.TotalCellStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.TotalCellStyle):void 0),ret.addPropertyResult("totalsVisibility","TotalsVisibility",properties.TotalsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.TotalsVisibility):void 0),ret.addPropertyResult("valueCellStyle","ValueCellStyle",properties.ValueCellStyle!=null?CfnTemplateTableCellStylePropertyFromCloudFormation(properties.ValueCellStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableTotalOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columnSubtotalOptions",CfnTemplateSubtotalOptionsPropertyValidator)(properties.columnSubtotalOptions)),errors.collect(cdk().propertyValidator("columnTotalOptions",CfnTemplatePivotTotalOptionsPropertyValidator)(properties.columnTotalOptions)),errors.collect(cdk().propertyValidator("rowSubtotalOptions",CfnTemplateSubtotalOptionsPropertyValidator)(properties.rowSubtotalOptions)),errors.collect(cdk().propertyValidator("rowTotalOptions",CfnTemplatePivotTotalOptionsPropertyValidator)(properties.rowTotalOptions)),errors.wrap('supplied properties not correct for "PivotTableTotalOptionsProperty"')}function convertCfnTemplatePivotTableTotalOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableTotalOptionsPropertyValidator(properties).assertSuccess(),{ColumnSubtotalOptions:convertCfnTemplateSubtotalOptionsPropertyToCloudFormation(properties.columnSubtotalOptions),ColumnTotalOptions:convertCfnTemplatePivotTotalOptionsPropertyToCloudFormation(properties.columnTotalOptions),RowSubtotalOptions:convertCfnTemplateSubtotalOptionsPropertyToCloudFormation(properties.rowSubtotalOptions),RowTotalOptions:convertCfnTemplatePivotTotalOptionsPropertyToCloudFormation(properties.rowTotalOptions)}):properties}function CfnTemplatePivotTableTotalOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columnSubtotalOptions","ColumnSubtotalOptions",properties.ColumnSubtotalOptions!=null?CfnTemplateSubtotalOptionsPropertyFromCloudFormation(properties.ColumnSubtotalOptions):void 0),ret.addPropertyResult("columnTotalOptions","ColumnTotalOptions",properties.ColumnTotalOptions!=null?CfnTemplatePivotTotalOptionsPropertyFromCloudFormation(properties.ColumnTotalOptions):void 0),ret.addPropertyResult("rowSubtotalOptions","RowSubtotalOptions",properties.RowSubtotalOptions!=null?CfnTemplateSubtotalOptionsPropertyFromCloudFormation(properties.RowSubtotalOptions):void 0),ret.addPropertyResult("rowTotalOptions","RowTotalOptions",properties.RowTotalOptions!=null?CfnTemplatePivotTotalOptionsPropertyFromCloudFormation(properties.RowTotalOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldOptions",CfnTemplatePivotTableFieldOptionsPropertyValidator)(properties.fieldOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplatePivotTableFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("paginatedReportOptions",CfnTemplatePivotTablePaginatedReportOptionsPropertyValidator)(properties.paginatedReportOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplatePivotTableSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tableOptions",CfnTemplatePivotTableOptionsPropertyValidator)(properties.tableOptions)),errors.collect(cdk().propertyValidator("totalOptions",CfnTemplatePivotTableTotalOptionsPropertyValidator)(properties.totalOptions)),errors.wrap('supplied properties not correct for "PivotTableConfigurationProperty"')}function convertCfnTemplatePivotTableConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableConfigurationPropertyValidator(properties).assertSuccess(),{FieldOptions:convertCfnTemplatePivotTableFieldOptionsPropertyToCloudFormation(properties.fieldOptions),FieldWells:convertCfnTemplatePivotTableFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),PaginatedReportOptions:convertCfnTemplatePivotTablePaginatedReportOptionsPropertyToCloudFormation(properties.paginatedReportOptions),SortConfiguration:convertCfnTemplatePivotTableSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),TableOptions:convertCfnTemplatePivotTableOptionsPropertyToCloudFormation(properties.tableOptions),TotalOptions:convertCfnTemplatePivotTableTotalOptionsPropertyToCloudFormation(properties.totalOptions)}):properties}function CfnTemplatePivotTableConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldOptions","FieldOptions",properties.FieldOptions!=null?CfnTemplatePivotTableFieldOptionsPropertyFromCloudFormation(properties.FieldOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplatePivotTableFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("paginatedReportOptions","PaginatedReportOptions",properties.PaginatedReportOptions!=null?CfnTemplatePivotTablePaginatedReportOptionsPropertyFromCloudFormation(properties.PaginatedReportOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplatePivotTableSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tableOptions","TableOptions",properties.TableOptions!=null?CfnTemplatePivotTableOptionsPropertyFromCloudFormation(properties.TableOptions):void 0),ret.addPropertyResult("totalOptions","TotalOptions",properties.TotalOptions!=null?CfnTemplatePivotTableTotalOptionsPropertyFromCloudFormation(properties.TotalOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePivotTableVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplatePivotTableConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnTemplatePivotTableConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "PivotTableVisualProperty"')}function convertCfnTemplatePivotTableVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePivotTableVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplatePivotTableConfigurationPropertyToCloudFormation(properties.chartConfiguration),ConditionalFormatting:convertCfnTemplatePivotTableConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplatePivotTableVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplatePivotTableConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnTemplatePivotTableConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("geospatial",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.geospatial)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "GeospatialMapAggregatedFieldWellsProperty"')}function convertCfnTemplateGeospatialMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.colors),Geospatial:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.geospatial),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateGeospatialMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("geospatial","Geospatial",properties.Geospatial!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Geospatial):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("geospatialMapAggregatedFieldWells",CfnTemplateGeospatialMapAggregatedFieldWellsPropertyValidator)(properties.geospatialMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "GeospatialMapFieldWellsProperty"')}function convertCfnTemplateGeospatialMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialMapFieldWellsPropertyValidator(properties).assertSuccess(),{GeospatialMapAggregatedFieldWells:convertCfnTemplateGeospatialMapAggregatedFieldWellsPropertyToCloudFormation(properties.geospatialMapAggregatedFieldWells)}):properties}function CfnTemplateGeospatialMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("geospatialMapAggregatedFieldWells","GeospatialMapAggregatedFieldWells",properties.GeospatialMapAggregatedFieldWells!=null?CfnTemplateGeospatialMapAggregatedFieldWellsPropertyFromCloudFormation(properties.GeospatialMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSimpleClusterMarkerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.wrap('supplied properties not correct for "SimpleClusterMarkerProperty"')}function convertCfnTemplateSimpleClusterMarkerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSimpleClusterMarkerPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color)}):properties}function CfnTemplateSimpleClusterMarkerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateClusterMarkerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("simpleClusterMarker",CfnTemplateSimpleClusterMarkerPropertyValidator)(properties.simpleClusterMarker)),errors.wrap('supplied properties not correct for "ClusterMarkerProperty"')}function convertCfnTemplateClusterMarkerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateClusterMarkerPropertyValidator(properties).assertSuccess(),{SimpleClusterMarker:convertCfnTemplateSimpleClusterMarkerPropertyToCloudFormation(properties.simpleClusterMarker)}):properties}function CfnTemplateClusterMarkerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("simpleClusterMarker","SimpleClusterMarker",properties.SimpleClusterMarker!=null?CfnTemplateSimpleClusterMarkerPropertyFromCloudFormation(properties.SimpleClusterMarker):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateClusterMarkerConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterMarker",CfnTemplateClusterMarkerPropertyValidator)(properties.clusterMarker)),errors.wrap('supplied properties not correct for "ClusterMarkerConfigurationProperty"')}function convertCfnTemplateClusterMarkerConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateClusterMarkerConfigurationPropertyValidator(properties).assertSuccess(),{ClusterMarker:convertCfnTemplateClusterMarkerPropertyToCloudFormation(properties.clusterMarker)}):properties}function CfnTemplateClusterMarkerConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterMarker","ClusterMarker",properties.ClusterMarker!=null?CfnTemplateClusterMarkerPropertyFromCloudFormation(properties.ClusterMarker):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialHeatmapDataColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().requiredValidator)(properties.color)),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.wrap('supplied properties not correct for "GeospatialHeatmapDataColorProperty"')}function convertCfnTemplateGeospatialHeatmapDataColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialHeatmapDataColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color)}):properties}function CfnTemplateGeospatialHeatmapDataColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialHeatmapColorScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnTemplateGeospatialHeatmapDataColorPropertyValidator))(properties.colors)),errors.wrap('supplied properties not correct for "GeospatialHeatmapColorScaleProperty"')}function convertCfnTemplateGeospatialHeatmapColorScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialHeatmapColorScalePropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(convertCfnTemplateGeospatialHeatmapDataColorPropertyToCloudFormation)(properties.colors)}):properties}function CfnTemplateGeospatialHeatmapColorScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateGeospatialHeatmapDataColorPropertyFromCloudFormation)(properties.Colors):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialHeatmapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("heatmapColor",CfnTemplateGeospatialHeatmapColorScalePropertyValidator)(properties.heatmapColor)),errors.wrap('supplied properties not correct for "GeospatialHeatmapConfigurationProperty"')}function convertCfnTemplateGeospatialHeatmapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialHeatmapConfigurationPropertyValidator(properties).assertSuccess(),{HeatmapColor:convertCfnTemplateGeospatialHeatmapColorScalePropertyToCloudFormation(properties.heatmapColor)}):properties}function CfnTemplateGeospatialHeatmapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("heatmapColor","HeatmapColor",properties.HeatmapColor!=null?CfnTemplateGeospatialHeatmapColorScalePropertyFromCloudFormation(properties.HeatmapColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialPointStyleOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterMarkerConfiguration",CfnTemplateClusterMarkerConfigurationPropertyValidator)(properties.clusterMarkerConfiguration)),errors.collect(cdk().propertyValidator("heatmapConfiguration",CfnTemplateGeospatialHeatmapConfigurationPropertyValidator)(properties.heatmapConfiguration)),errors.collect(cdk().propertyValidator("selectedPointStyle",cdk().validateString)(properties.selectedPointStyle)),errors.wrap('supplied properties not correct for "GeospatialPointStyleOptionsProperty"')}function convertCfnTemplateGeospatialPointStyleOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialPointStyleOptionsPropertyValidator(properties).assertSuccess(),{ClusterMarkerConfiguration:convertCfnTemplateClusterMarkerConfigurationPropertyToCloudFormation(properties.clusterMarkerConfiguration),HeatmapConfiguration:convertCfnTemplateGeospatialHeatmapConfigurationPropertyToCloudFormation(properties.heatmapConfiguration),SelectedPointStyle:cdk().stringToCloudFormation(properties.selectedPointStyle)}):properties}function CfnTemplateGeospatialPointStyleOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterMarkerConfiguration","ClusterMarkerConfiguration",properties.ClusterMarkerConfiguration!=null?CfnTemplateClusterMarkerConfigurationPropertyFromCloudFormation(properties.ClusterMarkerConfiguration):void 0),ret.addPropertyResult("heatmapConfiguration","HeatmapConfiguration",properties.HeatmapConfiguration!=null?CfnTemplateGeospatialHeatmapConfigurationPropertyFromCloudFormation(properties.HeatmapConfiguration):void 0),ret.addPropertyResult("selectedPointStyle","SelectedPointStyle",properties.SelectedPointStyle!=null?cfn_parse().FromCloudFormation.getString(properties.SelectedPointStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateGeospatialMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("mapStyleOptions",CfnTemplateGeospatialMapStyleOptionsPropertyValidator)(properties.mapStyleOptions)),errors.collect(cdk().propertyValidator("pointStyleOptions",CfnTemplateGeospatialPointStyleOptionsPropertyValidator)(properties.pointStyleOptions)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("windowOptions",CfnTemplateGeospatialWindowOptionsPropertyValidator)(properties.windowOptions)),errors.wrap('supplied properties not correct for "GeospatialMapConfigurationProperty"')}function convertCfnTemplateGeospatialMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialMapConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:convertCfnTemplateGeospatialMapFieldWellsPropertyToCloudFormation(properties.fieldWells),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),MapStyleOptions:convertCfnTemplateGeospatialMapStyleOptionsPropertyToCloudFormation(properties.mapStyleOptions),PointStyleOptions:convertCfnTemplateGeospatialPointStyleOptionsPropertyToCloudFormation(properties.pointStyleOptions),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette),WindowOptions:convertCfnTemplateGeospatialWindowOptionsPropertyToCloudFormation(properties.windowOptions)}):properties}function CfnTemplateGeospatialMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateGeospatialMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("mapStyleOptions","MapStyleOptions",properties.MapStyleOptions!=null?CfnTemplateGeospatialMapStyleOptionsPropertyFromCloudFormation(properties.MapStyleOptions):void 0),ret.addPropertyResult("pointStyleOptions","PointStyleOptions",properties.PointStyleOptions!=null?CfnTemplateGeospatialPointStyleOptionsPropertyFromCloudFormation(properties.PointStyleOptions):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("windowOptions","WindowOptions",properties.WindowOptions!=null?CfnTemplateGeospatialWindowOptionsPropertyFromCloudFormation(properties.WindowOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGeospatialMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateGeospatialMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "GeospatialMapVisualProperty"')}function convertCfnTemplateGeospatialMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGeospatialMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateGeospatialMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateGeospatialMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateGeospatialMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBarChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimit)),errors.collect(cdk().propertyValidator("colorSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.colorSort)),errors.collect(cdk().propertyValidator("smallMultiplesLimitConfiguration",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.smallMultiplesLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.smallMultiplesSort)),errors.wrap('supplied properties not correct for "BarChartSortConfigurationProperty"')}function convertCfnTemplateBarChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBarChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimit),ColorSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.colorSort),SmallMultiplesLimitConfiguration:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.smallMultiplesLimitConfiguration),SmallMultiplesSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.smallMultiplesSort)}):properties}function CfnTemplateBarChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimit","ColorItemsLimit",properties.ColorItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimit):void 0),ret.addPropertyResult("colorSort","ColorSort",properties.ColorSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.ColorSort):void 0),ret.addPropertyResult("smallMultiplesLimitConfiguration","SmallMultiplesLimitConfiguration",properties.SmallMultiplesLimitConfiguration!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.SmallMultiplesLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesSort","SmallMultiplesSort",properties.SmallMultiplesSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.SmallMultiplesSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBarChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("smallMultiples",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.smallMultiples)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "BarChartAggregatedFieldWellsProperty"')}function convertCfnTemplateBarChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBarChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.category),Colors:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.colors),SmallMultiples:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.smallMultiples),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateBarChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("smallMultiples","SmallMultiples",properties.SmallMultiples!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.SmallMultiples):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBarChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barChartAggregatedFieldWells",CfnTemplateBarChartAggregatedFieldWellsPropertyValidator)(properties.barChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "BarChartFieldWellsProperty"')}function convertCfnTemplateBarChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBarChartFieldWellsPropertyValidator(properties).assertSuccess(),{BarChartAggregatedFieldWells:convertCfnTemplateBarChartAggregatedFieldWellsPropertyToCloudFormation(properties.barChartAggregatedFieldWells)}):properties}function CfnTemplateBarChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barChartAggregatedFieldWells","BarChartAggregatedFieldWells",properties.BarChartAggregatedFieldWells!=null?CfnTemplateBarChartAggregatedFieldWellsPropertyFromCloudFormation(properties.BarChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBarChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barsArrangement",cdk().validateString)(properties.barsArrangement)),errors.collect(cdk().propertyValidator("categoryAxis",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("contributionAnalysisDefaults",cdk().listValidator(CfnTemplateContributionAnalysisDefaultPropertyValidator))(properties.contributionAnalysisDefaults)),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateBarChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("orientation",cdk().validateString)(properties.orientation)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnTemplateReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("smallMultiplesOptions",CfnTemplateSmallMultiplesOptionsPropertyValidator)(properties.smallMultiplesOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateBarChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("valueAxis",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.valueAxis)),errors.collect(cdk().propertyValidator("valueLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.valueLabelOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "BarChartConfigurationProperty"')}function convertCfnTemplateBarChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBarChartConfigurationPropertyValidator(properties).assertSuccess(),{BarsArrangement:cdk().stringToCloudFormation(properties.barsArrangement),CategoryAxis:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ColorLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),ContributionAnalysisDefaults:cdk().listMapper(convertCfnTemplateContributionAnalysisDefaultPropertyToCloudFormation)(properties.contributionAnalysisDefaults),DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnTemplateBarChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),Orientation:cdk().stringToCloudFormation(properties.orientation),ReferenceLines:cdk().listMapper(convertCfnTemplateReferenceLinePropertyToCloudFormation)(properties.referenceLines),SmallMultiplesOptions:convertCfnTemplateSmallMultiplesOptionsPropertyToCloudFormation(properties.smallMultiplesOptions),SortConfiguration:convertCfnTemplateBarChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),ValueAxis:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.valueAxis),ValueLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.valueLabelOptions),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnTemplateBarChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barsArrangement","BarsArrangement",properties.BarsArrangement!=null?cfn_parse().FromCloudFormation.getString(properties.BarsArrangement):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("contributionAnalysisDefaults","ContributionAnalysisDefaults",properties.ContributionAnalysisDefaults!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateContributionAnalysisDefaultPropertyFromCloudFormation)(properties.ContributionAnalysisDefaults):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateBarChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("orientation","Orientation",properties.Orientation!=null?cfn_parse().FromCloudFormation.getString(properties.Orientation):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("smallMultiplesOptions","SmallMultiplesOptions",properties.SmallMultiplesOptions!=null?CfnTemplateSmallMultiplesOptionsPropertyFromCloudFormation(properties.SmallMultiplesOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateBarChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("valueAxis","ValueAxis",properties.ValueAxis!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.ValueAxis):void 0),ret.addPropertyResult("valueLabelOptions","ValueLabelOptions",properties.ValueLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.ValueLabelOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateBarChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateBarChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "BarChartVisualProperty"')}function convertCfnTemplateBarChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateBarChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateBarChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateBarChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateBarChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateScatterPlotUnaggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("label",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.label)),errors.collect(cdk().propertyValidator("size",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.size)),errors.collect(cdk().propertyValidator("xAxis",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.xAxis)),errors.collect(cdk().propertyValidator("yAxis",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.yAxis)),errors.wrap('supplied properties not correct for "ScatterPlotUnaggregatedFieldWellsProperty"')}function convertCfnTemplateScatterPlotUnaggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateScatterPlotUnaggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.category),Label:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.label),Size:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.size),XAxis:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.xAxis),YAxis:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.yAxis)}):properties}function CfnTemplateScatterPlotUnaggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Label):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Size):void 0),ret.addPropertyResult("xAxis","XAxis",properties.XAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.XAxis):void 0),ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateScatterPlotCategoricallyAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("label",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.label)),errors.collect(cdk().propertyValidator("size",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.size)),errors.collect(cdk().propertyValidator("xAxis",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.xAxis)),errors.collect(cdk().propertyValidator("yAxis",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.yAxis)),errors.wrap('supplied properties not correct for "ScatterPlotCategoricallyAggregatedFieldWellsProperty"')}function convertCfnTemplateScatterPlotCategoricallyAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateScatterPlotCategoricallyAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.category),Label:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.label),Size:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.size),XAxis:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.xAxis),YAxis:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.yAxis)}):properties}function CfnTemplateScatterPlotCategoricallyAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Label):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Size):void 0),ret.addPropertyResult("xAxis","XAxis",properties.XAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.XAxis):void 0),ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateScatterPlotFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scatterPlotCategoricallyAggregatedFieldWells",CfnTemplateScatterPlotCategoricallyAggregatedFieldWellsPropertyValidator)(properties.scatterPlotCategoricallyAggregatedFieldWells)),errors.collect(cdk().propertyValidator("scatterPlotUnaggregatedFieldWells",CfnTemplateScatterPlotUnaggregatedFieldWellsPropertyValidator)(properties.scatterPlotUnaggregatedFieldWells)),errors.wrap('supplied properties not correct for "ScatterPlotFieldWellsProperty"')}function convertCfnTemplateScatterPlotFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateScatterPlotFieldWellsPropertyValidator(properties).assertSuccess(),{ScatterPlotCategoricallyAggregatedFieldWells:convertCfnTemplateScatterPlotCategoricallyAggregatedFieldWellsPropertyToCloudFormation(properties.scatterPlotCategoricallyAggregatedFieldWells),ScatterPlotUnaggregatedFieldWells:convertCfnTemplateScatterPlotUnaggregatedFieldWellsPropertyToCloudFormation(properties.scatterPlotUnaggregatedFieldWells)}):properties}function CfnTemplateScatterPlotFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scatterPlotCategoricallyAggregatedFieldWells","ScatterPlotCategoricallyAggregatedFieldWells",properties.ScatterPlotCategoricallyAggregatedFieldWells!=null?CfnTemplateScatterPlotCategoricallyAggregatedFieldWellsPropertyFromCloudFormation(properties.ScatterPlotCategoricallyAggregatedFieldWells):void 0),ret.addPropertyResult("scatterPlotUnaggregatedFieldWells","ScatterPlotUnaggregatedFieldWells",properties.ScatterPlotUnaggregatedFieldWells!=null?CfnTemplateScatterPlotUnaggregatedFieldWellsPropertyFromCloudFormation(properties.ScatterPlotUnaggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateScatterPlotSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scatterPlotLimitConfiguration",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.scatterPlotLimitConfiguration)),errors.wrap('supplied properties not correct for "ScatterPlotSortConfigurationProperty"')}function convertCfnTemplateScatterPlotSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateScatterPlotSortConfigurationPropertyValidator(properties).assertSuccess(),{ScatterPlotLimitConfiguration:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.scatterPlotLimitConfiguration)}):properties}function CfnTemplateScatterPlotSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scatterPlotLimitConfiguration","ScatterPlotLimitConfiguration",properties.ScatterPlotLimitConfiguration!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.ScatterPlotLimitConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateScatterPlotConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateScatterPlotFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateScatterPlotSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("xAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.xAxisDisplayOptions)),errors.collect(cdk().propertyValidator("xAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.xAxisLabelOptions)),errors.collect(cdk().propertyValidator("yAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.yAxisDisplayOptions)),errors.collect(cdk().propertyValidator("yAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.yAxisLabelOptions)),errors.wrap('supplied properties not correct for "ScatterPlotConfigurationProperty"')}function convertCfnTemplateScatterPlotConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateScatterPlotConfigurationPropertyValidator(properties).assertSuccess(),{DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnTemplateScatterPlotFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),SortConfiguration:convertCfnTemplateScatterPlotSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette),XAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.xAxisDisplayOptions),XAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.xAxisLabelOptions),YAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.yAxisDisplayOptions),YAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.yAxisLabelOptions)}):properties}function CfnTemplateScatterPlotConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateScatterPlotFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateScatterPlotSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("xAxisDisplayOptions","XAxisDisplayOptions",properties.XAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.XAxisDisplayOptions):void 0),ret.addPropertyResult("xAxisLabelOptions","XAxisLabelOptions",properties.XAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.XAxisLabelOptions):void 0),ret.addPropertyResult("yAxisDisplayOptions","YAxisDisplayOptions",properties.YAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.YAxisDisplayOptions):void 0),ret.addPropertyResult("yAxisLabelOptions","YAxisLabelOptions",properties.YAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.YAxisLabelOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateScatterPlotVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateScatterPlotConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "ScatterPlotVisualProperty"')}function convertCfnTemplateScatterPlotVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateScatterPlotVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateScatterPlotConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateScatterPlotVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateScatterPlotConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRadarChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimit)),errors.collect(cdk().propertyValidator("colorSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.colorSort)),errors.wrap('supplied properties not correct for "RadarChartSortConfigurationProperty"')}function convertCfnTemplateRadarChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRadarChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimit),ColorSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.colorSort)}):properties}function CfnTemplateRadarChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimit","ColorItemsLimit",properties.ColorItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimit):void 0),ret.addPropertyResult("colorSort","ColorSort",properties.ColorSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.ColorSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRadarChartAreaStyleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "RadarChartAreaStyleSettingsProperty"')}function convertCfnTemplateRadarChartAreaStyleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRadarChartAreaStyleSettingsPropertyValidator(properties).assertSuccess(),{Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateRadarChartAreaStyleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRadarChartSeriesSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("areaStyleSettings",CfnTemplateRadarChartAreaStyleSettingsPropertyValidator)(properties.areaStyleSettings)),errors.wrap('supplied properties not correct for "RadarChartSeriesSettingsProperty"')}function convertCfnTemplateRadarChartSeriesSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRadarChartSeriesSettingsPropertyValidator(properties).assertSuccess(),{AreaStyleSettings:convertCfnTemplateRadarChartAreaStyleSettingsPropertyToCloudFormation(properties.areaStyleSettings)}):properties}function CfnTemplateRadarChartSeriesSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("areaStyleSettings","AreaStyleSettings",properties.AreaStyleSettings!=null?CfnTemplateRadarChartAreaStyleSettingsPropertyFromCloudFormation(properties.AreaStyleSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRadarChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("color",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.color)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "RadarChartAggregatedFieldWellsProperty"')}function convertCfnTemplateRadarChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRadarChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.category),Color:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.color),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateRadarChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Color):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRadarChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("radarChartAggregatedFieldWells",CfnTemplateRadarChartAggregatedFieldWellsPropertyValidator)(properties.radarChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "RadarChartFieldWellsProperty"')}function convertCfnTemplateRadarChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRadarChartFieldWellsPropertyValidator(properties).assertSuccess(),{RadarChartAggregatedFieldWells:convertCfnTemplateRadarChartAggregatedFieldWellsPropertyToCloudFormation(properties.radarChartAggregatedFieldWells)}):properties}function CfnTemplateRadarChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("radarChartAggregatedFieldWells","RadarChartAggregatedFieldWells",properties.RadarChartAggregatedFieldWells!=null?CfnTemplateRadarChartAggregatedFieldWellsPropertyFromCloudFormation(properties.RadarChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRadarChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alternateBandColorsVisibility",cdk().validateString)(properties.alternateBandColorsVisibility)),errors.collect(cdk().propertyValidator("alternateBandEvenColor",cdk().validateString)(properties.alternateBandEvenColor)),errors.collect(cdk().propertyValidator("alternateBandOddColor",cdk().validateString)(properties.alternateBandOddColor)),errors.collect(cdk().propertyValidator("axesRangeScale",cdk().validateString)(properties.axesRangeScale)),errors.collect(cdk().propertyValidator("baseSeriesSettings",CfnTemplateRadarChartSeriesSettingsPropertyValidator)(properties.baseSeriesSettings)),errors.collect(cdk().propertyValidator("categoryAxis",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("colorAxis",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.colorAxis)),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateRadarChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("shape",cdk().validateString)(properties.shape)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateRadarChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("startAngle",cdk().validateNumber)(properties.startAngle)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "RadarChartConfigurationProperty"')}function convertCfnTemplateRadarChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRadarChartConfigurationPropertyValidator(properties).assertSuccess(),{AlternateBandColorsVisibility:cdk().stringToCloudFormation(properties.alternateBandColorsVisibility),AlternateBandEvenColor:cdk().stringToCloudFormation(properties.alternateBandEvenColor),AlternateBandOddColor:cdk().stringToCloudFormation(properties.alternateBandOddColor),AxesRangeScale:cdk().stringToCloudFormation(properties.axesRangeScale),BaseSeriesSettings:convertCfnTemplateRadarChartSeriesSettingsPropertyToCloudFormation(properties.baseSeriesSettings),CategoryAxis:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ColorAxis:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.colorAxis),ColorLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),FieldWells:convertCfnTemplateRadarChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),Shape:cdk().stringToCloudFormation(properties.shape),SortConfiguration:convertCfnTemplateRadarChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),StartAngle:cdk().numberToCloudFormation(properties.startAngle),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnTemplateRadarChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alternateBandColorsVisibility","AlternateBandColorsVisibility",properties.AlternateBandColorsVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateBandColorsVisibility):void 0),ret.addPropertyResult("alternateBandEvenColor","AlternateBandEvenColor",properties.AlternateBandEvenColor!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateBandEvenColor):void 0),ret.addPropertyResult("alternateBandOddColor","AlternateBandOddColor",properties.AlternateBandOddColor!=null?cfn_parse().FromCloudFormation.getString(properties.AlternateBandOddColor):void 0),ret.addPropertyResult("axesRangeScale","AxesRangeScale",properties.AxesRangeScale!=null?cfn_parse().FromCloudFormation.getString(properties.AxesRangeScale):void 0),ret.addPropertyResult("baseSeriesSettings","BaseSeriesSettings",properties.BaseSeriesSettings!=null?CfnTemplateRadarChartSeriesSettingsPropertyFromCloudFormation(properties.BaseSeriesSettings):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("colorAxis","ColorAxis",properties.ColorAxis!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.ColorAxis):void 0),ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateRadarChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("shape","Shape",properties.Shape!=null?cfn_parse().FromCloudFormation.getString(properties.Shape):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateRadarChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("startAngle","StartAngle",properties.StartAngle!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartAngle):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateRadarChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateRadarChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "RadarChartVisualProperty"')}function convertCfnTemplateRadarChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateRadarChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateRadarChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateRadarChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateRadarChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHeatMapSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("heatMapColumnItemsLimitConfiguration",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.heatMapColumnItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("heatMapColumnSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.heatMapColumnSort)),errors.collect(cdk().propertyValidator("heatMapRowItemsLimitConfiguration",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.heatMapRowItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("heatMapRowSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.heatMapRowSort)),errors.wrap('supplied properties not correct for "HeatMapSortConfigurationProperty"')}function convertCfnTemplateHeatMapSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHeatMapSortConfigurationPropertyValidator(properties).assertSuccess(),{HeatMapColumnItemsLimitConfiguration:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.heatMapColumnItemsLimitConfiguration),HeatMapColumnSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.heatMapColumnSort),HeatMapRowItemsLimitConfiguration:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.heatMapRowItemsLimitConfiguration),HeatMapRowSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.heatMapRowSort)}):properties}function CfnTemplateHeatMapSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("heatMapColumnItemsLimitConfiguration","HeatMapColumnItemsLimitConfiguration",properties.HeatMapColumnItemsLimitConfiguration!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.HeatMapColumnItemsLimitConfiguration):void 0),ret.addPropertyResult("heatMapColumnSort","HeatMapColumnSort",properties.HeatMapColumnSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.HeatMapColumnSort):void 0),ret.addPropertyResult("heatMapRowItemsLimitConfiguration","HeatMapRowItemsLimitConfiguration",properties.HeatMapRowItemsLimitConfiguration!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.HeatMapRowItemsLimitConfiguration):void 0),ret.addPropertyResult("heatMapRowSort","HeatMapRowSort",properties.HeatMapRowSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.HeatMapRowSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHeatMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("rows",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.rows)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "HeatMapAggregatedFieldWellsProperty"')}function convertCfnTemplateHeatMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHeatMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Columns:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.columns),Rows:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.rows),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateHeatMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("rows","Rows",properties.Rows!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Rows):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHeatMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("heatMapAggregatedFieldWells",CfnTemplateHeatMapAggregatedFieldWellsPropertyValidator)(properties.heatMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "HeatMapFieldWellsProperty"')}function convertCfnTemplateHeatMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHeatMapFieldWellsPropertyValidator(properties).assertSuccess(),{HeatMapAggregatedFieldWells:convertCfnTemplateHeatMapAggregatedFieldWellsPropertyToCloudFormation(properties.heatMapAggregatedFieldWells)}):properties}function CfnTemplateHeatMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("heatMapAggregatedFieldWells","HeatMapAggregatedFieldWells",properties.HeatMapAggregatedFieldWells!=null?CfnTemplateHeatMapAggregatedFieldWellsPropertyFromCloudFormation(properties.HeatMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataColorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("color",cdk().validateString)(properties.color)),errors.collect(cdk().propertyValidator("dataValue",cdk().validateNumber)(properties.dataValue)),errors.wrap('supplied properties not correct for "DataColorProperty"')}function convertCfnTemplateDataColorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataColorPropertyValidator(properties).assertSuccess(),{Color:cdk().stringToCloudFormation(properties.color),DataValue:cdk().numberToCloudFormation(properties.dataValue)}):properties}function CfnTemplateDataColorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("color","Color",properties.Color!=null?cfn_parse().FromCloudFormation.getString(properties.Color):void 0),ret.addPropertyResult("dataValue","DataValue",properties.DataValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.DataValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateColorScalePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorFillType",cdk().requiredValidator)(properties.colorFillType)),errors.collect(cdk().propertyValidator("colorFillType",cdk().validateString)(properties.colorFillType)),errors.collect(cdk().propertyValidator("colors",cdk().requiredValidator)(properties.colors)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnTemplateDataColorPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("nullValueColor",CfnTemplateDataColorPropertyValidator)(properties.nullValueColor)),errors.wrap('supplied properties not correct for "ColorScaleProperty"')}function convertCfnTemplateColorScalePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateColorScalePropertyValidator(properties).assertSuccess(),{ColorFillType:cdk().stringToCloudFormation(properties.colorFillType),Colors:cdk().listMapper(convertCfnTemplateDataColorPropertyToCloudFormation)(properties.colors),NullValueColor:convertCfnTemplateDataColorPropertyToCloudFormation(properties.nullValueColor)}):properties}function CfnTemplateColorScalePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorFillType","ColorFillType",properties.ColorFillType!=null?cfn_parse().FromCloudFormation.getString(properties.ColorFillType):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDataColorPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("nullValueColor","NullValueColor",properties.NullValueColor!=null?CfnTemplateDataColorPropertyFromCloudFormation(properties.NullValueColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHeatMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorScale",CfnTemplateColorScalePropertyValidator)(properties.colorScale)),errors.collect(cdk().propertyValidator("columnLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.columnLabelOptions)),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateHeatMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("rowLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.rowLabelOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateHeatMapSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.wrap('supplied properties not correct for "HeatMapConfigurationProperty"')}function convertCfnTemplateHeatMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHeatMapConfigurationPropertyValidator(properties).assertSuccess(),{ColorScale:convertCfnTemplateColorScalePropertyToCloudFormation(properties.colorScale),ColumnLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.columnLabelOptions),DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnTemplateHeatMapFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),RowLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.rowLabelOptions),SortConfiguration:convertCfnTemplateHeatMapSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip)}):properties}function CfnTemplateHeatMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorScale","ColorScale",properties.ColorScale!=null?CfnTemplateColorScalePropertyFromCloudFormation(properties.ColorScale):void 0),ret.addPropertyResult("columnLabelOptions","ColumnLabelOptions",properties.ColumnLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColumnLabelOptions):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateHeatMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("rowLabelOptions","RowLabelOptions",properties.RowLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.RowLabelOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateHeatMapSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateHeatMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateHeatMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "HeatMapVisualProperty"')}function convertCfnTemplateHeatMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateHeatMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateHeatMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateHeatMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateHeatMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTreeMapSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("treeMapGroupItemsLimitConfiguration",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.treeMapGroupItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("treeMapSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.treeMapSort)),errors.wrap('supplied properties not correct for "TreeMapSortConfigurationProperty"')}function convertCfnTemplateTreeMapSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTreeMapSortConfigurationPropertyValidator(properties).assertSuccess(),{TreeMapGroupItemsLimitConfiguration:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.treeMapGroupItemsLimitConfiguration),TreeMapSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.treeMapSort)}):properties}function CfnTemplateTreeMapSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("treeMapGroupItemsLimitConfiguration","TreeMapGroupItemsLimitConfiguration",properties.TreeMapGroupItemsLimitConfiguration!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.TreeMapGroupItemsLimitConfiguration):void 0),ret.addPropertyResult("treeMapSort","TreeMapSort",properties.TreeMapSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.TreeMapSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTreeMapAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("groups",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.groups)),errors.collect(cdk().propertyValidator("sizes",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.sizes)),errors.wrap('supplied properties not correct for "TreeMapAggregatedFieldWellsProperty"')}function convertCfnTemplateTreeMapAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTreeMapAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.colors),Groups:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.groups),Sizes:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.sizes)}):properties}function CfnTemplateTreeMapAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("groups","Groups",properties.Groups!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Groups):void 0),ret.addPropertyResult("sizes","Sizes",properties.Sizes!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Sizes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTreeMapFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("treeMapAggregatedFieldWells",CfnTemplateTreeMapAggregatedFieldWellsPropertyValidator)(properties.treeMapAggregatedFieldWells)),errors.wrap('supplied properties not correct for "TreeMapFieldWellsProperty"')}function convertCfnTemplateTreeMapFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTreeMapFieldWellsPropertyValidator(properties).assertSuccess(),{TreeMapAggregatedFieldWells:convertCfnTemplateTreeMapAggregatedFieldWellsPropertyToCloudFormation(properties.treeMapAggregatedFieldWells)}):properties}function CfnTemplateTreeMapFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("treeMapAggregatedFieldWells","TreeMapAggregatedFieldWells",properties.TreeMapAggregatedFieldWells!=null?CfnTemplateTreeMapAggregatedFieldWellsPropertyFromCloudFormation(properties.TreeMapAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTreeMapConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("colorScale",CfnTemplateColorScalePropertyValidator)(properties.colorScale)),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateTreeMapFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("groupLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.groupLabelOptions)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("sizeLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.sizeLabelOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateTreeMapSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.wrap('supplied properties not correct for "TreeMapConfigurationProperty"')}function convertCfnTemplateTreeMapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTreeMapConfigurationPropertyValidator(properties).assertSuccess(),{ColorLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),ColorScale:convertCfnTemplateColorScalePropertyToCloudFormation(properties.colorScale),DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnTemplateTreeMapFieldWellsPropertyToCloudFormation(properties.fieldWells),GroupLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.groupLabelOptions),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),SizeLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.sizeLabelOptions),SortConfiguration:convertCfnTemplateTreeMapSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip)}):properties}function CfnTemplateTreeMapConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("colorScale","ColorScale",properties.ColorScale!=null?CfnTemplateColorScalePropertyFromCloudFormation(properties.ColorScale):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateTreeMapFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("groupLabelOptions","GroupLabelOptions",properties.GroupLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.GroupLabelOptions):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("sizeLabelOptions","SizeLabelOptions",properties.SizeLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.SizeLabelOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateTreeMapSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTreeMapVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateTreeMapConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "TreeMapVisualProperty"')}function convertCfnTemplateTreeMapVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTreeMapVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateTreeMapConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateTreeMapVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateTreeMapConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateComboChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimit)),errors.collect(cdk().propertyValidator("colorSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.colorSort)),errors.wrap('supplied properties not correct for "ComboChartSortConfigurationProperty"')}function convertCfnTemplateComboChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateComboChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimit),ColorSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.colorSort)}):properties}function CfnTemplateComboChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimit","ColorItemsLimit",properties.ColorItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimit):void 0),ret.addPropertyResult("colorSort","ColorSort",properties.ColorSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.ColorSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateComboChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barValues",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.barValues)),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("lineValues",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.lineValues)),errors.wrap('supplied properties not correct for "ComboChartAggregatedFieldWellsProperty"')}function convertCfnTemplateComboChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateComboChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{BarValues:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.barValues),Category:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.category),Colors:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.colors),LineValues:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.lineValues)}):properties}function CfnTemplateComboChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barValues","BarValues",properties.BarValues!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.BarValues):void 0),ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("lineValues","LineValues",properties.LineValues!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.LineValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateComboChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comboChartAggregatedFieldWells",CfnTemplateComboChartAggregatedFieldWellsPropertyValidator)(properties.comboChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "ComboChartFieldWellsProperty"')}function convertCfnTemplateComboChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateComboChartFieldWellsPropertyValidator(properties).assertSuccess(),{ComboChartAggregatedFieldWells:convertCfnTemplateComboChartAggregatedFieldWellsPropertyToCloudFormation(properties.comboChartAggregatedFieldWells)}):properties}function CfnTemplateComboChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comboChartAggregatedFieldWells","ComboChartAggregatedFieldWells",properties.ComboChartAggregatedFieldWells!=null?CfnTemplateComboChartAggregatedFieldWellsPropertyFromCloudFormation(properties.ComboChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateYAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("yAxis",cdk().requiredValidator)(properties.yAxis)),errors.collect(cdk().propertyValidator("yAxis",cdk().validateString)(properties.yAxis)),errors.wrap('supplied properties not correct for "YAxisOptionsProperty"')}function convertCfnTemplateYAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateYAxisOptionsPropertyValidator(properties).assertSuccess(),{YAxis:cdk().stringToCloudFormation(properties.yAxis)}):properties}function CfnTemplateYAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("yAxis","YAxis",properties.YAxis!=null?cfn_parse().FromCloudFormation.getString(properties.YAxis):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSingleAxisOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("yAxisOptions",CfnTemplateYAxisOptionsPropertyValidator)(properties.yAxisOptions)),errors.wrap('supplied properties not correct for "SingleAxisOptionsProperty"')}function convertCfnTemplateSingleAxisOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSingleAxisOptionsPropertyValidator(properties).assertSuccess(),{YAxisOptions:convertCfnTemplateYAxisOptionsPropertyToCloudFormation(properties.yAxisOptions)}):properties}function CfnTemplateSingleAxisOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("yAxisOptions","YAxisOptions",properties.YAxisOptions!=null?CfnTemplateYAxisOptionsPropertyFromCloudFormation(properties.YAxisOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateComboChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barDataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.barDataLabels)),errors.collect(cdk().propertyValidator("barsArrangement",cdk().validateString)(properties.barsArrangement)),errors.collect(cdk().propertyValidator("categoryAxis",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.categoryAxis)),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("colorLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.colorLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateComboChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("lineDataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.lineDataLabels)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnTemplateReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("secondaryYAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.secondaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("secondaryYAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.secondaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("singleAxisOptions",CfnTemplateSingleAxisOptionsPropertyValidator)(properties.singleAxisOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateComboChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "ComboChartConfigurationProperty"')}function convertCfnTemplateComboChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateComboChartConfigurationPropertyValidator(properties).assertSuccess(),{BarDataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.barDataLabels),BarsArrangement:cdk().stringToCloudFormation(properties.barsArrangement),CategoryAxis:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.categoryAxis),CategoryLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),ColorLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.colorLabelOptions),FieldWells:convertCfnTemplateComboChartFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),LineDataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.lineDataLabels),PrimaryYAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),ReferenceLines:cdk().listMapper(convertCfnTemplateReferenceLinePropertyToCloudFormation)(properties.referenceLines),SecondaryYAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.secondaryYAxisDisplayOptions),SecondaryYAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.secondaryYAxisLabelOptions),SingleAxisOptions:convertCfnTemplateSingleAxisOptionsPropertyToCloudFormation(properties.singleAxisOptions),SortConfiguration:convertCfnTemplateComboChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnTemplateComboChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barDataLabels","BarDataLabels",properties.BarDataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.BarDataLabels):void 0),ret.addPropertyResult("barsArrangement","BarsArrangement",properties.BarsArrangement!=null?cfn_parse().FromCloudFormation.getString(properties.BarsArrangement):void 0),ret.addPropertyResult("categoryAxis","CategoryAxis",properties.CategoryAxis!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.CategoryAxis):void 0),ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("colorLabelOptions","ColorLabelOptions",properties.ColorLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.ColorLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateComboChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("lineDataLabels","LineDataLabels",properties.LineDataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.LineDataLabels):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("secondaryYAxisDisplayOptions","SecondaryYAxisDisplayOptions",properties.SecondaryYAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.SecondaryYAxisDisplayOptions):void 0),ret.addPropertyResult("secondaryYAxisLabelOptions","SecondaryYAxisLabelOptions",properties.SecondaryYAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.SecondaryYAxisLabelOptions):void 0),ret.addPropertyResult("singleAxisOptions","SingleAxisOptions",properties.SingleAxisOptions!=null?CfnTemplateSingleAxisOptionsPropertyFromCloudFormation(properties.SingleAxisOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateComboChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateComboChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateComboChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "ComboChartVisualProperty"')}function convertCfnTemplateComboChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateComboChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateComboChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateComboChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateComboChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWordCloudSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimit)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.wrap('supplied properties not correct for "WordCloudSortConfigurationProperty"')}function convertCfnTemplateWordCloudSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWordCloudSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimit),CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort)}):properties}function CfnTemplateWordCloudSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimit","CategoryItemsLimit",properties.CategoryItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimit):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWordCloudAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("size",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.size)),errors.wrap('supplied properties not correct for "WordCloudAggregatedFieldWellsProperty"')}function convertCfnTemplateWordCloudAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWordCloudAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{GroupBy:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.groupBy),Size:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.size)}):properties}function CfnTemplateWordCloudAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Size):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWordCloudFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("wordCloudAggregatedFieldWells",CfnTemplateWordCloudAggregatedFieldWellsPropertyValidator)(properties.wordCloudAggregatedFieldWells)),errors.wrap('supplied properties not correct for "WordCloudFieldWellsProperty"')}function convertCfnTemplateWordCloudFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWordCloudFieldWellsPropertyValidator(properties).assertSuccess(),{WordCloudAggregatedFieldWells:convertCfnTemplateWordCloudAggregatedFieldWellsPropertyToCloudFormation(properties.wordCloudAggregatedFieldWells)}):properties}function CfnTemplateWordCloudFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("wordCloudAggregatedFieldWells","WordCloudAggregatedFieldWells",properties.WordCloudAggregatedFieldWells!=null?CfnTemplateWordCloudAggregatedFieldWellsPropertyFromCloudFormation(properties.WordCloudAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWordCloudOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cloudLayout",cdk().validateString)(properties.cloudLayout)),errors.collect(cdk().propertyValidator("maximumStringLength",cdk().validateNumber)(properties.maximumStringLength)),errors.collect(cdk().propertyValidator("wordCasing",cdk().validateString)(properties.wordCasing)),errors.collect(cdk().propertyValidator("wordOrientation",cdk().validateString)(properties.wordOrientation)),errors.collect(cdk().propertyValidator("wordPadding",cdk().validateString)(properties.wordPadding)),errors.collect(cdk().propertyValidator("wordScaling",cdk().validateString)(properties.wordScaling)),errors.wrap('supplied properties not correct for "WordCloudOptionsProperty"')}function convertCfnTemplateWordCloudOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWordCloudOptionsPropertyValidator(properties).assertSuccess(),{CloudLayout:cdk().stringToCloudFormation(properties.cloudLayout),MaximumStringLength:cdk().numberToCloudFormation(properties.maximumStringLength),WordCasing:cdk().stringToCloudFormation(properties.wordCasing),WordOrientation:cdk().stringToCloudFormation(properties.wordOrientation),WordPadding:cdk().stringToCloudFormation(properties.wordPadding),WordScaling:cdk().stringToCloudFormation(properties.wordScaling)}):properties}function CfnTemplateWordCloudOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudLayout","CloudLayout",properties.CloudLayout!=null?cfn_parse().FromCloudFormation.getString(properties.CloudLayout):void 0),ret.addPropertyResult("maximumStringLength","MaximumStringLength",properties.MaximumStringLength!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumStringLength):void 0),ret.addPropertyResult("wordCasing","WordCasing",properties.WordCasing!=null?cfn_parse().FromCloudFormation.getString(properties.WordCasing):void 0),ret.addPropertyResult("wordOrientation","WordOrientation",properties.WordOrientation!=null?cfn_parse().FromCloudFormation.getString(properties.WordOrientation):void 0),ret.addPropertyResult("wordPadding","WordPadding",properties.WordPadding!=null?cfn_parse().FromCloudFormation.getString(properties.WordPadding):void 0),ret.addPropertyResult("wordScaling","WordScaling",properties.WordScaling!=null?cfn_parse().FromCloudFormation.getString(properties.WordScaling):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWordCloudChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.categoryLabelOptions)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateWordCloudFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateWordCloudSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("wordCloudOptions",CfnTemplateWordCloudOptionsPropertyValidator)(properties.wordCloudOptions)),errors.wrap('supplied properties not correct for "WordCloudChartConfigurationProperty"')}function convertCfnTemplateWordCloudChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWordCloudChartConfigurationPropertyValidator(properties).assertSuccess(),{CategoryLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.categoryLabelOptions),FieldWells:convertCfnTemplateWordCloudFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),SortConfiguration:convertCfnTemplateWordCloudSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),WordCloudOptions:convertCfnTemplateWordCloudOptionsPropertyToCloudFormation(properties.wordCloudOptions)}):properties}function CfnTemplateWordCloudChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryLabelOptions","CategoryLabelOptions",properties.CategoryLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.CategoryLabelOptions):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateWordCloudFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateWordCloudSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("wordCloudOptions","WordCloudOptions",properties.WordCloudOptions!=null?CfnTemplateWordCloudOptionsPropertyFromCloudFormation(properties.WordCloudOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWordCloudVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateWordCloudChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "WordCloudVisualProperty"')}function convertCfnTemplateWordCloudVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWordCloudVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateWordCloudChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateWordCloudVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateWordCloudChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePeriodToDateComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("periodTimeGranularity",cdk().validateString)(properties.periodTimeGranularity)),errors.collect(cdk().propertyValidator("time",CfnTemplateDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("value",CfnTemplateMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "PeriodToDateComputationProperty"')}function convertCfnTemplatePeriodToDateComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePeriodToDateComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),PeriodTimeGranularity:cdk().stringToCloudFormation(properties.periodTimeGranularity),Time:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.time),Value:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnTemplatePeriodToDateComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("periodTimeGranularity","PeriodTimeGranularity",properties.PeriodTimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.PeriodTimeGranularity):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGrowthRateComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("periodSize",cdk().validateNumber)(properties.periodSize)),errors.collect(cdk().propertyValidator("time",CfnTemplateDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("value",CfnTemplateMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "GrowthRateComputationProperty"')}function convertCfnTemplateGrowthRateComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGrowthRateComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),PeriodSize:cdk().numberToCloudFormation(properties.periodSize),Time:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.time),Value:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnTemplateGrowthRateComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("periodSize","PeriodSize",properties.PeriodSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodSize):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTopBottomRankedComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",CfnTemplateDimensionFieldPropertyValidator)(properties.category)),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resultSize",cdk().validateNumber)(properties.resultSize)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",CfnTemplateMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "TopBottomRankedComputationProperty"')}function convertCfnTemplateTopBottomRankedComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTopBottomRankedComputationPropertyValidator(properties).assertSuccess(),{Category:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.category),ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),ResultSize:cdk().numberToCloudFormation(properties.resultSize),Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnTemplateTopBottomRankedComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Category):void 0),ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("resultSize","ResultSize",properties.ResultSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.ResultSize):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTotalAggregationComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",CfnTemplateMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "TotalAggregationComputationProperty"')}function convertCfnTemplateTotalAggregationComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTotalAggregationComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),Value:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnTemplateTotalAggregationComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateForecastComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("customSeasonalityValue",cdk().validateNumber)(properties.customSeasonalityValue)),errors.collect(cdk().propertyValidator("lowerBoundary",cdk().validateNumber)(properties.lowerBoundary)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("periodsBackward",cdk().validateNumber)(properties.periodsBackward)),errors.collect(cdk().propertyValidator("periodsForward",cdk().validateNumber)(properties.periodsForward)),errors.collect(cdk().propertyValidator("predictionInterval",cdk().validateNumber)(properties.predictionInterval)),errors.collect(cdk().propertyValidator("seasonality",cdk().validateString)(properties.seasonality)),errors.collect(cdk().propertyValidator("time",CfnTemplateDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("upperBoundary",cdk().validateNumber)(properties.upperBoundary)),errors.collect(cdk().propertyValidator("value",CfnTemplateMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "ForecastComputationProperty"')}function convertCfnTemplateForecastComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateForecastComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),CustomSeasonalityValue:cdk().numberToCloudFormation(properties.customSeasonalityValue),LowerBoundary:cdk().numberToCloudFormation(properties.lowerBoundary),Name:cdk().stringToCloudFormation(properties.name),PeriodsBackward:cdk().numberToCloudFormation(properties.periodsBackward),PeriodsForward:cdk().numberToCloudFormation(properties.periodsForward),PredictionInterval:cdk().numberToCloudFormation(properties.predictionInterval),Seasonality:cdk().stringToCloudFormation(properties.seasonality),Time:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.time),UpperBoundary:cdk().numberToCloudFormation(properties.upperBoundary),Value:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnTemplateForecastComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("customSeasonalityValue","CustomSeasonalityValue",properties.CustomSeasonalityValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.CustomSeasonalityValue):void 0),ret.addPropertyResult("lowerBoundary","LowerBoundary",properties.LowerBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.LowerBoundary):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("periodsBackward","PeriodsBackward",properties.PeriodsBackward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsBackward):void 0),ret.addPropertyResult("periodsForward","PeriodsForward",properties.PeriodsForward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsForward):void 0),ret.addPropertyResult("predictionInterval","PredictionInterval",properties.PredictionInterval!=null?cfn_parse().FromCloudFormation.getNumber(properties.PredictionInterval):void 0),ret.addPropertyResult("seasonality","Seasonality",properties.Seasonality!=null?cfn_parse().FromCloudFormation.getString(properties.Seasonality):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("upperBoundary","UpperBoundary",properties.UpperBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.UpperBoundary):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateMaximumMinimumComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("time",CfnTemplateDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",CfnTemplateMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "MaximumMinimumComputationProperty"')}function convertCfnTemplateMaximumMinimumComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateMaximumMinimumComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),Time:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.time),Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnTemplateMaximumMinimumComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePeriodOverPeriodComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("time",CfnTemplateDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("value",CfnTemplateMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "PeriodOverPeriodComputationProperty"')}function convertCfnTemplatePeriodOverPeriodComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePeriodOverPeriodComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name),Time:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.time),Value:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnTemplatePeriodOverPeriodComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateMetricComparisonComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("fromValue",CfnTemplateMeasureFieldPropertyValidator)(properties.fromValue)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("targetValue",CfnTemplateMeasureFieldPropertyValidator)(properties.targetValue)),errors.collect(cdk().propertyValidator("time",CfnTemplateDimensionFieldPropertyValidator)(properties.time)),errors.wrap('supplied properties not correct for "MetricComparisonComputationProperty"')}function convertCfnTemplateMetricComparisonComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateMetricComparisonComputationPropertyValidator(properties).assertSuccess(),{ComputationId:cdk().stringToCloudFormation(properties.computationId),FromValue:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.fromValue),Name:cdk().stringToCloudFormation(properties.name),TargetValue:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.targetValue),Time:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.time)}):properties}function CfnTemplateMetricComparisonComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("fromValue","FromValue",properties.FromValue!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.FromValue):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("targetValue","TargetValue",properties.TargetValue!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.TargetValue):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTopBottomMoversComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",CfnTemplateDimensionFieldPropertyValidator)(properties.category)),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("moverSize",cdk().validateNumber)(properties.moverSize)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sortOrder",cdk().validateString)(properties.sortOrder)),errors.collect(cdk().propertyValidator("time",CfnTemplateDimensionFieldPropertyValidator)(properties.time)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",CfnTemplateMeasureFieldPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "TopBottomMoversComputationProperty"')}function convertCfnTemplateTopBottomMoversComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTopBottomMoversComputationPropertyValidator(properties).assertSuccess(),{Category:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.category),ComputationId:cdk().stringToCloudFormation(properties.computationId),MoverSize:cdk().numberToCloudFormation(properties.moverSize),Name:cdk().stringToCloudFormation(properties.name),SortOrder:cdk().stringToCloudFormation(properties.sortOrder),Time:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.time),Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnTemplateMeasureFieldPropertyToCloudFormation(properties.value)}):properties}function CfnTemplateTopBottomMoversComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Category):void 0),ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("moverSize","MoverSize",properties.MoverSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MoverSize):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("sortOrder","SortOrder",properties.SortOrder!=null?cfn_parse().FromCloudFormation.getString(properties.SortOrder):void 0),ret.addPropertyResult("time","Time",properties.Time!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Time):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnTemplateMeasureFieldPropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateUniqueValuesComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",CfnTemplateDimensionFieldPropertyValidator)(properties.category)),errors.collect(cdk().propertyValidator("computationId",cdk().requiredValidator)(properties.computationId)),errors.collect(cdk().propertyValidator("computationId",cdk().validateString)(properties.computationId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "UniqueValuesComputationProperty"')}function convertCfnTemplateUniqueValuesComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateUniqueValuesComputationPropertyValidator(properties).assertSuccess(),{Category:convertCfnTemplateDimensionFieldPropertyToCloudFormation(properties.category),ComputationId:cdk().stringToCloudFormation(properties.computationId),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnTemplateUniqueValuesComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?CfnTemplateDimensionFieldPropertyFromCloudFormation(properties.Category):void 0),ret.addPropertyResult("computationId","ComputationId",properties.ComputationId!=null?cfn_parse().FromCloudFormation.getString(properties.ComputationId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateComputationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("forecast",CfnTemplateForecastComputationPropertyValidator)(properties.forecast)),errors.collect(cdk().propertyValidator("growthRate",CfnTemplateGrowthRateComputationPropertyValidator)(properties.growthRate)),errors.collect(cdk().propertyValidator("maximumMinimum",CfnTemplateMaximumMinimumComputationPropertyValidator)(properties.maximumMinimum)),errors.collect(cdk().propertyValidator("metricComparison",CfnTemplateMetricComparisonComputationPropertyValidator)(properties.metricComparison)),errors.collect(cdk().propertyValidator("periodOverPeriod",CfnTemplatePeriodOverPeriodComputationPropertyValidator)(properties.periodOverPeriod)),errors.collect(cdk().propertyValidator("periodToDate",CfnTemplatePeriodToDateComputationPropertyValidator)(properties.periodToDate)),errors.collect(cdk().propertyValidator("topBottomMovers",CfnTemplateTopBottomMoversComputationPropertyValidator)(properties.topBottomMovers)),errors.collect(cdk().propertyValidator("topBottomRanked",CfnTemplateTopBottomRankedComputationPropertyValidator)(properties.topBottomRanked)),errors.collect(cdk().propertyValidator("totalAggregation",CfnTemplateTotalAggregationComputationPropertyValidator)(properties.totalAggregation)),errors.collect(cdk().propertyValidator("uniqueValues",CfnTemplateUniqueValuesComputationPropertyValidator)(properties.uniqueValues)),errors.wrap('supplied properties not correct for "ComputationProperty"')}function convertCfnTemplateComputationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateComputationPropertyValidator(properties).assertSuccess(),{Forecast:convertCfnTemplateForecastComputationPropertyToCloudFormation(properties.forecast),GrowthRate:convertCfnTemplateGrowthRateComputationPropertyToCloudFormation(properties.growthRate),MaximumMinimum:convertCfnTemplateMaximumMinimumComputationPropertyToCloudFormation(properties.maximumMinimum),MetricComparison:convertCfnTemplateMetricComparisonComputationPropertyToCloudFormation(properties.metricComparison),PeriodOverPeriod:convertCfnTemplatePeriodOverPeriodComputationPropertyToCloudFormation(properties.periodOverPeriod),PeriodToDate:convertCfnTemplatePeriodToDateComputationPropertyToCloudFormation(properties.periodToDate),TopBottomMovers:convertCfnTemplateTopBottomMoversComputationPropertyToCloudFormation(properties.topBottomMovers),TopBottomRanked:convertCfnTemplateTopBottomRankedComputationPropertyToCloudFormation(properties.topBottomRanked),TotalAggregation:convertCfnTemplateTotalAggregationComputationPropertyToCloudFormation(properties.totalAggregation),UniqueValues:convertCfnTemplateUniqueValuesComputationPropertyToCloudFormation(properties.uniqueValues)}):properties}function CfnTemplateComputationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("forecast","Forecast",properties.Forecast!=null?CfnTemplateForecastComputationPropertyFromCloudFormation(properties.Forecast):void 0),ret.addPropertyResult("growthRate","GrowthRate",properties.GrowthRate!=null?CfnTemplateGrowthRateComputationPropertyFromCloudFormation(properties.GrowthRate):void 0),ret.addPropertyResult("maximumMinimum","MaximumMinimum",properties.MaximumMinimum!=null?CfnTemplateMaximumMinimumComputationPropertyFromCloudFormation(properties.MaximumMinimum):void 0),ret.addPropertyResult("metricComparison","MetricComparison",properties.MetricComparison!=null?CfnTemplateMetricComparisonComputationPropertyFromCloudFormation(properties.MetricComparison):void 0),ret.addPropertyResult("periodOverPeriod","PeriodOverPeriod",properties.PeriodOverPeriod!=null?CfnTemplatePeriodOverPeriodComputationPropertyFromCloudFormation(properties.PeriodOverPeriod):void 0),ret.addPropertyResult("periodToDate","PeriodToDate",properties.PeriodToDate!=null?CfnTemplatePeriodToDateComputationPropertyFromCloudFormation(properties.PeriodToDate):void 0),ret.addPropertyResult("topBottomMovers","TopBottomMovers",properties.TopBottomMovers!=null?CfnTemplateTopBottomMoversComputationPropertyFromCloudFormation(properties.TopBottomMovers):void 0),ret.addPropertyResult("topBottomRanked","TopBottomRanked",properties.TopBottomRanked!=null?CfnTemplateTopBottomRankedComputationPropertyFromCloudFormation(properties.TopBottomRanked):void 0),ret.addPropertyResult("totalAggregation","TotalAggregation",properties.TotalAggregation!=null?CfnTemplateTotalAggregationComputationPropertyFromCloudFormation(properties.TotalAggregation):void 0),ret.addPropertyResult("uniqueValues","UniqueValues",properties.UniqueValues!=null?CfnTemplateUniqueValuesComputationPropertyFromCloudFormation(properties.UniqueValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateCustomNarrativeOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("narrative",cdk().requiredValidator)(properties.narrative)),errors.collect(cdk().propertyValidator("narrative",cdk().validateString)(properties.narrative)),errors.wrap('supplied properties not correct for "CustomNarrativeOptionsProperty"')}function convertCfnTemplateCustomNarrativeOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateCustomNarrativeOptionsPropertyValidator(properties).assertSuccess(),{Narrative:cdk().stringToCloudFormation(properties.narrative)}):properties}function CfnTemplateCustomNarrativeOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("narrative","Narrative",properties.Narrative!=null?cfn_parse().FromCloudFormation.getString(properties.Narrative):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateInsightConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computations",cdk().listValidator(CfnTemplateComputationPropertyValidator))(properties.computations)),errors.collect(cdk().propertyValidator("customNarrative",CfnTemplateCustomNarrativeOptionsPropertyValidator)(properties.customNarrative)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.wrap('supplied properties not correct for "InsightConfigurationProperty"')}function convertCfnTemplateInsightConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateInsightConfigurationPropertyValidator(properties).assertSuccess(),{Computations:cdk().listMapper(convertCfnTemplateComputationPropertyToCloudFormation)(properties.computations),CustomNarrative:convertCfnTemplateCustomNarrativeOptionsPropertyToCloudFormation(properties.customNarrative),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions)}):properties}function CfnTemplateInsightConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computations","Computations",properties.Computations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateComputationPropertyFromCloudFormation)(properties.Computations):void 0),ret.addPropertyResult("customNarrative","CustomNarrative",properties.CustomNarrative!=null?CfnTemplateCustomNarrativeOptionsPropertyFromCloudFormation(properties.CustomNarrative):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateInsightVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("insightConfiguration",CfnTemplateInsightConfigurationPropertyValidator)(properties.insightConfiguration)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "InsightVisualProperty"')}function convertCfnTemplateInsightVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateInsightVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),InsightConfiguration:convertCfnTemplateInsightConfigurationPropertyToCloudFormation(properties.insightConfiguration),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateInsightVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("insightConfiguration","InsightConfiguration",properties.InsightConfiguration!=null?CfnTemplateInsightConfigurationPropertyFromCloudFormation(properties.InsightConfiguration):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSankeyDiagramSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.destinationItemsLimit)),errors.collect(cdk().propertyValidator("sourceItemsLimit",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.sourceItemsLimit)),errors.collect(cdk().propertyValidator("weightSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.weightSort)),errors.wrap('supplied properties not correct for "SankeyDiagramSortConfigurationProperty"')}function convertCfnTemplateSankeyDiagramSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSankeyDiagramSortConfigurationPropertyValidator(properties).assertSuccess(),{DestinationItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.destinationItemsLimit),SourceItemsLimit:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.sourceItemsLimit),WeightSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.weightSort)}):properties}function CfnTemplateSankeyDiagramSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationItemsLimit","DestinationItemsLimit",properties.DestinationItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.DestinationItemsLimit):void 0),ret.addPropertyResult("sourceItemsLimit","SourceItemsLimit",properties.SourceItemsLimit!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.SourceItemsLimit):void 0),ret.addPropertyResult("weightSort","WeightSort",properties.WeightSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.WeightSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSankeyDiagramAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destination",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.destination)),errors.collect(cdk().propertyValidator("source",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.source)),errors.collect(cdk().propertyValidator("weight",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.weight)),errors.wrap('supplied properties not correct for "SankeyDiagramAggregatedFieldWellsProperty"')}function convertCfnTemplateSankeyDiagramAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSankeyDiagramAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Destination:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.destination),Source:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.source),Weight:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.weight)}):properties}function CfnTemplateSankeyDiagramAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",properties.Destination!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Destination):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Source):void 0),ret.addPropertyResult("weight","Weight",properties.Weight!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Weight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSankeyDiagramFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sankeyDiagramAggregatedFieldWells",CfnTemplateSankeyDiagramAggregatedFieldWellsPropertyValidator)(properties.sankeyDiagramAggregatedFieldWells)),errors.wrap('supplied properties not correct for "SankeyDiagramFieldWellsProperty"')}function convertCfnTemplateSankeyDiagramFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSankeyDiagramFieldWellsPropertyValidator(properties).assertSuccess(),{SankeyDiagramAggregatedFieldWells:convertCfnTemplateSankeyDiagramAggregatedFieldWellsPropertyToCloudFormation(properties.sankeyDiagramAggregatedFieldWells)}):properties}function CfnTemplateSankeyDiagramFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sankeyDiagramAggregatedFieldWells","SankeyDiagramAggregatedFieldWells",properties.SankeyDiagramAggregatedFieldWells!=null?CfnTemplateSankeyDiagramAggregatedFieldWellsPropertyFromCloudFormation(properties.SankeyDiagramAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSankeyDiagramChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateSankeyDiagramFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateSankeyDiagramSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.wrap('supplied properties not correct for "SankeyDiagramChartConfigurationProperty"')}function convertCfnTemplateSankeyDiagramChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSankeyDiagramChartConfigurationPropertyValidator(properties).assertSuccess(),{DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnTemplateSankeyDiagramFieldWellsPropertyToCloudFormation(properties.fieldWells),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),SortConfiguration:convertCfnTemplateSankeyDiagramSortConfigurationPropertyToCloudFormation(properties.sortConfiguration)}):properties}function CfnTemplateSankeyDiagramChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateSankeyDiagramFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateSankeyDiagramSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSankeyDiagramVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateSankeyDiagramChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "SankeyDiagramVisualProperty"')}function convertCfnTemplateSankeyDiagramVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSankeyDiagramVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateSankeyDiagramChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateSankeyDiagramVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateSankeyDiagramChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGaugeChartArcConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("foregroundColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.foregroundColor)),errors.wrap('supplied properties not correct for "GaugeChartArcConditionalFormattingProperty"')}function convertCfnTemplateGaugeChartArcConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGaugeChartArcConditionalFormattingPropertyValidator(properties).assertSuccess(),{ForegroundColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.foregroundColor)}):properties}function CfnTemplateGaugeChartArcConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("foregroundColor","ForegroundColor",properties.ForegroundColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.ForegroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGaugeChartPrimaryValueConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("icon",CfnTemplateConditionalFormattingIconPropertyValidator)(properties.icon)),errors.collect(cdk().propertyValidator("textColor",CfnTemplateConditionalFormattingColorPropertyValidator)(properties.textColor)),errors.wrap('supplied properties not correct for "GaugeChartPrimaryValueConditionalFormattingProperty"')}function convertCfnTemplateGaugeChartPrimaryValueConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGaugeChartPrimaryValueConditionalFormattingPropertyValidator(properties).assertSuccess(),{Icon:convertCfnTemplateConditionalFormattingIconPropertyToCloudFormation(properties.icon),TextColor:convertCfnTemplateConditionalFormattingColorPropertyToCloudFormation(properties.textColor)}):properties}function CfnTemplateGaugeChartPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("icon","Icon",properties.Icon!=null?CfnTemplateConditionalFormattingIconPropertyFromCloudFormation(properties.Icon):void 0),ret.addPropertyResult("textColor","TextColor",properties.TextColor!=null?CfnTemplateConditionalFormattingColorPropertyFromCloudFormation(properties.TextColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGaugeChartConditionalFormattingOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arc",CfnTemplateGaugeChartArcConditionalFormattingPropertyValidator)(properties.arc)),errors.collect(cdk().propertyValidator("primaryValue",CfnTemplateGaugeChartPrimaryValueConditionalFormattingPropertyValidator)(properties.primaryValue)),errors.wrap('supplied properties not correct for "GaugeChartConditionalFormattingOptionProperty"')}function convertCfnTemplateGaugeChartConditionalFormattingOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGaugeChartConditionalFormattingOptionPropertyValidator(properties).assertSuccess(),{Arc:convertCfnTemplateGaugeChartArcConditionalFormattingPropertyToCloudFormation(properties.arc),PrimaryValue:convertCfnTemplateGaugeChartPrimaryValueConditionalFormattingPropertyToCloudFormation(properties.primaryValue)}):properties}function CfnTemplateGaugeChartConditionalFormattingOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arc","Arc",properties.Arc!=null?CfnTemplateGaugeChartArcConditionalFormattingPropertyFromCloudFormation(properties.Arc):void 0),ret.addPropertyResult("primaryValue","PrimaryValue",properties.PrimaryValue!=null?CfnTemplateGaugeChartPrimaryValueConditionalFormattingPropertyFromCloudFormation(properties.PrimaryValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGaugeChartConditionalFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("conditionalFormattingOptions",cdk().listValidator(CfnTemplateGaugeChartConditionalFormattingOptionPropertyValidator))(properties.conditionalFormattingOptions)),errors.wrap('supplied properties not correct for "GaugeChartConditionalFormattingProperty"')}function convertCfnTemplateGaugeChartConditionalFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGaugeChartConditionalFormattingPropertyValidator(properties).assertSuccess(),{ConditionalFormattingOptions:cdk().listMapper(convertCfnTemplateGaugeChartConditionalFormattingOptionPropertyToCloudFormation)(properties.conditionalFormattingOptions)}):properties}function CfnTemplateGaugeChartConditionalFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("conditionalFormattingOptions","ConditionalFormattingOptions",properties.ConditionalFormattingOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateGaugeChartConditionalFormattingOptionPropertyFromCloudFormation)(properties.ConditionalFormattingOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGaugeChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetValues",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.targetValues)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "GaugeChartFieldWellsProperty"')}function convertCfnTemplateGaugeChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGaugeChartFieldWellsPropertyValidator(properties).assertSuccess(),{TargetValues:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.targetValues),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateGaugeChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetValues","TargetValues",properties.TargetValues!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.TargetValues):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateArcConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcAngle",cdk().validateNumber)(properties.arcAngle)),errors.collect(cdk().propertyValidator("arcThickness",cdk().validateString)(properties.arcThickness)),errors.wrap('supplied properties not correct for "ArcConfigurationProperty"')}function convertCfnTemplateArcConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateArcConfigurationPropertyValidator(properties).assertSuccess(),{ArcAngle:cdk().numberToCloudFormation(properties.arcAngle),ArcThickness:cdk().stringToCloudFormation(properties.arcThickness)}):properties}function CfnTemplateArcConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcAngle","ArcAngle",properties.ArcAngle!=null?cfn_parse().FromCloudFormation.getNumber(properties.ArcAngle):void 0),ret.addPropertyResult("arcThickness","ArcThickness",properties.ArcThickness!=null?cfn_parse().FromCloudFormation.getString(properties.ArcThickness):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateArcAxisDisplayRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "ArcAxisDisplayRangeProperty"')}function convertCfnTemplateArcAxisDisplayRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateArcAxisDisplayRangePropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnTemplateArcAxisDisplayRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateArcAxisConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("range",CfnTemplateArcAxisDisplayRangePropertyValidator)(properties.range)),errors.collect(cdk().propertyValidator("reserveRange",cdk().validateNumber)(properties.reserveRange)),errors.wrap('supplied properties not correct for "ArcAxisConfigurationProperty"')}function convertCfnTemplateArcAxisConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateArcAxisConfigurationPropertyValidator(properties).assertSuccess(),{Range:convertCfnTemplateArcAxisDisplayRangePropertyToCloudFormation(properties.range),ReserveRange:cdk().numberToCloudFormation(properties.reserveRange)}):properties}function CfnTemplateArcAxisConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("range","Range",properties.Range!=null?CfnTemplateArcAxisDisplayRangePropertyFromCloudFormation(properties.Range):void 0),ret.addPropertyResult("reserveRange","ReserveRange",properties.ReserveRange!=null?cfn_parse().FromCloudFormation.getNumber(properties.ReserveRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGaugeChartOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arc",CfnTemplateArcConfigurationPropertyValidator)(properties.arc)),errors.collect(cdk().propertyValidator("arcAxis",CfnTemplateArcAxisConfigurationPropertyValidator)(properties.arcAxis)),errors.collect(cdk().propertyValidator("comparison",CfnTemplateComparisonConfigurationPropertyValidator)(properties.comparison)),errors.collect(cdk().propertyValidator("primaryValueDisplayType",cdk().validateString)(properties.primaryValueDisplayType)),errors.collect(cdk().propertyValidator("primaryValueFontConfiguration",CfnTemplateFontConfigurationPropertyValidator)(properties.primaryValueFontConfiguration)),errors.wrap('supplied properties not correct for "GaugeChartOptionsProperty"')}function convertCfnTemplateGaugeChartOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGaugeChartOptionsPropertyValidator(properties).assertSuccess(),{Arc:convertCfnTemplateArcConfigurationPropertyToCloudFormation(properties.arc),ArcAxis:convertCfnTemplateArcAxisConfigurationPropertyToCloudFormation(properties.arcAxis),Comparison:convertCfnTemplateComparisonConfigurationPropertyToCloudFormation(properties.comparison),PrimaryValueDisplayType:cdk().stringToCloudFormation(properties.primaryValueDisplayType),PrimaryValueFontConfiguration:convertCfnTemplateFontConfigurationPropertyToCloudFormation(properties.primaryValueFontConfiguration)}):properties}function CfnTemplateGaugeChartOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arc","Arc",properties.Arc!=null?CfnTemplateArcConfigurationPropertyFromCloudFormation(properties.Arc):void 0),ret.addPropertyResult("arcAxis","ArcAxis",properties.ArcAxis!=null?CfnTemplateArcAxisConfigurationPropertyFromCloudFormation(properties.ArcAxis):void 0),ret.addPropertyResult("comparison","Comparison",properties.Comparison!=null?CfnTemplateComparisonConfigurationPropertyFromCloudFormation(properties.Comparison):void 0),ret.addPropertyResult("primaryValueDisplayType","PrimaryValueDisplayType",properties.PrimaryValueDisplayType!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryValueDisplayType):void 0),ret.addPropertyResult("primaryValueFontConfiguration","PrimaryValueFontConfiguration",properties.PrimaryValueFontConfiguration!=null?CfnTemplateFontConfigurationPropertyFromCloudFormation(properties.PrimaryValueFontConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGaugeChartColorConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("backgroundColor",cdk().validateString)(properties.backgroundColor)),errors.collect(cdk().propertyValidator("foregroundColor",cdk().validateString)(properties.foregroundColor)),errors.wrap('supplied properties not correct for "GaugeChartColorConfigurationProperty"')}function convertCfnTemplateGaugeChartColorConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGaugeChartColorConfigurationPropertyValidator(properties).assertSuccess(),{BackgroundColor:cdk().stringToCloudFormation(properties.backgroundColor),ForegroundColor:cdk().stringToCloudFormation(properties.foregroundColor)}):properties}function CfnTemplateGaugeChartColorConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("backgroundColor","BackgroundColor",properties.BackgroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.BackgroundColor):void 0),ret.addPropertyResult("foregroundColor","ForegroundColor",properties.ForegroundColor!=null?cfn_parse().FromCloudFormation.getString(properties.ForegroundColor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGaugeChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colorConfiguration",CfnTemplateGaugeChartColorConfigurationPropertyValidator)(properties.colorConfiguration)),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateGaugeChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("gaugeChartOptions",CfnTemplateGaugeChartOptionsPropertyValidator)(properties.gaugeChartOptions)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("tooltipOptions",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltipOptions)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.wrap('supplied properties not correct for "GaugeChartConfigurationProperty"')}function convertCfnTemplateGaugeChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGaugeChartConfigurationPropertyValidator(properties).assertSuccess(),{ColorConfiguration:convertCfnTemplateGaugeChartColorConfigurationPropertyToCloudFormation(properties.colorConfiguration),DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),FieldWells:convertCfnTemplateGaugeChartFieldWellsPropertyToCloudFormation(properties.fieldWells),GaugeChartOptions:convertCfnTemplateGaugeChartOptionsPropertyToCloudFormation(properties.gaugeChartOptions),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),TooltipOptions:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltipOptions),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette)}):properties}function CfnTemplateGaugeChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colorConfiguration","ColorConfiguration",properties.ColorConfiguration!=null?CfnTemplateGaugeChartColorConfigurationPropertyFromCloudFormation(properties.ColorConfiguration):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateGaugeChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("gaugeChartOptions","GaugeChartOptions",properties.GaugeChartOptions!=null?CfnTemplateGaugeChartOptionsPropertyFromCloudFormation(properties.GaugeChartOptions):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("tooltipOptions","TooltipOptions",properties.TooltipOptions!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.TooltipOptions):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateGaugeChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateGaugeChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("conditionalFormatting",CfnTemplateGaugeChartConditionalFormattingPropertyValidator)(properties.conditionalFormatting)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "GaugeChartVisualProperty"')}function convertCfnTemplateGaugeChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateGaugeChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateGaugeChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ConditionalFormatting:convertCfnTemplateGaugeChartConditionalFormattingPropertyToCloudFormation(properties.conditionalFormatting),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateGaugeChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateGaugeChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("conditionalFormatting","ConditionalFormatting",properties.ConditionalFormatting!=null?CfnTemplateGaugeChartConditionalFormattingPropertyFromCloudFormation(properties.ConditionalFormatting):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineChartSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryItemsLimitConfiguration",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.categoryItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("categorySort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.categorySort)),errors.collect(cdk().propertyValidator("colorItemsLimitConfiguration",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.colorItemsLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesLimitConfiguration",CfnTemplateItemsLimitConfigurationPropertyValidator)(properties.smallMultiplesLimitConfiguration)),errors.collect(cdk().propertyValidator("smallMultiplesSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.smallMultiplesSort)),errors.wrap('supplied properties not correct for "LineChartSortConfigurationProperty"')}function convertCfnTemplateLineChartSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineChartSortConfigurationPropertyValidator(properties).assertSuccess(),{CategoryItemsLimitConfiguration:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.categoryItemsLimitConfiguration),CategorySort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.categorySort),ColorItemsLimitConfiguration:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.colorItemsLimitConfiguration),SmallMultiplesLimitConfiguration:convertCfnTemplateItemsLimitConfigurationPropertyToCloudFormation(properties.smallMultiplesLimitConfiguration),SmallMultiplesSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.smallMultiplesSort)}):properties}function CfnTemplateLineChartSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryItemsLimitConfiguration","CategoryItemsLimitConfiguration",properties.CategoryItemsLimitConfiguration!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.CategoryItemsLimitConfiguration):void 0),ret.addPropertyResult("categorySort","CategorySort",properties.CategorySort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.CategorySort):void 0),ret.addPropertyResult("colorItemsLimitConfiguration","ColorItemsLimitConfiguration",properties.ColorItemsLimitConfiguration!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.ColorItemsLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesLimitConfiguration","SmallMultiplesLimitConfiguration",properties.SmallMultiplesLimitConfiguration!=null?CfnTemplateItemsLimitConfigurationPropertyFromCloudFormation(properties.SmallMultiplesLimitConfiguration):void 0),ret.addPropertyResult("smallMultiplesSort","SmallMultiplesSort",properties.SmallMultiplesSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.SmallMultiplesSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateMissingDataConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("treatmentOption",cdk().validateString)(properties.treatmentOption)),errors.wrap('supplied properties not correct for "MissingDataConfigurationProperty"')}function convertCfnTemplateMissingDataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateMissingDataConfigurationPropertyValidator(properties).assertSuccess(),{TreatmentOption:cdk().stringToCloudFormation(properties.treatmentOption)}):properties}function CfnTemplateMissingDataConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("treatmentOption","TreatmentOption",properties.TreatmentOption!=null?cfn_parse().FromCloudFormation.getString(properties.TreatmentOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineSeriesAxisDisplayOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.axisOptions)),errors.collect(cdk().propertyValidator("missingDataConfigurations",cdk().listValidator(CfnTemplateMissingDataConfigurationPropertyValidator))(properties.missingDataConfigurations)),errors.wrap('supplied properties not correct for "LineSeriesAxisDisplayOptionsProperty"')}function convertCfnTemplateLineSeriesAxisDisplayOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineSeriesAxisDisplayOptionsPropertyValidator(properties).assertSuccess(),{AxisOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.axisOptions),MissingDataConfigurations:cdk().listMapper(convertCfnTemplateMissingDataConfigurationPropertyToCloudFormation)(properties.missingDataConfigurations)}):properties}function CfnTemplateLineSeriesAxisDisplayOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisOptions","AxisOptions",properties.AxisOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.AxisOptions):void 0),ret.addPropertyResult("missingDataConfigurations","MissingDataConfigurations",properties.MissingDataConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMissingDataConfigurationPropertyFromCloudFormation)(properties.MissingDataConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineChartLineStyleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineInterpolation",cdk().validateString)(properties.lineInterpolation)),errors.collect(cdk().propertyValidator("lineStyle",cdk().validateString)(properties.lineStyle)),errors.collect(cdk().propertyValidator("lineVisibility",cdk().validateString)(properties.lineVisibility)),errors.collect(cdk().propertyValidator("lineWidth",cdk().validateString)(properties.lineWidth)),errors.wrap('supplied properties not correct for "LineChartLineStyleSettingsProperty"')}function convertCfnTemplateLineChartLineStyleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineChartLineStyleSettingsPropertyValidator(properties).assertSuccess(),{LineInterpolation:cdk().stringToCloudFormation(properties.lineInterpolation),LineStyle:cdk().stringToCloudFormation(properties.lineStyle),LineVisibility:cdk().stringToCloudFormation(properties.lineVisibility),LineWidth:cdk().stringToCloudFormation(properties.lineWidth)}):properties}function CfnTemplateLineChartLineStyleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineInterpolation","LineInterpolation",properties.LineInterpolation!=null?cfn_parse().FromCloudFormation.getString(properties.LineInterpolation):void 0),ret.addPropertyResult("lineStyle","LineStyle",properties.LineStyle!=null?cfn_parse().FromCloudFormation.getString(properties.LineStyle):void 0),ret.addPropertyResult("lineVisibility","LineVisibility",properties.LineVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.LineVisibility):void 0),ret.addPropertyResult("lineWidth","LineWidth",properties.LineWidth!=null?cfn_parse().FromCloudFormation.getString(properties.LineWidth):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineChartMarkerStyleSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("markerColor",cdk().validateString)(properties.markerColor)),errors.collect(cdk().propertyValidator("markerShape",cdk().validateString)(properties.markerShape)),errors.collect(cdk().propertyValidator("markerSize",cdk().validateString)(properties.markerSize)),errors.collect(cdk().propertyValidator("markerVisibility",cdk().validateString)(properties.markerVisibility)),errors.wrap('supplied properties not correct for "LineChartMarkerStyleSettingsProperty"')}function convertCfnTemplateLineChartMarkerStyleSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineChartMarkerStyleSettingsPropertyValidator(properties).assertSuccess(),{MarkerColor:cdk().stringToCloudFormation(properties.markerColor),MarkerShape:cdk().stringToCloudFormation(properties.markerShape),MarkerSize:cdk().stringToCloudFormation(properties.markerSize),MarkerVisibility:cdk().stringToCloudFormation(properties.markerVisibility)}):properties}function CfnTemplateLineChartMarkerStyleSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("markerColor","MarkerColor",properties.MarkerColor!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerColor):void 0),ret.addPropertyResult("markerShape","MarkerShape",properties.MarkerShape!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerShape):void 0),ret.addPropertyResult("markerSize","MarkerSize",properties.MarkerSize!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerSize):void 0),ret.addPropertyResult("markerVisibility","MarkerVisibility",properties.MarkerVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.MarkerVisibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineChartDefaultSeriesSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("lineStyleSettings",CfnTemplateLineChartLineStyleSettingsPropertyValidator)(properties.lineStyleSettings)),errors.collect(cdk().propertyValidator("markerStyleSettings",CfnTemplateLineChartMarkerStyleSettingsPropertyValidator)(properties.markerStyleSettings)),errors.wrap('supplied properties not correct for "LineChartDefaultSeriesSettingsProperty"')}function convertCfnTemplateLineChartDefaultSeriesSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineChartDefaultSeriesSettingsPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),LineStyleSettings:convertCfnTemplateLineChartLineStyleSettingsPropertyToCloudFormation(properties.lineStyleSettings),MarkerStyleSettings:convertCfnTemplateLineChartMarkerStyleSettingsPropertyToCloudFormation(properties.markerStyleSettings)}):properties}function CfnTemplateLineChartDefaultSeriesSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("lineStyleSettings","LineStyleSettings",properties.LineStyleSettings!=null?CfnTemplateLineChartLineStyleSettingsPropertyFromCloudFormation(properties.LineStyleSettings):void 0),ret.addPropertyResult("markerStyleSettings","MarkerStyleSettings",properties.MarkerStyleSettings!=null?CfnTemplateLineChartMarkerStyleSettingsPropertyFromCloudFormation(properties.MarkerStyleSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTimeBasedForecastPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lowerBoundary",cdk().validateNumber)(properties.lowerBoundary)),errors.collect(cdk().propertyValidator("periodsBackward",cdk().validateNumber)(properties.periodsBackward)),errors.collect(cdk().propertyValidator("periodsForward",cdk().validateNumber)(properties.periodsForward)),errors.collect(cdk().propertyValidator("predictionInterval",cdk().validateNumber)(properties.predictionInterval)),errors.collect(cdk().propertyValidator("seasonality",cdk().validateNumber)(properties.seasonality)),errors.collect(cdk().propertyValidator("upperBoundary",cdk().validateNumber)(properties.upperBoundary)),errors.wrap('supplied properties not correct for "TimeBasedForecastPropertiesProperty"')}function convertCfnTemplateTimeBasedForecastPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTimeBasedForecastPropertiesPropertyValidator(properties).assertSuccess(),{LowerBoundary:cdk().numberToCloudFormation(properties.lowerBoundary),PeriodsBackward:cdk().numberToCloudFormation(properties.periodsBackward),PeriodsForward:cdk().numberToCloudFormation(properties.periodsForward),PredictionInterval:cdk().numberToCloudFormation(properties.predictionInterval),Seasonality:cdk().numberToCloudFormation(properties.seasonality),UpperBoundary:cdk().numberToCloudFormation(properties.upperBoundary)}):properties}function CfnTemplateTimeBasedForecastPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lowerBoundary","LowerBoundary",properties.LowerBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.LowerBoundary):void 0),ret.addPropertyResult("periodsBackward","PeriodsBackward",properties.PeriodsBackward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsBackward):void 0),ret.addPropertyResult("periodsForward","PeriodsForward",properties.PeriodsForward!=null?cfn_parse().FromCloudFormation.getNumber(properties.PeriodsForward):void 0),ret.addPropertyResult("predictionInterval","PredictionInterval",properties.PredictionInterval!=null?cfn_parse().FromCloudFormation.getNumber(properties.PredictionInterval):void 0),ret.addPropertyResult("seasonality","Seasonality",properties.Seasonality!=null?cfn_parse().FromCloudFormation.getNumber(properties.Seasonality):void 0),ret.addPropertyResult("upperBoundary","UpperBoundary",properties.UpperBoundary!=null?cfn_parse().FromCloudFormation.getNumber(properties.UpperBoundary):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWhatIfRangeScenarioPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("endDate",cdk().requiredValidator)(properties.endDate)),errors.collect(cdk().propertyValidator("endDate",cdk().validateString)(properties.endDate)),errors.collect(cdk().propertyValidator("startDate",cdk().requiredValidator)(properties.startDate)),errors.collect(cdk().propertyValidator("startDate",cdk().validateString)(properties.startDate)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "WhatIfRangeScenarioProperty"')}function convertCfnTemplateWhatIfRangeScenarioPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWhatIfRangeScenarioPropertyValidator(properties).assertSuccess(),{EndDate:cdk().stringToCloudFormation(properties.endDate),StartDate:cdk().stringToCloudFormation(properties.startDate),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnTemplateWhatIfRangeScenarioPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("endDate","EndDate",properties.EndDate!=null?cfn_parse().FromCloudFormation.getString(properties.EndDate):void 0),ret.addPropertyResult("startDate","StartDate",properties.StartDate!=null?cfn_parse().FromCloudFormation.getString(properties.StartDate):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateWhatIfPointScenarioPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("date",cdk().requiredValidator)(properties.date)),errors.collect(cdk().propertyValidator("date",cdk().validateString)(properties.date)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "WhatIfPointScenarioProperty"')}function convertCfnTemplateWhatIfPointScenarioPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateWhatIfPointScenarioPropertyValidator(properties).assertSuccess(),{Date:cdk().stringToCloudFormation(properties.date),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnTemplateWhatIfPointScenarioPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("date","Date",properties.Date!=null?cfn_parse().FromCloudFormation.getString(properties.Date):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateForecastScenarioPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("whatIfPointScenario",CfnTemplateWhatIfPointScenarioPropertyValidator)(properties.whatIfPointScenario)),errors.collect(cdk().propertyValidator("whatIfRangeScenario",CfnTemplateWhatIfRangeScenarioPropertyValidator)(properties.whatIfRangeScenario)),errors.wrap('supplied properties not correct for "ForecastScenarioProperty"')}function convertCfnTemplateForecastScenarioPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateForecastScenarioPropertyValidator(properties).assertSuccess(),{WhatIfPointScenario:convertCfnTemplateWhatIfPointScenarioPropertyToCloudFormation(properties.whatIfPointScenario),WhatIfRangeScenario:convertCfnTemplateWhatIfRangeScenarioPropertyToCloudFormation(properties.whatIfRangeScenario)}):properties}function CfnTemplateForecastScenarioPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("whatIfPointScenario","WhatIfPointScenario",properties.WhatIfPointScenario!=null?CfnTemplateWhatIfPointScenarioPropertyFromCloudFormation(properties.WhatIfPointScenario):void 0),ret.addPropertyResult("whatIfRangeScenario","WhatIfRangeScenario",properties.WhatIfRangeScenario!=null?CfnTemplateWhatIfRangeScenarioPropertyFromCloudFormation(properties.WhatIfRangeScenario):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateForecastConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("forecastProperties",CfnTemplateTimeBasedForecastPropertiesPropertyValidator)(properties.forecastProperties)),errors.collect(cdk().propertyValidator("scenario",CfnTemplateForecastScenarioPropertyValidator)(properties.scenario)),errors.wrap('supplied properties not correct for "ForecastConfigurationProperty"')}function convertCfnTemplateForecastConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateForecastConfigurationPropertyValidator(properties).assertSuccess(),{ForecastProperties:convertCfnTemplateTimeBasedForecastPropertiesPropertyToCloudFormation(properties.forecastProperties),Scenario:convertCfnTemplateForecastScenarioPropertyToCloudFormation(properties.scenario)}):properties}function CfnTemplateForecastConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("forecastProperties","ForecastProperties",properties.ForecastProperties!=null?CfnTemplateTimeBasedForecastPropertiesPropertyFromCloudFormation(properties.ForecastProperties):void 0),ret.addPropertyResult("scenario","Scenario",properties.Scenario!=null?CfnTemplateForecastScenarioPropertyFromCloudFormation(properties.Scenario):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineChartSeriesSettingsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineStyleSettings",CfnTemplateLineChartLineStyleSettingsPropertyValidator)(properties.lineStyleSettings)),errors.collect(cdk().propertyValidator("markerStyleSettings",CfnTemplateLineChartMarkerStyleSettingsPropertyValidator)(properties.markerStyleSettings)),errors.wrap('supplied properties not correct for "LineChartSeriesSettingsProperty"')}function convertCfnTemplateLineChartSeriesSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineChartSeriesSettingsPropertyValidator(properties).assertSuccess(),{LineStyleSettings:convertCfnTemplateLineChartLineStyleSettingsPropertyToCloudFormation(properties.lineStyleSettings),MarkerStyleSettings:convertCfnTemplateLineChartMarkerStyleSettingsPropertyToCloudFormation(properties.markerStyleSettings)}):properties}function CfnTemplateLineChartSeriesSettingsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineStyleSettings","LineStyleSettings",properties.LineStyleSettings!=null?CfnTemplateLineChartLineStyleSettingsPropertyFromCloudFormation(properties.LineStyleSettings):void 0),ret.addPropertyResult("markerStyleSettings","MarkerStyleSettings",properties.MarkerStyleSettings!=null?CfnTemplateLineChartMarkerStyleSettingsPropertyFromCloudFormation(properties.MarkerStyleSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateFieldSeriesItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().requiredValidator)(properties.axisBinding)),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("settings",CfnTemplateLineChartSeriesSettingsPropertyValidator)(properties.settings)),errors.wrap('supplied properties not correct for "FieldSeriesItemProperty"')}function convertCfnTemplateFieldSeriesItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateFieldSeriesItemPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),FieldId:cdk().stringToCloudFormation(properties.fieldId),Settings:convertCfnTemplateLineChartSeriesSettingsPropertyToCloudFormation(properties.settings)}):properties}function CfnTemplateFieldSeriesItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("settings","Settings",properties.Settings!=null?CfnTemplateLineChartSeriesSettingsPropertyFromCloudFormation(properties.Settings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDataFieldSeriesItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisBinding",cdk().requiredValidator)(properties.axisBinding)),errors.collect(cdk().propertyValidator("axisBinding",cdk().validateString)(properties.axisBinding)),errors.collect(cdk().propertyValidator("fieldId",cdk().requiredValidator)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldId",cdk().validateString)(properties.fieldId)),errors.collect(cdk().propertyValidator("fieldValue",cdk().validateString)(properties.fieldValue)),errors.collect(cdk().propertyValidator("settings",CfnTemplateLineChartSeriesSettingsPropertyValidator)(properties.settings)),errors.wrap('supplied properties not correct for "DataFieldSeriesItemProperty"')}function convertCfnTemplateDataFieldSeriesItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDataFieldSeriesItemPropertyValidator(properties).assertSuccess(),{AxisBinding:cdk().stringToCloudFormation(properties.axisBinding),FieldId:cdk().stringToCloudFormation(properties.fieldId),FieldValue:cdk().stringToCloudFormation(properties.fieldValue),Settings:convertCfnTemplateLineChartSeriesSettingsPropertyToCloudFormation(properties.settings)}):properties}function CfnTemplateDataFieldSeriesItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisBinding","AxisBinding",properties.AxisBinding!=null?cfn_parse().FromCloudFormation.getString(properties.AxisBinding):void 0),ret.addPropertyResult("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getString(properties.FieldId):void 0),ret.addPropertyResult("fieldValue","FieldValue",properties.FieldValue!=null?cfn_parse().FromCloudFormation.getString(properties.FieldValue):void 0),ret.addPropertyResult("settings","Settings",properties.Settings!=null?CfnTemplateLineChartSeriesSettingsPropertyFromCloudFormation(properties.Settings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSeriesItemPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataFieldSeriesItem",CfnTemplateDataFieldSeriesItemPropertyValidator)(properties.dataFieldSeriesItem)),errors.collect(cdk().propertyValidator("fieldSeriesItem",CfnTemplateFieldSeriesItemPropertyValidator)(properties.fieldSeriesItem)),errors.wrap('supplied properties not correct for "SeriesItemProperty"')}function convertCfnTemplateSeriesItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSeriesItemPropertyValidator(properties).assertSuccess(),{DataFieldSeriesItem:convertCfnTemplateDataFieldSeriesItemPropertyToCloudFormation(properties.dataFieldSeriesItem),FieldSeriesItem:convertCfnTemplateFieldSeriesItemPropertyToCloudFormation(properties.fieldSeriesItem)}):properties}function CfnTemplateSeriesItemPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataFieldSeriesItem","DataFieldSeriesItem",properties.DataFieldSeriesItem!=null?CfnTemplateDataFieldSeriesItemPropertyFromCloudFormation(properties.DataFieldSeriesItem):void 0),ret.addPropertyResult("fieldSeriesItem","FieldSeriesItem",properties.FieldSeriesItem!=null?CfnTemplateFieldSeriesItemPropertyFromCloudFormation(properties.FieldSeriesItem):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineChartAggregatedFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("category",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.category)),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.colors)),errors.collect(cdk().propertyValidator("smallMultiples",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.smallMultiples)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "LineChartAggregatedFieldWellsProperty"')}function convertCfnTemplateLineChartAggregatedFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineChartAggregatedFieldWellsPropertyValidator(properties).assertSuccess(),{Category:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.category),Colors:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.colors),SmallMultiples:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.smallMultiples),Values:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.values)}):properties}function CfnTemplateLineChartAggregatedFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Category):void 0),ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Colors):void 0),ret.addPropertyResult("smallMultiples","SmallMultiples",properties.SmallMultiples!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.SmallMultiples):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineChartFieldWellsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lineChartAggregatedFieldWells",CfnTemplateLineChartAggregatedFieldWellsPropertyValidator)(properties.lineChartAggregatedFieldWells)),errors.wrap('supplied properties not correct for "LineChartFieldWellsProperty"')}function convertCfnTemplateLineChartFieldWellsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineChartFieldWellsPropertyValidator(properties).assertSuccess(),{LineChartAggregatedFieldWells:convertCfnTemplateLineChartAggregatedFieldWellsPropertyToCloudFormation(properties.lineChartAggregatedFieldWells)}):properties}function CfnTemplateLineChartFieldWellsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lineChartAggregatedFieldWells","LineChartAggregatedFieldWells",properties.LineChartAggregatedFieldWells!=null?CfnTemplateLineChartAggregatedFieldWellsPropertyFromCloudFormation(properties.LineChartAggregatedFieldWells):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineChartConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contributionAnalysisDefaults",cdk().listValidator(CfnTemplateContributionAnalysisDefaultPropertyValidator))(properties.contributionAnalysisDefaults)),errors.collect(cdk().propertyValidator("dataLabels",CfnTemplateDataLabelOptionsPropertyValidator)(properties.dataLabels)),errors.collect(cdk().propertyValidator("defaultSeriesSettings",CfnTemplateLineChartDefaultSeriesSettingsPropertyValidator)(properties.defaultSeriesSettings)),errors.collect(cdk().propertyValidator("fieldWells",CfnTemplateLineChartFieldWellsPropertyValidator)(properties.fieldWells)),errors.collect(cdk().propertyValidator("forecastConfigurations",cdk().listValidator(CfnTemplateForecastConfigurationPropertyValidator))(properties.forecastConfigurations)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateVisualInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("legend",CfnTemplateLegendOptionsPropertyValidator)(properties.legend)),errors.collect(cdk().propertyValidator("primaryYAxisDisplayOptions",CfnTemplateLineSeriesAxisDisplayOptionsPropertyValidator)(properties.primaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("primaryYAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.primaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("referenceLines",cdk().listValidator(CfnTemplateReferenceLinePropertyValidator))(properties.referenceLines)),errors.collect(cdk().propertyValidator("secondaryYAxisDisplayOptions",CfnTemplateLineSeriesAxisDisplayOptionsPropertyValidator)(properties.secondaryYAxisDisplayOptions)),errors.collect(cdk().propertyValidator("secondaryYAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.secondaryYAxisLabelOptions)),errors.collect(cdk().propertyValidator("series",cdk().listValidator(CfnTemplateSeriesItemPropertyValidator))(properties.series)),errors.collect(cdk().propertyValidator("singleAxisOptions",CfnTemplateSingleAxisOptionsPropertyValidator)(properties.singleAxisOptions)),errors.collect(cdk().propertyValidator("smallMultiplesOptions",CfnTemplateSmallMultiplesOptionsPropertyValidator)(properties.smallMultiplesOptions)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplateLineChartSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateTooltipOptionsPropertyValidator)(properties.tooltip)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("visualPalette",CfnTemplateVisualPalettePropertyValidator)(properties.visualPalette)),errors.collect(cdk().propertyValidator("xAxisDisplayOptions",CfnTemplateAxisDisplayOptionsPropertyValidator)(properties.xAxisDisplayOptions)),errors.collect(cdk().propertyValidator("xAxisLabelOptions",CfnTemplateChartAxisLabelOptionsPropertyValidator)(properties.xAxisLabelOptions)),errors.wrap('supplied properties not correct for "LineChartConfigurationProperty"')}function convertCfnTemplateLineChartConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineChartConfigurationPropertyValidator(properties).assertSuccess(),{ContributionAnalysisDefaults:cdk().listMapper(convertCfnTemplateContributionAnalysisDefaultPropertyToCloudFormation)(properties.contributionAnalysisDefaults),DataLabels:convertCfnTemplateDataLabelOptionsPropertyToCloudFormation(properties.dataLabels),DefaultSeriesSettings:convertCfnTemplateLineChartDefaultSeriesSettingsPropertyToCloudFormation(properties.defaultSeriesSettings),FieldWells:convertCfnTemplateLineChartFieldWellsPropertyToCloudFormation(properties.fieldWells),ForecastConfigurations:cdk().listMapper(convertCfnTemplateForecastConfigurationPropertyToCloudFormation)(properties.forecastConfigurations),Interactions:convertCfnTemplateVisualInteractionOptionsPropertyToCloudFormation(properties.interactions),Legend:convertCfnTemplateLegendOptionsPropertyToCloudFormation(properties.legend),PrimaryYAxisDisplayOptions:convertCfnTemplateLineSeriesAxisDisplayOptionsPropertyToCloudFormation(properties.primaryYAxisDisplayOptions),PrimaryYAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.primaryYAxisLabelOptions),ReferenceLines:cdk().listMapper(convertCfnTemplateReferenceLinePropertyToCloudFormation)(properties.referenceLines),SecondaryYAxisDisplayOptions:convertCfnTemplateLineSeriesAxisDisplayOptionsPropertyToCloudFormation(properties.secondaryYAxisDisplayOptions),SecondaryYAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.secondaryYAxisLabelOptions),Series:cdk().listMapper(convertCfnTemplateSeriesItemPropertyToCloudFormation)(properties.series),SingleAxisOptions:convertCfnTemplateSingleAxisOptionsPropertyToCloudFormation(properties.singleAxisOptions),SmallMultiplesOptions:convertCfnTemplateSmallMultiplesOptionsPropertyToCloudFormation(properties.smallMultiplesOptions),SortConfiguration:convertCfnTemplateLineChartSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),Tooltip:convertCfnTemplateTooltipOptionsPropertyToCloudFormation(properties.tooltip),Type:cdk().stringToCloudFormation(properties.type),VisualPalette:convertCfnTemplateVisualPalettePropertyToCloudFormation(properties.visualPalette),XAxisDisplayOptions:convertCfnTemplateAxisDisplayOptionsPropertyToCloudFormation(properties.xAxisDisplayOptions),XAxisLabelOptions:convertCfnTemplateChartAxisLabelOptionsPropertyToCloudFormation(properties.xAxisLabelOptions)}):properties}function CfnTemplateLineChartConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contributionAnalysisDefaults","ContributionAnalysisDefaults",properties.ContributionAnalysisDefaults!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateContributionAnalysisDefaultPropertyFromCloudFormation)(properties.ContributionAnalysisDefaults):void 0),ret.addPropertyResult("dataLabels","DataLabels",properties.DataLabels!=null?CfnTemplateDataLabelOptionsPropertyFromCloudFormation(properties.DataLabels):void 0),ret.addPropertyResult("defaultSeriesSettings","DefaultSeriesSettings",properties.DefaultSeriesSettings!=null?CfnTemplateLineChartDefaultSeriesSettingsPropertyFromCloudFormation(properties.DefaultSeriesSettings):void 0),ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?CfnTemplateLineChartFieldWellsPropertyFromCloudFormation(properties.FieldWells):void 0),ret.addPropertyResult("forecastConfigurations","ForecastConfigurations",properties.ForecastConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateForecastConfigurationPropertyFromCloudFormation)(properties.ForecastConfigurations):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateVisualInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("legend","Legend",properties.Legend!=null?CfnTemplateLegendOptionsPropertyFromCloudFormation(properties.Legend):void 0),ret.addPropertyResult("primaryYAxisDisplayOptions","PrimaryYAxisDisplayOptions",properties.PrimaryYAxisDisplayOptions!=null?CfnTemplateLineSeriesAxisDisplayOptionsPropertyFromCloudFormation(properties.PrimaryYAxisDisplayOptions):void 0),ret.addPropertyResult("primaryYAxisLabelOptions","PrimaryYAxisLabelOptions",properties.PrimaryYAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.PrimaryYAxisLabelOptions):void 0),ret.addPropertyResult("referenceLines","ReferenceLines",properties.ReferenceLines!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateReferenceLinePropertyFromCloudFormation)(properties.ReferenceLines):void 0),ret.addPropertyResult("secondaryYAxisDisplayOptions","SecondaryYAxisDisplayOptions",properties.SecondaryYAxisDisplayOptions!=null?CfnTemplateLineSeriesAxisDisplayOptionsPropertyFromCloudFormation(properties.SecondaryYAxisDisplayOptions):void 0),ret.addPropertyResult("secondaryYAxisLabelOptions","SecondaryYAxisLabelOptions",properties.SecondaryYAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.SecondaryYAxisLabelOptions):void 0),ret.addPropertyResult("series","Series",properties.Series!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateSeriesItemPropertyFromCloudFormation)(properties.Series):void 0),ret.addPropertyResult("singleAxisOptions","SingleAxisOptions",properties.SingleAxisOptions!=null?CfnTemplateSingleAxisOptionsPropertyFromCloudFormation(properties.SingleAxisOptions):void 0),ret.addPropertyResult("smallMultiplesOptions","SmallMultiplesOptions",properties.SmallMultiplesOptions!=null?CfnTemplateSmallMultiplesOptionsPropertyFromCloudFormation(properties.SmallMultiplesOptions):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplateLineChartSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateTooltipOptionsPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("visualPalette","VisualPalette",properties.VisualPalette!=null?CfnTemplateVisualPalettePropertyFromCloudFormation(properties.VisualPalette):void 0),ret.addPropertyResult("xAxisDisplayOptions","XAxisDisplayOptions",properties.XAxisDisplayOptions!=null?CfnTemplateAxisDisplayOptionsPropertyFromCloudFormation(properties.XAxisDisplayOptions):void 0),ret.addPropertyResult("xAxisLabelOptions","XAxisLabelOptions",properties.XAxisLabelOptions!=null?CfnTemplateChartAxisLabelOptionsPropertyFromCloudFormation(properties.XAxisLabelOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateLineChartVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplateLineChartConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("columnHierarchies",cdk().listValidator(CfnTemplateColumnHierarchyPropertyValidator))(properties.columnHierarchies)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "LineChartVisualProperty"')}function convertCfnTemplateLineChartVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateLineChartVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),ChartConfiguration:convertCfnTemplateLineChartConfigurationPropertyToCloudFormation(properties.chartConfiguration),ColumnHierarchies:cdk().listMapper(convertCfnTemplateColumnHierarchyPropertyToCloudFormation)(properties.columnHierarchies),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateLineChartVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplateLineChartConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("columnHierarchies","ColumnHierarchies",properties.ColumnHierarchies!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnHierarchyPropertyFromCloudFormation)(properties.ColumnHierarchies):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateEmptyVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateVisualCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "EmptyVisualProperty"')}function convertCfnTemplateEmptyVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateEmptyVisualPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateVisualCustomActionPropertyToCloudFormation)(properties.actions),DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplateEmptyVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePluginVisualItemsLimitConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("itemsLimit",cdk().validateNumber)(properties.itemsLimit)),errors.wrap('supplied properties not correct for "PluginVisualItemsLimitConfigurationProperty"')}function convertCfnTemplatePluginVisualItemsLimitConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePluginVisualItemsLimitConfigurationPropertyValidator(properties).assertSuccess(),{ItemsLimit:cdk().numberToCloudFormation(properties.itemsLimit)}):properties}function CfnTemplatePluginVisualItemsLimitConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("itemsLimit","ItemsLimit",properties.ItemsLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.ItemsLimit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePluginVisualTableQuerySortPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("itemsLimitConfiguration",CfnTemplatePluginVisualItemsLimitConfigurationPropertyValidator)(properties.itemsLimitConfiguration)),errors.collect(cdk().propertyValidator("rowSort",cdk().listValidator(CfnTemplateFieldSortOptionsPropertyValidator))(properties.rowSort)),errors.wrap('supplied properties not correct for "PluginVisualTableQuerySortProperty"')}function convertCfnTemplatePluginVisualTableQuerySortPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePluginVisualTableQuerySortPropertyValidator(properties).assertSuccess(),{ItemsLimitConfiguration:convertCfnTemplatePluginVisualItemsLimitConfigurationPropertyToCloudFormation(properties.itemsLimitConfiguration),RowSort:cdk().listMapper(convertCfnTemplateFieldSortOptionsPropertyToCloudFormation)(properties.rowSort)}):properties}function CfnTemplatePluginVisualTableQuerySortPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("itemsLimitConfiguration","ItemsLimitConfiguration",properties.ItemsLimitConfiguration!=null?CfnTemplatePluginVisualItemsLimitConfigurationPropertyFromCloudFormation(properties.ItemsLimitConfiguration):void 0),ret.addPropertyResult("rowSort","RowSort",properties.RowSort!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFieldSortOptionsPropertyFromCloudFormation)(properties.RowSort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePluginVisualSortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("pluginVisualTableQuerySort",CfnTemplatePluginVisualTableQuerySortPropertyValidator)(properties.pluginVisualTableQuerySort)),errors.wrap('supplied properties not correct for "PluginVisualSortConfigurationProperty"')}function convertCfnTemplatePluginVisualSortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePluginVisualSortConfigurationPropertyValidator(properties).assertSuccess(),{PluginVisualTableQuerySort:convertCfnTemplatePluginVisualTableQuerySortPropertyToCloudFormation(properties.pluginVisualTableQuerySort)}):properties}function CfnTemplatePluginVisualSortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("pluginVisualTableQuerySort","PluginVisualTableQuerySort",properties.PluginVisualTableQuerySort!=null?CfnTemplatePluginVisualTableQuerySortPropertyFromCloudFormation(properties.PluginVisualTableQuerySort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePluginVisualPropertyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "PluginVisualPropertyProperty"')}function convertCfnTemplatePluginVisualPropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePluginVisualPropertyPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnTemplatePluginVisualPropertyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePluginVisualOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("visualProperties",cdk().listValidator(CfnTemplatePluginVisualPropertyPropertyValidator))(properties.visualProperties)),errors.wrap('supplied properties not correct for "PluginVisualOptionsProperty"')}function convertCfnTemplatePluginVisualOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePluginVisualOptionsPropertyValidator(properties).assertSuccess(),{VisualProperties:cdk().listMapper(convertCfnTemplatePluginVisualPropertyPropertyToCloudFormation)(properties.visualProperties)}):properties}function CfnTemplatePluginVisualOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("visualProperties","VisualProperties",properties.VisualProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplatePluginVisualPropertyPropertyFromCloudFormation)(properties.VisualProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePluginVisualFieldWellPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("axisName",cdk().validateString)(properties.axisName)),errors.collect(cdk().propertyValidator("dimensions",cdk().listValidator(CfnTemplateDimensionFieldPropertyValidator))(properties.dimensions)),errors.collect(cdk().propertyValidator("measures",cdk().listValidator(CfnTemplateMeasureFieldPropertyValidator))(properties.measures)),errors.collect(cdk().propertyValidator("unaggregated",cdk().listValidator(CfnTemplateUnaggregatedFieldPropertyValidator))(properties.unaggregated)),errors.wrap('supplied properties not correct for "PluginVisualFieldWellProperty"')}function convertCfnTemplatePluginVisualFieldWellPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePluginVisualFieldWellPropertyValidator(properties).assertSuccess(),{AxisName:cdk().stringToCloudFormation(properties.axisName),Dimensions:cdk().listMapper(convertCfnTemplateDimensionFieldPropertyToCloudFormation)(properties.dimensions),Measures:cdk().listMapper(convertCfnTemplateMeasureFieldPropertyToCloudFormation)(properties.measures),Unaggregated:cdk().listMapper(convertCfnTemplateUnaggregatedFieldPropertyToCloudFormation)(properties.unaggregated)}):properties}function CfnTemplatePluginVisualFieldWellPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("axisName","AxisName",properties.AxisName!=null?cfn_parse().FromCloudFormation.getString(properties.AxisName):void 0),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDimensionFieldPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("measures","Measures",properties.Measures!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMeasureFieldPropertyFromCloudFormation)(properties.Measures):void 0),ret.addPropertyResult("unaggregated","Unaggregated",properties.Unaggregated!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateUnaggregatedFieldPropertyFromCloudFormation)(properties.Unaggregated):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePluginVisualConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldWells",cdk().listValidator(CfnTemplatePluginVisualFieldWellPropertyValidator))(properties.fieldWells)),errors.collect(cdk().propertyValidator("sortConfiguration",CfnTemplatePluginVisualSortConfigurationPropertyValidator)(properties.sortConfiguration)),errors.collect(cdk().propertyValidator("visualOptions",CfnTemplatePluginVisualOptionsPropertyValidator)(properties.visualOptions)),errors.wrap('supplied properties not correct for "PluginVisualConfigurationProperty"')}function convertCfnTemplatePluginVisualConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePluginVisualConfigurationPropertyValidator(properties).assertSuccess(),{FieldWells:cdk().listMapper(convertCfnTemplatePluginVisualFieldWellPropertyToCloudFormation)(properties.fieldWells),SortConfiguration:convertCfnTemplatePluginVisualSortConfigurationPropertyToCloudFormation(properties.sortConfiguration),VisualOptions:convertCfnTemplatePluginVisualOptionsPropertyToCloudFormation(properties.visualOptions)}):properties}function CfnTemplatePluginVisualConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldWells","FieldWells",properties.FieldWells!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplatePluginVisualFieldWellPropertyFromCloudFormation)(properties.FieldWells):void 0),ret.addPropertyResult("sortConfiguration","SortConfiguration",properties.SortConfiguration!=null?CfnTemplatePluginVisualSortConfigurationPropertyFromCloudFormation(properties.SortConfiguration):void 0),ret.addPropertyResult("visualOptions","VisualOptions",properties.VisualOptions!=null?CfnTemplatePluginVisualOptionsPropertyFromCloudFormation(properties.VisualOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePluginVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("chartConfiguration",CfnTemplatePluginVisualConfigurationPropertyValidator)(properties.chartConfiguration)),errors.collect(cdk().propertyValidator("pluginArn",cdk().requiredValidator)(properties.pluginArn)),errors.collect(cdk().propertyValidator("pluginArn",cdk().validateString)(properties.pluginArn)),errors.collect(cdk().propertyValidator("subtitle",CfnTemplateVisualSubtitleLabelOptionsPropertyValidator)(properties.subtitle)),errors.collect(cdk().propertyValidator("title",CfnTemplateVisualTitleLabelOptionsPropertyValidator)(properties.title)),errors.collect(cdk().propertyValidator("visualContentAltText",cdk().validateString)(properties.visualContentAltText)),errors.collect(cdk().propertyValidator("visualId",cdk().requiredValidator)(properties.visualId)),errors.collect(cdk().propertyValidator("visualId",cdk().validateString)(properties.visualId)),errors.wrap('supplied properties not correct for "PluginVisualProperty"')}function convertCfnTemplatePluginVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePluginVisualPropertyValidator(properties).assertSuccess(),{ChartConfiguration:convertCfnTemplatePluginVisualConfigurationPropertyToCloudFormation(properties.chartConfiguration),PluginArn:cdk().stringToCloudFormation(properties.pluginArn),Subtitle:convertCfnTemplateVisualSubtitleLabelOptionsPropertyToCloudFormation(properties.subtitle),Title:convertCfnTemplateVisualTitleLabelOptionsPropertyToCloudFormation(properties.title),VisualContentAltText:cdk().stringToCloudFormation(properties.visualContentAltText),VisualId:cdk().stringToCloudFormation(properties.visualId)}):properties}function CfnTemplatePluginVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("chartConfiguration","ChartConfiguration",properties.ChartConfiguration!=null?CfnTemplatePluginVisualConfigurationPropertyFromCloudFormation(properties.ChartConfiguration):void 0),ret.addPropertyResult("pluginArn","PluginArn",properties.PluginArn!=null?cfn_parse().FromCloudFormation.getString(properties.PluginArn):void 0),ret.addPropertyResult("subtitle","Subtitle",properties.Subtitle!=null?CfnTemplateVisualSubtitleLabelOptionsPropertyFromCloudFormation(properties.Subtitle):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?CfnTemplateVisualTitleLabelOptionsPropertyFromCloudFormation(properties.Title):void 0),ret.addPropertyResult("visualContentAltText","VisualContentAltText",properties.VisualContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.VisualContentAltText):void 0),ret.addPropertyResult("visualId","VisualId",properties.VisualId!=null?cfn_parse().FromCloudFormation.getString(properties.VisualId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateVisualPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("barChartVisual",CfnTemplateBarChartVisualPropertyValidator)(properties.barChartVisual)),errors.collect(cdk().propertyValidator("boxPlotVisual",CfnTemplateBoxPlotVisualPropertyValidator)(properties.boxPlotVisual)),errors.collect(cdk().propertyValidator("comboChartVisual",CfnTemplateComboChartVisualPropertyValidator)(properties.comboChartVisual)),errors.collect(cdk().propertyValidator("customContentVisual",CfnTemplateCustomContentVisualPropertyValidator)(properties.customContentVisual)),errors.collect(cdk().propertyValidator("emptyVisual",CfnTemplateEmptyVisualPropertyValidator)(properties.emptyVisual)),errors.collect(cdk().propertyValidator("filledMapVisual",CfnTemplateFilledMapVisualPropertyValidator)(properties.filledMapVisual)),errors.collect(cdk().propertyValidator("funnelChartVisual",CfnTemplateFunnelChartVisualPropertyValidator)(properties.funnelChartVisual)),errors.collect(cdk().propertyValidator("gaugeChartVisual",CfnTemplateGaugeChartVisualPropertyValidator)(properties.gaugeChartVisual)),errors.collect(cdk().propertyValidator("geospatialMapVisual",CfnTemplateGeospatialMapVisualPropertyValidator)(properties.geospatialMapVisual)),errors.collect(cdk().propertyValidator("heatMapVisual",CfnTemplateHeatMapVisualPropertyValidator)(properties.heatMapVisual)),errors.collect(cdk().propertyValidator("histogramVisual",CfnTemplateHistogramVisualPropertyValidator)(properties.histogramVisual)),errors.collect(cdk().propertyValidator("insightVisual",CfnTemplateInsightVisualPropertyValidator)(properties.insightVisual)),errors.collect(cdk().propertyValidator("kpiVisual",CfnTemplateKPIVisualPropertyValidator)(properties.kpiVisual)),errors.collect(cdk().propertyValidator("lineChartVisual",CfnTemplateLineChartVisualPropertyValidator)(properties.lineChartVisual)),errors.collect(cdk().propertyValidator("pieChartVisual",CfnTemplatePieChartVisualPropertyValidator)(properties.pieChartVisual)),errors.collect(cdk().propertyValidator("pivotTableVisual",CfnTemplatePivotTableVisualPropertyValidator)(properties.pivotTableVisual)),errors.collect(cdk().propertyValidator("pluginVisual",CfnTemplatePluginVisualPropertyValidator)(properties.pluginVisual)),errors.collect(cdk().propertyValidator("radarChartVisual",CfnTemplateRadarChartVisualPropertyValidator)(properties.radarChartVisual)),errors.collect(cdk().propertyValidator("sankeyDiagramVisual",CfnTemplateSankeyDiagramVisualPropertyValidator)(properties.sankeyDiagramVisual)),errors.collect(cdk().propertyValidator("scatterPlotVisual",CfnTemplateScatterPlotVisualPropertyValidator)(properties.scatterPlotVisual)),errors.collect(cdk().propertyValidator("tableVisual",CfnTemplateTableVisualPropertyValidator)(properties.tableVisual)),errors.collect(cdk().propertyValidator("treeMapVisual",CfnTemplateTreeMapVisualPropertyValidator)(properties.treeMapVisual)),errors.collect(cdk().propertyValidator("waterfallVisual",CfnTemplateWaterfallVisualPropertyValidator)(properties.waterfallVisual)),errors.collect(cdk().propertyValidator("wordCloudVisual",CfnTemplateWordCloudVisualPropertyValidator)(properties.wordCloudVisual)),errors.wrap('supplied properties not correct for "VisualProperty"')}function convertCfnTemplateVisualPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateVisualPropertyValidator(properties).assertSuccess(),{BarChartVisual:convertCfnTemplateBarChartVisualPropertyToCloudFormation(properties.barChartVisual),BoxPlotVisual:convertCfnTemplateBoxPlotVisualPropertyToCloudFormation(properties.boxPlotVisual),ComboChartVisual:convertCfnTemplateComboChartVisualPropertyToCloudFormation(properties.comboChartVisual),CustomContentVisual:convertCfnTemplateCustomContentVisualPropertyToCloudFormation(properties.customContentVisual),EmptyVisual:convertCfnTemplateEmptyVisualPropertyToCloudFormation(properties.emptyVisual),FilledMapVisual:convertCfnTemplateFilledMapVisualPropertyToCloudFormation(properties.filledMapVisual),FunnelChartVisual:convertCfnTemplateFunnelChartVisualPropertyToCloudFormation(properties.funnelChartVisual),GaugeChartVisual:convertCfnTemplateGaugeChartVisualPropertyToCloudFormation(properties.gaugeChartVisual),GeospatialMapVisual:convertCfnTemplateGeospatialMapVisualPropertyToCloudFormation(properties.geospatialMapVisual),HeatMapVisual:convertCfnTemplateHeatMapVisualPropertyToCloudFormation(properties.heatMapVisual),HistogramVisual:convertCfnTemplateHistogramVisualPropertyToCloudFormation(properties.histogramVisual),InsightVisual:convertCfnTemplateInsightVisualPropertyToCloudFormation(properties.insightVisual),KPIVisual:convertCfnTemplateKPIVisualPropertyToCloudFormation(properties.kpiVisual),LineChartVisual:convertCfnTemplateLineChartVisualPropertyToCloudFormation(properties.lineChartVisual),PieChartVisual:convertCfnTemplatePieChartVisualPropertyToCloudFormation(properties.pieChartVisual),PivotTableVisual:convertCfnTemplatePivotTableVisualPropertyToCloudFormation(properties.pivotTableVisual),PluginVisual:convertCfnTemplatePluginVisualPropertyToCloudFormation(properties.pluginVisual),RadarChartVisual:convertCfnTemplateRadarChartVisualPropertyToCloudFormation(properties.radarChartVisual),SankeyDiagramVisual:convertCfnTemplateSankeyDiagramVisualPropertyToCloudFormation(properties.sankeyDiagramVisual),ScatterPlotVisual:convertCfnTemplateScatterPlotVisualPropertyToCloudFormation(properties.scatterPlotVisual),TableVisual:convertCfnTemplateTableVisualPropertyToCloudFormation(properties.tableVisual),TreeMapVisual:convertCfnTemplateTreeMapVisualPropertyToCloudFormation(properties.treeMapVisual),WaterfallVisual:convertCfnTemplateWaterfallVisualPropertyToCloudFormation(properties.waterfallVisual),WordCloudVisual:convertCfnTemplateWordCloudVisualPropertyToCloudFormation(properties.wordCloudVisual)}):properties}function CfnTemplateVisualPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("barChartVisual","BarChartVisual",properties.BarChartVisual!=null?CfnTemplateBarChartVisualPropertyFromCloudFormation(properties.BarChartVisual):void 0),ret.addPropertyResult("boxPlotVisual","BoxPlotVisual",properties.BoxPlotVisual!=null?CfnTemplateBoxPlotVisualPropertyFromCloudFormation(properties.BoxPlotVisual):void 0),ret.addPropertyResult("comboChartVisual","ComboChartVisual",properties.ComboChartVisual!=null?CfnTemplateComboChartVisualPropertyFromCloudFormation(properties.ComboChartVisual):void 0),ret.addPropertyResult("customContentVisual","CustomContentVisual",properties.CustomContentVisual!=null?CfnTemplateCustomContentVisualPropertyFromCloudFormation(properties.CustomContentVisual):void 0),ret.addPropertyResult("emptyVisual","EmptyVisual",properties.EmptyVisual!=null?CfnTemplateEmptyVisualPropertyFromCloudFormation(properties.EmptyVisual):void 0),ret.addPropertyResult("filledMapVisual","FilledMapVisual",properties.FilledMapVisual!=null?CfnTemplateFilledMapVisualPropertyFromCloudFormation(properties.FilledMapVisual):void 0),ret.addPropertyResult("funnelChartVisual","FunnelChartVisual",properties.FunnelChartVisual!=null?CfnTemplateFunnelChartVisualPropertyFromCloudFormation(properties.FunnelChartVisual):void 0),ret.addPropertyResult("gaugeChartVisual","GaugeChartVisual",properties.GaugeChartVisual!=null?CfnTemplateGaugeChartVisualPropertyFromCloudFormation(properties.GaugeChartVisual):void 0),ret.addPropertyResult("geospatialMapVisual","GeospatialMapVisual",properties.GeospatialMapVisual!=null?CfnTemplateGeospatialMapVisualPropertyFromCloudFormation(properties.GeospatialMapVisual):void 0),ret.addPropertyResult("heatMapVisual","HeatMapVisual",properties.HeatMapVisual!=null?CfnTemplateHeatMapVisualPropertyFromCloudFormation(properties.HeatMapVisual):void 0),ret.addPropertyResult("histogramVisual","HistogramVisual",properties.HistogramVisual!=null?CfnTemplateHistogramVisualPropertyFromCloudFormation(properties.HistogramVisual):void 0),ret.addPropertyResult("insightVisual","InsightVisual",properties.InsightVisual!=null?CfnTemplateInsightVisualPropertyFromCloudFormation(properties.InsightVisual):void 0),ret.addPropertyResult("kpiVisual","KPIVisual",properties.KPIVisual!=null?CfnTemplateKPIVisualPropertyFromCloudFormation(properties.KPIVisual):void 0),ret.addPropertyResult("lineChartVisual","LineChartVisual",properties.LineChartVisual!=null?CfnTemplateLineChartVisualPropertyFromCloudFormation(properties.LineChartVisual):void 0),ret.addPropertyResult("pieChartVisual","PieChartVisual",properties.PieChartVisual!=null?CfnTemplatePieChartVisualPropertyFromCloudFormation(properties.PieChartVisual):void 0),ret.addPropertyResult("pivotTableVisual","PivotTableVisual",properties.PivotTableVisual!=null?CfnTemplatePivotTableVisualPropertyFromCloudFormation(properties.PivotTableVisual):void 0),ret.addPropertyResult("pluginVisual","PluginVisual",properties.PluginVisual!=null?CfnTemplatePluginVisualPropertyFromCloudFormation(properties.PluginVisual):void 0),ret.addPropertyResult("radarChartVisual","RadarChartVisual",properties.RadarChartVisual!=null?CfnTemplateRadarChartVisualPropertyFromCloudFormation(properties.RadarChartVisual):void 0),ret.addPropertyResult("sankeyDiagramVisual","SankeyDiagramVisual",properties.SankeyDiagramVisual!=null?CfnTemplateSankeyDiagramVisualPropertyFromCloudFormation(properties.SankeyDiagramVisual):void 0),ret.addPropertyResult("scatterPlotVisual","ScatterPlotVisual",properties.ScatterPlotVisual!=null?CfnTemplateScatterPlotVisualPropertyFromCloudFormation(properties.ScatterPlotVisual):void 0),ret.addPropertyResult("tableVisual","TableVisual",properties.TableVisual!=null?CfnTemplateTableVisualPropertyFromCloudFormation(properties.TableVisual):void 0),ret.addPropertyResult("treeMapVisual","TreeMapVisual",properties.TreeMapVisual!=null?CfnTemplateTreeMapVisualPropertyFromCloudFormation(properties.TreeMapVisual):void 0),ret.addPropertyResult("waterfallVisual","WaterfallVisual",properties.WaterfallVisual!=null?CfnTemplateWaterfallVisualPropertyFromCloudFormation(properties.WaterfallVisual):void 0),ret.addPropertyResult("wordCloudVisual","WordCloudVisual",properties.WordCloudVisual!=null?CfnTemplateWordCloudVisualPropertyFromCloudFormation(properties.WordCloudVisual):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateImageCustomActionOperationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("navigationOperation",CfnTemplateCustomActionNavigationOperationPropertyValidator)(properties.navigationOperation)),errors.collect(cdk().propertyValidator("setParametersOperation",CfnTemplateCustomActionSetParametersOperationPropertyValidator)(properties.setParametersOperation)),errors.collect(cdk().propertyValidator("urlOperation",CfnTemplateCustomActionURLOperationPropertyValidator)(properties.urlOperation)),errors.wrap('supplied properties not correct for "ImageCustomActionOperationProperty"')}function convertCfnTemplateImageCustomActionOperationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateImageCustomActionOperationPropertyValidator(properties).assertSuccess(),{NavigationOperation:convertCfnTemplateCustomActionNavigationOperationPropertyToCloudFormation(properties.navigationOperation),SetParametersOperation:convertCfnTemplateCustomActionSetParametersOperationPropertyToCloudFormation(properties.setParametersOperation),URLOperation:convertCfnTemplateCustomActionURLOperationPropertyToCloudFormation(properties.urlOperation)}):properties}function CfnTemplateImageCustomActionOperationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("navigationOperation","NavigationOperation",properties.NavigationOperation!=null?CfnTemplateCustomActionNavigationOperationPropertyFromCloudFormation(properties.NavigationOperation):void 0),ret.addPropertyResult("setParametersOperation","SetParametersOperation",properties.SetParametersOperation!=null?CfnTemplateCustomActionSetParametersOperationPropertyFromCloudFormation(properties.SetParametersOperation):void 0),ret.addPropertyResult("urlOperation","URLOperation",properties.URLOperation!=null?CfnTemplateCustomActionURLOperationPropertyFromCloudFormation(properties.URLOperation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateImageCustomActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actionOperations",cdk().requiredValidator)(properties.actionOperations)),errors.collect(cdk().propertyValidator("actionOperations",cdk().listValidator(CfnTemplateImageCustomActionOperationPropertyValidator))(properties.actionOperations)),errors.collect(cdk().propertyValidator("customActionId",cdk().requiredValidator)(properties.customActionId)),errors.collect(cdk().propertyValidator("customActionId",cdk().validateString)(properties.customActionId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("trigger",cdk().requiredValidator)(properties.trigger)),errors.collect(cdk().propertyValidator("trigger",cdk().validateString)(properties.trigger)),errors.wrap('supplied properties not correct for "ImageCustomActionProperty"')}function convertCfnTemplateImageCustomActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateImageCustomActionPropertyValidator(properties).assertSuccess(),{ActionOperations:cdk().listMapper(convertCfnTemplateImageCustomActionOperationPropertyToCloudFormation)(properties.actionOperations),CustomActionId:cdk().stringToCloudFormation(properties.customActionId),Name:cdk().stringToCloudFormation(properties.name),Status:cdk().stringToCloudFormation(properties.status),Trigger:cdk().stringToCloudFormation(properties.trigger)}):properties}function CfnTemplateImageCustomActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOperations","ActionOperations",properties.ActionOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateImageCustomActionOperationPropertyFromCloudFormation)(properties.ActionOperations):void 0),ret.addPropertyResult("customActionId","CustomActionId",properties.CustomActionId!=null?cfn_parse().FromCloudFormation.getString(properties.CustomActionId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("trigger","Trigger",properties.Trigger!=null?cfn_parse().FromCloudFormation.getString(properties.Trigger):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetImageTooltipTextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("plainText",cdk().validateString)(properties.plainText)),errors.wrap('supplied properties not correct for "SheetImageTooltipTextProperty"')}function convertCfnTemplateSheetImageTooltipTextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetImageTooltipTextPropertyValidator(properties).assertSuccess(),{PlainText:cdk().stringToCloudFormation(properties.plainText)}):properties}function CfnTemplateSheetImageTooltipTextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("plainText","PlainText",properties.PlainText!=null?cfn_parse().FromCloudFormation.getString(properties.PlainText):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetImageTooltipConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tooltipText",CfnTemplateSheetImageTooltipTextPropertyValidator)(properties.tooltipText)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "SheetImageTooltipConfigurationProperty"')}function convertCfnTemplateSheetImageTooltipConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetImageTooltipConfigurationPropertyValidator(properties).assertSuccess(),{TooltipText:convertCfnTemplateSheetImageTooltipTextPropertyToCloudFormation(properties.tooltipText),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnTemplateSheetImageTooltipConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tooltipText","TooltipText",properties.TooltipText!=null?CfnTemplateSheetImageTooltipTextPropertyFromCloudFormation(properties.TooltipText):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetImageScalingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scalingType",cdk().validateString)(properties.scalingType)),errors.wrap('supplied properties not correct for "SheetImageScalingConfigurationProperty"')}function convertCfnTemplateSheetImageScalingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetImageScalingConfigurationPropertyValidator(properties).assertSuccess(),{ScalingType:cdk().stringToCloudFormation(properties.scalingType)}):properties}function CfnTemplateSheetImageScalingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scalingType","ScalingType",properties.ScalingType!=null?cfn_parse().FromCloudFormation.getString(properties.ScalingType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateImageMenuOptionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.wrap('supplied properties not correct for "ImageMenuOptionProperty"')}function convertCfnTemplateImageMenuOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateImageMenuOptionPropertyValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus)}):properties}function CfnTemplateImageMenuOptionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateImageInteractionOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("imageMenuOption",CfnTemplateImageMenuOptionPropertyValidator)(properties.imageMenuOption)),errors.wrap('supplied properties not correct for "ImageInteractionOptionsProperty"')}function convertCfnTemplateImageInteractionOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateImageInteractionOptionsPropertyValidator(properties).assertSuccess(),{ImageMenuOption:convertCfnTemplateImageMenuOptionPropertyToCloudFormation(properties.imageMenuOption)}):properties}function CfnTemplateImageInteractionOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("imageMenuOption","ImageMenuOption",properties.ImageMenuOption!=null?CfnTemplateImageMenuOptionPropertyFromCloudFormation(properties.ImageMenuOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetImageStaticFileSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("staticFileId",cdk().requiredValidator)(properties.staticFileId)),errors.collect(cdk().propertyValidator("staticFileId",cdk().validateString)(properties.staticFileId)),errors.wrap('supplied properties not correct for "SheetImageStaticFileSourceProperty"')}function convertCfnTemplateSheetImageStaticFileSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetImageStaticFileSourcePropertyValidator(properties).assertSuccess(),{StaticFileId:cdk().stringToCloudFormation(properties.staticFileId)}):properties}function CfnTemplateSheetImageStaticFileSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("staticFileId","StaticFileId",properties.StaticFileId!=null?cfn_parse().FromCloudFormation.getString(properties.StaticFileId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetImageSourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sheetImageStaticFileSource",CfnTemplateSheetImageStaticFileSourcePropertyValidator)(properties.sheetImageStaticFileSource)),errors.wrap('supplied properties not correct for "SheetImageSourceProperty"')}function convertCfnTemplateSheetImageSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetImageSourcePropertyValidator(properties).assertSuccess(),{SheetImageStaticFileSource:convertCfnTemplateSheetImageStaticFileSourcePropertyToCloudFormation(properties.sheetImageStaticFileSource)}):properties}function CfnTemplateSheetImageSourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sheetImageStaticFileSource","SheetImageStaticFileSource",properties.SheetImageStaticFileSource!=null?CfnTemplateSheetImageStaticFileSourcePropertyFromCloudFormation(properties.SheetImageStaticFileSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetImagePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(CfnTemplateImageCustomActionPropertyValidator))(properties.actions)),errors.collect(cdk().propertyValidator("imageContentAltText",cdk().validateString)(properties.imageContentAltText)),errors.collect(cdk().propertyValidator("interactions",CfnTemplateImageInteractionOptionsPropertyValidator)(properties.interactions)),errors.collect(cdk().propertyValidator("scaling",CfnTemplateSheetImageScalingConfigurationPropertyValidator)(properties.scaling)),errors.collect(cdk().propertyValidator("sheetImageId",cdk().requiredValidator)(properties.sheetImageId)),errors.collect(cdk().propertyValidator("sheetImageId",cdk().validateString)(properties.sheetImageId)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnTemplateSheetImageSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("tooltip",CfnTemplateSheetImageTooltipConfigurationPropertyValidator)(properties.tooltip)),errors.wrap('supplied properties not correct for "SheetImageProperty"')}function convertCfnTemplateSheetImagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetImagePropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(convertCfnTemplateImageCustomActionPropertyToCloudFormation)(properties.actions),ImageContentAltText:cdk().stringToCloudFormation(properties.imageContentAltText),Interactions:convertCfnTemplateImageInteractionOptionsPropertyToCloudFormation(properties.interactions),Scaling:convertCfnTemplateSheetImageScalingConfigurationPropertyToCloudFormation(properties.scaling),SheetImageId:cdk().stringToCloudFormation(properties.sheetImageId),Source:convertCfnTemplateSheetImageSourcePropertyToCloudFormation(properties.source),Tooltip:convertCfnTemplateSheetImageTooltipConfigurationPropertyToCloudFormation(properties.tooltip)}):properties}function CfnTemplateSheetImagePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateImageCustomActionPropertyFromCloudFormation)(properties.Actions):void 0),ret.addPropertyResult("imageContentAltText","ImageContentAltText",properties.ImageContentAltText!=null?cfn_parse().FromCloudFormation.getString(properties.ImageContentAltText):void 0),ret.addPropertyResult("interactions","Interactions",properties.Interactions!=null?CfnTemplateImageInteractionOptionsPropertyFromCloudFormation(properties.Interactions):void 0),ret.addPropertyResult("scaling","Scaling",properties.Scaling!=null?CfnTemplateSheetImageScalingConfigurationPropertyFromCloudFormation(properties.Scaling):void 0),ret.addPropertyResult("sheetImageId","SheetImageId",properties.SheetImageId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetImageId):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnTemplateSheetImageSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("tooltip","Tooltip",properties.Tooltip!=null?CfnTemplateSheetImageTooltipConfigurationPropertyFromCloudFormation(properties.Tooltip):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("filterControls",cdk().listValidator(CfnTemplateFilterControlPropertyValidator))(properties.filterControls)),errors.collect(cdk().propertyValidator("images",cdk().listValidator(CfnTemplateSheetImagePropertyValidator))(properties.images)),errors.collect(cdk().propertyValidator("layouts",cdk().listValidator(CfnTemplateLayoutPropertyValidator))(properties.layouts)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterControls",cdk().listValidator(CfnTemplateParameterControlPropertyValidator))(properties.parameterControls)),errors.collect(cdk().propertyValidator("sheetControlLayouts",cdk().listValidator(CfnTemplateSheetControlLayoutPropertyValidator))(properties.sheetControlLayouts)),errors.collect(cdk().propertyValidator("sheetId",cdk().requiredValidator)(properties.sheetId)),errors.collect(cdk().propertyValidator("sheetId",cdk().validateString)(properties.sheetId)),errors.collect(cdk().propertyValidator("textBoxes",cdk().listValidator(CfnTemplateSheetTextBoxPropertyValidator))(properties.textBoxes)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("visuals",cdk().listValidator(CfnTemplateVisualPropertyValidator))(properties.visuals)),errors.wrap('supplied properties not correct for "SheetDefinitionProperty"')}function convertCfnTemplateSheetDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetDefinitionPropertyValidator(properties).assertSuccess(),{ContentType:cdk().stringToCloudFormation(properties.contentType),Description:cdk().stringToCloudFormation(properties.description),FilterControls:cdk().listMapper(convertCfnTemplateFilterControlPropertyToCloudFormation)(properties.filterControls),Images:cdk().listMapper(convertCfnTemplateSheetImagePropertyToCloudFormation)(properties.images),Layouts:cdk().listMapper(convertCfnTemplateLayoutPropertyToCloudFormation)(properties.layouts),Name:cdk().stringToCloudFormation(properties.name),ParameterControls:cdk().listMapper(convertCfnTemplateParameterControlPropertyToCloudFormation)(properties.parameterControls),SheetControlLayouts:cdk().listMapper(convertCfnTemplateSheetControlLayoutPropertyToCloudFormation)(properties.sheetControlLayouts),SheetId:cdk().stringToCloudFormation(properties.sheetId),TextBoxes:cdk().listMapper(convertCfnTemplateSheetTextBoxPropertyToCloudFormation)(properties.textBoxes),Title:cdk().stringToCloudFormation(properties.title),Visuals:cdk().listMapper(convertCfnTemplateVisualPropertyToCloudFormation)(properties.visuals)}):properties}function CfnTemplateSheetDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("filterControls","FilterControls",properties.FilterControls!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFilterControlPropertyFromCloudFormation)(properties.FilterControls):void 0),ret.addPropertyResult("images","Images",properties.Images!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateSheetImagePropertyFromCloudFormation)(properties.Images):void 0),ret.addPropertyResult("layouts","Layouts",properties.Layouts!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateLayoutPropertyFromCloudFormation)(properties.Layouts):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterControls","ParameterControls",properties.ParameterControls!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateParameterControlPropertyFromCloudFormation)(properties.ParameterControls):void 0),ret.addPropertyResult("sheetControlLayouts","SheetControlLayouts",properties.SheetControlLayouts!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateSheetControlLayoutPropertyFromCloudFormation)(properties.SheetControlLayouts):void 0),ret.addPropertyResult("sheetId","SheetId",properties.SheetId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetId):void 0),ret.addPropertyResult("textBoxes","TextBoxes",properties.TextBoxes!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateSheetTextBoxPropertyFromCloudFormation)(properties.TextBoxes):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("visuals","Visuals",properties.Visuals!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateVisualPropertyFromCloudFormation)(properties.Visuals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateMappedDataSetParameterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().requiredValidator)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetIdentifier",cdk().validateString)(properties.dataSetIdentifier)),errors.collect(cdk().propertyValidator("dataSetParameterName",cdk().requiredValidator)(properties.dataSetParameterName)),errors.collect(cdk().propertyValidator("dataSetParameterName",cdk().validateString)(properties.dataSetParameterName)),errors.wrap('supplied properties not correct for "MappedDataSetParameterProperty"')}function convertCfnTemplateMappedDataSetParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateMappedDataSetParameterPropertyValidator(properties).assertSuccess(),{DataSetIdentifier:cdk().stringToCloudFormation(properties.dataSetIdentifier),DataSetParameterName:cdk().stringToCloudFormation(properties.dataSetParameterName)}):properties}function CfnTemplateMappedDataSetParameterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataSetIdentifier","DataSetIdentifier",properties.DataSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetIdentifier):void 0),ret.addPropertyResult("dataSetParameterName","DataSetParameterName",properties.DataSetParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.DataSetParameterName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDynamicDefaultValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValueColumn",cdk().requiredValidator)(properties.defaultValueColumn)),errors.collect(cdk().propertyValidator("defaultValueColumn",CfnTemplateColumnIdentifierPropertyValidator)(properties.defaultValueColumn)),errors.collect(cdk().propertyValidator("groupNameColumn",CfnTemplateColumnIdentifierPropertyValidator)(properties.groupNameColumn)),errors.collect(cdk().propertyValidator("userNameColumn",CfnTemplateColumnIdentifierPropertyValidator)(properties.userNameColumn)),errors.wrap('supplied properties not correct for "DynamicDefaultValueProperty"')}function convertCfnTemplateDynamicDefaultValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDynamicDefaultValuePropertyValidator(properties).assertSuccess(),{DefaultValueColumn:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.defaultValueColumn),GroupNameColumn:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.groupNameColumn),UserNameColumn:convertCfnTemplateColumnIdentifierPropertyToCloudFormation(properties.userNameColumn)}):properties}function CfnTemplateDynamicDefaultValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValueColumn","DefaultValueColumn",properties.DefaultValueColumn!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.DefaultValueColumn):void 0),ret.addPropertyResult("groupNameColumn","GroupNameColumn",properties.GroupNameColumn!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.GroupNameColumn):void 0),ret.addPropertyResult("userNameColumn","UserNameColumn",properties.UserNameColumn!=null?CfnTemplateColumnIdentifierPropertyFromCloudFormation(properties.UserNameColumn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateStringDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnTemplateDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateString))(properties.staticValues)),errors.wrap('supplied properties not correct for "StringDefaultValuesProperty"')}function convertCfnTemplateStringDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateStringDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnTemplateDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),StaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.staticValues)}):properties}function CfnTemplateStringDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnTemplateDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateStringValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateString)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "StringValueWhenUnsetConfigurationProperty"')}function convertCfnTemplateStringValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateStringValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().stringToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnTemplateStringValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getString(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateStringParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnTemplateStringDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnTemplateMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().requiredValidator)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().validateString)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnTemplateStringValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "StringParameterDeclarationProperty"')}function convertCfnTemplateStringParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateStringParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnTemplateStringDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnTemplateMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),ParameterValueType:cdk().stringToCloudFormation(properties.parameterValueType),ValueWhenUnset:convertCfnTemplateStringValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnTemplateStringParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnTemplateStringDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterValueType","ParameterValueType",properties.ParameterValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValueType):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnTemplateStringValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDateTimeDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnTemplateDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("rollingDate",CfnTemplateRollingDateConfigurationPropertyValidator)(properties.rollingDate)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateString))(properties.staticValues)),errors.wrap('supplied properties not correct for "DateTimeDefaultValuesProperty"')}function convertCfnTemplateDateTimeDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDateTimeDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnTemplateDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),RollingDate:convertCfnTemplateRollingDateConfigurationPropertyToCloudFormation(properties.rollingDate),StaticValues:cdk().listMapper(cdk().stringToCloudFormation)(properties.staticValues)}):properties}function CfnTemplateDateTimeDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnTemplateDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("rollingDate","RollingDate",properties.RollingDate!=null?CfnTemplateRollingDateConfigurationPropertyFromCloudFormation(properties.RollingDate):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDateTimeValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateString)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "DateTimeValueWhenUnsetConfigurationProperty"')}function convertCfnTemplateDateTimeValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDateTimeValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().stringToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnTemplateDateTimeValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getString(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDateTimeParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnTemplateDateTimeDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnTemplateMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnTemplateDateTimeValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "DateTimeParameterDeclarationProperty"')}function convertCfnTemplateDateTimeParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDateTimeParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnTemplateDateTimeDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnTemplateMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity),ValueWhenUnset:convertCfnTemplateDateTimeValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnTemplateDateTimeParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnTemplateDateTimeDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnTemplateDateTimeValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDecimalDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnTemplateDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateNumber))(properties.staticValues)),errors.wrap('supplied properties not correct for "DecimalDefaultValuesProperty"')}function convertCfnTemplateDecimalDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDecimalDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnTemplateDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),StaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.staticValues)}):properties}function CfnTemplateDecimalDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnTemplateDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDecimalValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateNumber)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "DecimalValueWhenUnsetConfigurationProperty"')}function convertCfnTemplateDecimalValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDecimalValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().numberToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnTemplateDecimalValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateDecimalParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnTemplateDecimalDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnTemplateMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().requiredValidator)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().validateString)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnTemplateDecimalValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "DecimalParameterDeclarationProperty"')}function convertCfnTemplateDecimalParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateDecimalParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnTemplateDecimalDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnTemplateMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),ParameterValueType:cdk().stringToCloudFormation(properties.parameterValueType),ValueWhenUnset:convertCfnTemplateDecimalValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnTemplateDecimalParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnTemplateDecimalDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterValueType","ParameterValueType",properties.ParameterValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValueType):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnTemplateDecimalValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateIntegerDefaultValuesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dynamicValue",CfnTemplateDynamicDefaultValuePropertyValidator)(properties.dynamicValue)),errors.collect(cdk().propertyValidator("staticValues",cdk().listValidator(cdk().validateNumber))(properties.staticValues)),errors.wrap('supplied properties not correct for "IntegerDefaultValuesProperty"')}function convertCfnTemplateIntegerDefaultValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateIntegerDefaultValuesPropertyValidator(properties).assertSuccess(),{DynamicValue:convertCfnTemplateDynamicDefaultValuePropertyToCloudFormation(properties.dynamicValue),StaticValues:cdk().listMapper(cdk().numberToCloudFormation)(properties.staticValues)}):properties}function CfnTemplateIntegerDefaultValuesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dynamicValue","DynamicValue",properties.DynamicValue!=null?CfnTemplateDynamicDefaultValuePropertyFromCloudFormation(properties.DynamicValue):void 0),ret.addPropertyResult("staticValues","StaticValues",properties.StaticValues!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.StaticValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateIntegerValueWhenUnsetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customValue",cdk().validateNumber)(properties.customValue)),errors.collect(cdk().propertyValidator("valueWhenUnsetOption",cdk().validateString)(properties.valueWhenUnsetOption)),errors.wrap('supplied properties not correct for "IntegerValueWhenUnsetConfigurationProperty"')}function convertCfnTemplateIntegerValueWhenUnsetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateIntegerValueWhenUnsetConfigurationPropertyValidator(properties).assertSuccess(),{CustomValue:cdk().numberToCloudFormation(properties.customValue),ValueWhenUnsetOption:cdk().stringToCloudFormation(properties.valueWhenUnsetOption)}):properties}function CfnTemplateIntegerValueWhenUnsetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customValue","CustomValue",properties.CustomValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.CustomValue):void 0),ret.addPropertyResult("valueWhenUnsetOption","ValueWhenUnsetOption",properties.ValueWhenUnsetOption!=null?cfn_parse().FromCloudFormation.getString(properties.ValueWhenUnsetOption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateIntegerParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("defaultValues",CfnTemplateIntegerDefaultValuesPropertyValidator)(properties.defaultValues)),errors.collect(cdk().propertyValidator("mappedDataSetParameters",cdk().listValidator(CfnTemplateMappedDataSetParameterPropertyValidator))(properties.mappedDataSetParameters)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().requiredValidator)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("parameterValueType",cdk().validateString)(properties.parameterValueType)),errors.collect(cdk().propertyValidator("valueWhenUnset",CfnTemplateIntegerValueWhenUnsetConfigurationPropertyValidator)(properties.valueWhenUnset)),errors.wrap('supplied properties not correct for "IntegerParameterDeclarationProperty"')}function convertCfnTemplateIntegerParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateIntegerParameterDeclarationPropertyValidator(properties).assertSuccess(),{DefaultValues:convertCfnTemplateIntegerDefaultValuesPropertyToCloudFormation(properties.defaultValues),MappedDataSetParameters:cdk().listMapper(convertCfnTemplateMappedDataSetParameterPropertyToCloudFormation)(properties.mappedDataSetParameters),Name:cdk().stringToCloudFormation(properties.name),ParameterValueType:cdk().stringToCloudFormation(properties.parameterValueType),ValueWhenUnset:convertCfnTemplateIntegerValueWhenUnsetConfigurationPropertyToCloudFormation(properties.valueWhenUnset)}):properties}function CfnTemplateIntegerParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultValues","DefaultValues",properties.DefaultValues!=null?CfnTemplateIntegerDefaultValuesPropertyFromCloudFormation(properties.DefaultValues):void 0),ret.addPropertyResult("mappedDataSetParameters","MappedDataSetParameters",properties.MappedDataSetParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateMappedDataSetParameterPropertyFromCloudFormation)(properties.MappedDataSetParameters):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parameterValueType","ParameterValueType",properties.ParameterValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValueType):void 0),ret.addPropertyResult("valueWhenUnset","ValueWhenUnset",properties.ValueWhenUnset!=null?CfnTemplateIntegerValueWhenUnsetConfigurationPropertyFromCloudFormation(properties.ValueWhenUnset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateParameterDeclarationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dateTimeParameterDeclaration",CfnTemplateDateTimeParameterDeclarationPropertyValidator)(properties.dateTimeParameterDeclaration)),errors.collect(cdk().propertyValidator("decimalParameterDeclaration",CfnTemplateDecimalParameterDeclarationPropertyValidator)(properties.decimalParameterDeclaration)),errors.collect(cdk().propertyValidator("integerParameterDeclaration",CfnTemplateIntegerParameterDeclarationPropertyValidator)(properties.integerParameterDeclaration)),errors.collect(cdk().propertyValidator("stringParameterDeclaration",CfnTemplateStringParameterDeclarationPropertyValidator)(properties.stringParameterDeclaration)),errors.wrap('supplied properties not correct for "ParameterDeclarationProperty"')}function convertCfnTemplateParameterDeclarationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateParameterDeclarationPropertyValidator(properties).assertSuccess(),{DateTimeParameterDeclaration:convertCfnTemplateDateTimeParameterDeclarationPropertyToCloudFormation(properties.dateTimeParameterDeclaration),DecimalParameterDeclaration:convertCfnTemplateDecimalParameterDeclarationPropertyToCloudFormation(properties.decimalParameterDeclaration),IntegerParameterDeclaration:convertCfnTemplateIntegerParameterDeclarationPropertyToCloudFormation(properties.integerParameterDeclaration),StringParameterDeclaration:convertCfnTemplateStringParameterDeclarationPropertyToCloudFormation(properties.stringParameterDeclaration)}):properties}function CfnTemplateParameterDeclarationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dateTimeParameterDeclaration","DateTimeParameterDeclaration",properties.DateTimeParameterDeclaration!=null?CfnTemplateDateTimeParameterDeclarationPropertyFromCloudFormation(properties.DateTimeParameterDeclaration):void 0),ret.addPropertyResult("decimalParameterDeclaration","DecimalParameterDeclaration",properties.DecimalParameterDeclaration!=null?CfnTemplateDecimalParameterDeclarationPropertyFromCloudFormation(properties.DecimalParameterDeclaration):void 0),ret.addPropertyResult("integerParameterDeclaration","IntegerParameterDeclaration",properties.IntegerParameterDeclaration!=null?CfnTemplateIntegerParameterDeclarationPropertyFromCloudFormation(properties.IntegerParameterDeclaration):void 0),ret.addPropertyResult("stringParameterDeclaration","StringParameterDeclaration",properties.StringParameterDeclaration!=null?CfnTemplateStringParameterDeclarationPropertyFromCloudFormation(properties.StringParameterDeclaration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateAssetOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("timezone",cdk().validateString)(properties.timezone)),errors.collect(cdk().propertyValidator("weekStart",cdk().validateString)(properties.weekStart)),errors.wrap('supplied properties not correct for "AssetOptionsProperty"')}function convertCfnTemplateAssetOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateAssetOptionsPropertyValidator(properties).assertSuccess(),{Timezone:cdk().stringToCloudFormation(properties.timezone),WeekStart:cdk().stringToCloudFormation(properties.weekStart)}):properties}function CfnTemplateAssetOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("timezone","Timezone",properties.Timezone!=null?cfn_parse().FromCloudFormation.getString(properties.Timezone):void 0),ret.addPropertyResult("weekStart","WeekStart",properties.WeekStart!=null?cfn_parse().FromCloudFormation.getString(properties.WeekStart):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateQueryExecutionOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("queryExecutionMode",cdk().validateString)(properties.queryExecutionMode)),errors.wrap('supplied properties not correct for "QueryExecutionOptionsProperty"')}function convertCfnTemplateQueryExecutionOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateQueryExecutionOptionsPropertyValidator(properties).assertSuccess(),{QueryExecutionMode:cdk().stringToCloudFormation(properties.queryExecutionMode)}):properties}function CfnTemplateQueryExecutionOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("queryExecutionMode","QueryExecutionMode",properties.QueryExecutionMode!=null?cfn_parse().FromCloudFormation.getString(properties.QueryExecutionMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTemplateVersionDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("analysisDefaults",CfnTemplateAnalysisDefaultsPropertyValidator)(properties.analysisDefaults)),errors.collect(cdk().propertyValidator("calculatedFields",cdk().listValidator(CfnTemplateCalculatedFieldPropertyValidator))(properties.calculatedFields)),errors.collect(cdk().propertyValidator("columnConfigurations",cdk().listValidator(CfnTemplateColumnConfigurationPropertyValidator))(properties.columnConfigurations)),errors.collect(cdk().propertyValidator("dataSetConfigurations",cdk().requiredValidator)(properties.dataSetConfigurations)),errors.collect(cdk().propertyValidator("dataSetConfigurations",cdk().listValidator(CfnTemplateDataSetConfigurationPropertyValidator))(properties.dataSetConfigurations)),errors.collect(cdk().propertyValidator("filterGroups",cdk().listValidator(CfnTemplateFilterGroupPropertyValidator))(properties.filterGroups)),errors.collect(cdk().propertyValidator("options",CfnTemplateAssetOptionsPropertyValidator)(properties.options)),errors.collect(cdk().propertyValidator("parameterDeclarations",cdk().listValidator(CfnTemplateParameterDeclarationPropertyValidator))(properties.parameterDeclarations)),errors.collect(cdk().propertyValidator("queryExecutionOptions",CfnTemplateQueryExecutionOptionsPropertyValidator)(properties.queryExecutionOptions)),errors.collect(cdk().propertyValidator("sheets",cdk().listValidator(CfnTemplateSheetDefinitionPropertyValidator))(properties.sheets)),errors.wrap('supplied properties not correct for "TemplateVersionDefinitionProperty"')}function convertCfnTemplateTemplateVersionDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTemplateVersionDefinitionPropertyValidator(properties).assertSuccess(),{AnalysisDefaults:convertCfnTemplateAnalysisDefaultsPropertyToCloudFormation(properties.analysisDefaults),CalculatedFields:cdk().listMapper(convertCfnTemplateCalculatedFieldPropertyToCloudFormation)(properties.calculatedFields),ColumnConfigurations:cdk().listMapper(convertCfnTemplateColumnConfigurationPropertyToCloudFormation)(properties.columnConfigurations),DataSetConfigurations:cdk().listMapper(convertCfnTemplateDataSetConfigurationPropertyToCloudFormation)(properties.dataSetConfigurations),FilterGroups:cdk().listMapper(convertCfnTemplateFilterGroupPropertyToCloudFormation)(properties.filterGroups),Options:convertCfnTemplateAssetOptionsPropertyToCloudFormation(properties.options),ParameterDeclarations:cdk().listMapper(convertCfnTemplateParameterDeclarationPropertyToCloudFormation)(properties.parameterDeclarations),QueryExecutionOptions:convertCfnTemplateQueryExecutionOptionsPropertyToCloudFormation(properties.queryExecutionOptions),Sheets:cdk().listMapper(convertCfnTemplateSheetDefinitionPropertyToCloudFormation)(properties.sheets)}):properties}function CfnTemplateTemplateVersionDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("analysisDefaults","AnalysisDefaults",properties.AnalysisDefaults!=null?CfnTemplateAnalysisDefaultsPropertyFromCloudFormation(properties.AnalysisDefaults):void 0),ret.addPropertyResult("calculatedFields","CalculatedFields",properties.CalculatedFields!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateCalculatedFieldPropertyFromCloudFormation)(properties.CalculatedFields):void 0),ret.addPropertyResult("columnConfigurations","ColumnConfigurations",properties.ColumnConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateColumnConfigurationPropertyFromCloudFormation)(properties.ColumnConfigurations):void 0),ret.addPropertyResult("dataSetConfigurations","DataSetConfigurations",properties.DataSetConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDataSetConfigurationPropertyFromCloudFormation)(properties.DataSetConfigurations):void 0),ret.addPropertyResult("filterGroups","FilterGroups",properties.FilterGroups!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateFilterGroupPropertyFromCloudFormation)(properties.FilterGroups):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?CfnTemplateAssetOptionsPropertyFromCloudFormation(properties.Options):void 0),ret.addPropertyResult("parameterDeclarations","ParameterDeclarations",properties.ParameterDeclarations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateParameterDeclarationPropertyFromCloudFormation)(properties.ParameterDeclarations):void 0),ret.addPropertyResult("queryExecutionOptions","QueryExecutionOptions",properties.QueryExecutionOptions!=null?CfnTemplateQueryExecutionOptionsPropertyFromCloudFormation(properties.QueryExecutionOptions):void 0),ret.addPropertyResult("sheets","Sheets",properties.Sheets!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateSheetDefinitionPropertyFromCloudFormation)(properties.Sheets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateResourcePermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("principal",cdk().requiredValidator)(properties.principal)),errors.collect(cdk().propertyValidator("principal",cdk().validateString)(properties.principal)),errors.collect(cdk().propertyValidator("resource",cdk().validateString)(properties.resource)),errors.wrap('supplied properties not correct for "ResourcePermissionProperty"')}function convertCfnTemplateResourcePermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateResourcePermissionPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),Principal:cdk().stringToCloudFormation(properties.principal),Resource:cdk().stringToCloudFormation(properties.resource)}):properties}function CfnTemplateResourcePermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getString(properties.Principal):void 0),ret.addPropertyResult("resource","Resource",properties.Resource!=null?cfn_parse().FromCloudFormation.getString(properties.Resource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateValidationStrategyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("mode",cdk().requiredValidator)(properties.mode)),errors.collect(cdk().propertyValidator("mode",cdk().validateString)(properties.mode)),errors.wrap('supplied properties not correct for "ValidationStrategyProperty"')}function convertCfnTemplateValidationStrategyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateValidationStrategyPropertyValidator(properties).assertSuccess(),{Mode:cdk().stringToCloudFormation(properties.mode)}):properties}function CfnTemplateValidationStrategyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("mode","Mode",properties.Mode!=null?cfn_parse().FromCloudFormation.getString(properties.Mode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateSheetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sheetId",cdk().validateString)(properties.sheetId)),errors.wrap('supplied properties not correct for "SheetProperty"')}function convertCfnTemplateSheetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateSheetPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),SheetId:cdk().stringToCloudFormation(properties.sheetId)}):properties}function CfnTemplateSheetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("sheetId","SheetId",properties.SheetId!=null?cfn_parse().FromCloudFormation.getString(properties.SheetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateEntityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.wrap('supplied properties not correct for "EntityProperty"')}function convertCfnTemplateEntityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateEntityPropertyValidator(properties).assertSuccess(),{Path:cdk().stringToCloudFormation(properties.path)}):properties}function CfnTemplateEntityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTemplateErrorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("violatedEntities",cdk().listValidator(CfnTemplateEntityPropertyValidator))(properties.violatedEntities)),errors.wrap('supplied properties not correct for "TemplateErrorProperty"')}function convertCfnTemplateTemplateErrorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTemplateErrorPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message),Type:cdk().stringToCloudFormation(properties.type),ViolatedEntities:cdk().listMapper(convertCfnTemplateEntityPropertyToCloudFormation)(properties.violatedEntities)}):properties}function CfnTemplateTemplateErrorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("violatedEntities","ViolatedEntities",properties.ViolatedEntities!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateEntityPropertyFromCloudFormation)(properties.ViolatedEntities):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplateTemplateVersionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("createdTime",cdk().validateString)(properties.createdTime)),errors.collect(cdk().propertyValidator("dataSetConfigurations",cdk().listValidator(CfnTemplateDataSetConfigurationPropertyValidator))(properties.dataSetConfigurations)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("errors",cdk().listValidator(CfnTemplateTemplateErrorPropertyValidator))(properties.errors)),errors.collect(cdk().propertyValidator("sheets",cdk().listValidator(CfnTemplateSheetPropertyValidator))(properties.sheets)),errors.collect(cdk().propertyValidator("sourceEntityArn",cdk().validateString)(properties.sourceEntityArn)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("themeArn",cdk().validateString)(properties.themeArn)),errors.collect(cdk().propertyValidator("versionNumber",cdk().validateNumber)(properties.versionNumber)),errors.wrap('supplied properties not correct for "TemplateVersionProperty"')}function convertCfnTemplateTemplateVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplateTemplateVersionPropertyValidator(properties).assertSuccess(),{CreatedTime:cdk().stringToCloudFormation(properties.createdTime),DataSetConfigurations:cdk().listMapper(convertCfnTemplateDataSetConfigurationPropertyToCloudFormation)(properties.dataSetConfigurations),Description:cdk().stringToCloudFormation(properties.description),Errors:cdk().listMapper(convertCfnTemplateTemplateErrorPropertyToCloudFormation)(properties.errors),Sheets:cdk().listMapper(convertCfnTemplateSheetPropertyToCloudFormation)(properties.sheets),SourceEntityArn:cdk().stringToCloudFormation(properties.sourceEntityArn),Status:cdk().stringToCloudFormation(properties.status),ThemeArn:cdk().stringToCloudFormation(properties.themeArn),VersionNumber:cdk().numberToCloudFormation(properties.versionNumber)}):properties}function CfnTemplateTemplateVersionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("createdTime","CreatedTime",properties.CreatedTime!=null?cfn_parse().FromCloudFormation.getString(properties.CreatedTime):void 0),ret.addPropertyResult("dataSetConfigurations","DataSetConfigurations",properties.DataSetConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateDataSetConfigurationPropertyFromCloudFormation)(properties.DataSetConfigurations):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("errors","Errors",properties.Errors!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateTemplateErrorPropertyFromCloudFormation)(properties.Errors):void 0),ret.addPropertyResult("sheets","Sheets",properties.Sheets!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateSheetPropertyFromCloudFormation)(properties.Sheets):void 0),ret.addPropertyResult("sourceEntityArn","SourceEntityArn",properties.SourceEntityArn!=null?cfn_parse().FromCloudFormation.getString(properties.SourceEntityArn):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("themeArn","ThemeArn",properties.ThemeArn!=null?cfn_parse().FromCloudFormation.getString(properties.ThemeArn):void 0),ret.addPropertyResult("versionNumber","VersionNumber",properties.VersionNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.VersionNumber):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTemplatePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsAccountId",cdk().requiredValidator)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("definition",CfnTemplateTemplateVersionDefinitionPropertyValidator)(properties.definition)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(CfnTemplateResourcePermissionPropertyValidator))(properties.permissions)),errors.collect(cdk().propertyValidator("sourceEntity",CfnTemplateTemplateSourceEntityPropertyValidator)(properties.sourceEntity)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("templateId",cdk().requiredValidator)(properties.templateId)),errors.collect(cdk().propertyValidator("templateId",cdk().validateString)(properties.templateId)),errors.collect(cdk().propertyValidator("validationStrategy",CfnTemplateValidationStrategyPropertyValidator)(properties.validationStrategy)),errors.collect(cdk().propertyValidator("versionDescription",cdk().validateString)(properties.versionDescription)),errors.wrap('supplied properties not correct for "CfnTemplateProps"')}function convertCfnTemplatePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTemplatePropsValidator(properties).assertSuccess(),{AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),Definition:convertCfnTemplateTemplateVersionDefinitionPropertyToCloudFormation(properties.definition),Name:cdk().stringToCloudFormation(properties.name),Permissions:cdk().listMapper(convertCfnTemplateResourcePermissionPropertyToCloudFormation)(properties.permissions),SourceEntity:convertCfnTemplateTemplateSourceEntityPropertyToCloudFormation(properties.sourceEntity),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TemplateId:cdk().stringToCloudFormation(properties.templateId),ValidationStrategy:convertCfnTemplateValidationStrategyPropertyToCloudFormation(properties.validationStrategy),VersionDescription:cdk().stringToCloudFormation(properties.versionDescription)}):properties}function CfnTemplatePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("definition","Definition",properties.Definition!=null?CfnTemplateTemplateVersionDefinitionPropertyFromCloudFormation(properties.Definition):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(CfnTemplateResourcePermissionPropertyFromCloudFormation)(properties.Permissions):void 0),ret.addPropertyResult("sourceEntity","SourceEntity",properties.SourceEntity!=null?CfnTemplateTemplateSourceEntityPropertyFromCloudFormation(properties.SourceEntity):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("templateId","TemplateId",properties.TemplateId!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateId):void 0),ret.addPropertyResult("validationStrategy","ValidationStrategy",properties.ValidationStrategy!=null?CfnTemplateValidationStrategyPropertyFromCloudFormation(properties.ValidationStrategy):void 0),ret.addPropertyResult("versionDescription","VersionDescription",properties.VersionDescription!=null?cfn_parse().FromCloudFormation.getString(properties.VersionDescription):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTheme extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnTheme",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::Theme";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnThemePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTheme(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnTheme(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTheme.CFN_RESOURCE_TYPE_NAME}static arnForTheme(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_IThemeRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTheme),error}return resource.themeRef.themeArn}_awsAccountId;_baseThemeId;_configuration;_name;_permissions;tags;_tagsRaw;_themeId;_versionDescription;cfnPropertyNames={awsAccountId:"AwsAccountId",baseThemeId:"BaseThemeId",configuration:"Configuration",name:"Name",permissions:"Permissions",tags:"Tags",themeId:"ThemeId",versionDescription:"VersionDescription"};constructor(scope,id,props){super(scope,id,{type:CfnTheme.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnThemeProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTheme),error}cdk().requireProperty(props,"awsAccountId",this),cdk().requireProperty(props,"baseThemeId",this),cdk().requireProperty(props,"configuration",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"themeId",this),this._awsAccountId=props.awsAccountId,this._baseThemeId=props.baseThemeId,this._configuration=props.configuration,this._name=props.name,this._permissions=props.permissions,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::Theme",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._themeId=props.themeId,this._versionDescription=props.versionDescription}get themeRef(){return{themeId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),awsAccountId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),themeArn:this.attrArn}}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get baseThemeId(){return this._baseThemeId}set baseThemeId(value){cdk().traceProperty(this.node,"BaseThemeId"),this._baseThemeId=value}get configuration(){return this._configuration}set configuration(value){cdk().traceProperty(this.node,"Configuration"),this._configuration=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get permissions(){return this._permissions}set permissions(value){cdk().traceProperty(this.node,"Permissions"),this._permissions=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get themeId(){return this._themeId}set themeId(value){cdk().traceProperty(this.node,"ThemeId"),this._themeId=value}get versionDescription(){return this._versionDescription}set versionDescription(value){cdk().traceProperty(this.node,"VersionDescription"),this._versionDescription=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get attrType(){return cdk().Token.asString(this.getAtt("Type",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return this.getAtt("Version")}get attrVersionArn(){return cdk().Token.asString(this.getAtt("Version.Arn",cdk().ResolutionTypeHint.STRING))}get attrVersionBaseThemeId(){return cdk().Token.asString(this.getAtt("Version.BaseThemeId",cdk().ResolutionTypeHint.STRING))}get attrVersionConfiguration(){return this.getAtt("Version.Configuration")}get attrVersionConfigurationDataColorPalette(){return this.getAtt("Version.Configuration.DataColorPalette")}get attrVersionConfigurationSheet(){return this.getAtt("Version.Configuration.Sheet")}get attrVersionConfigurationTypography(){return this.getAtt("Version.Configuration.Typography")}get attrVersionConfigurationUiColorPalette(){return this.getAtt("Version.Configuration.UIColorPalette")}get attrVersionCreatedTime(){return cdk().Token.asString(this.getAtt("Version.CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrVersionDescription(){return cdk().Token.asString(this.getAtt("Version.Description",cdk().ResolutionTypeHint.STRING))}get attrVersionErrors(){return this.getAtt("Version.Errors")}get attrVersionStatus(){return cdk().Token.asString(this.getAtt("Version.Status",cdk().ResolutionTypeHint.STRING))}get attrVersionVersionNumber(){return this.getAtt("Version.VersionNumber",cdk().ResolutionTypeHint.NUMBER)}get cfnProperties(){return{awsAccountId:this._awsAccountId,baseThemeId:this._baseThemeId,configuration:this._configuration,name:this._name,permissions:this._permissions,tags:this.tags.renderTags(),themeId:this._themeId,versionDescription:this._versionDescription}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnTheme.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnThemePropsToCloudFormation(props)}}exports.CfnTheme=CfnTheme;function CfnThemeDataColorPalettePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("colors",cdk().listValidator(cdk().validateString))(properties.colors)),errors.collect(cdk().propertyValidator("emptyFillColor",cdk().validateString)(properties.emptyFillColor)),errors.collect(cdk().propertyValidator("minMaxGradient",cdk().listValidator(cdk().validateString))(properties.minMaxGradient)),errors.wrap('supplied properties not correct for "DataColorPaletteProperty"')}function convertCfnThemeDataColorPalettePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeDataColorPalettePropertyValidator(properties).assertSuccess(),{Colors:cdk().listMapper(cdk().stringToCloudFormation)(properties.colors),EmptyFillColor:cdk().stringToCloudFormation(properties.emptyFillColor),MinMaxGradient:cdk().listMapper(cdk().stringToCloudFormation)(properties.minMaxGradient)}):properties}function CfnThemeDataColorPalettePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("colors","Colors",properties.Colors!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Colors):void 0),ret.addPropertyResult("emptyFillColor","EmptyFillColor",properties.EmptyFillColor!=null?cfn_parse().FromCloudFormation.getString(properties.EmptyFillColor):void 0),ret.addPropertyResult("minMaxGradient","MinMaxGradient",properties.MinMaxGradient!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MinMaxGradient):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeUIColorPalettePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("accent",cdk().validateString)(properties.accent)),errors.collect(cdk().propertyValidator("accentForeground",cdk().validateString)(properties.accentForeground)),errors.collect(cdk().propertyValidator("danger",cdk().validateString)(properties.danger)),errors.collect(cdk().propertyValidator("dangerForeground",cdk().validateString)(properties.dangerForeground)),errors.collect(cdk().propertyValidator("dimension",cdk().validateString)(properties.dimension)),errors.collect(cdk().propertyValidator("dimensionForeground",cdk().validateString)(properties.dimensionForeground)),errors.collect(cdk().propertyValidator("measure",cdk().validateString)(properties.measure)),errors.collect(cdk().propertyValidator("measureForeground",cdk().validateString)(properties.measureForeground)),errors.collect(cdk().propertyValidator("primaryBackground",cdk().validateString)(properties.primaryBackground)),errors.collect(cdk().propertyValidator("primaryForeground",cdk().validateString)(properties.primaryForeground)),errors.collect(cdk().propertyValidator("secondaryBackground",cdk().validateString)(properties.secondaryBackground)),errors.collect(cdk().propertyValidator("secondaryForeground",cdk().validateString)(properties.secondaryForeground)),errors.collect(cdk().propertyValidator("success",cdk().validateString)(properties.success)),errors.collect(cdk().propertyValidator("successForeground",cdk().validateString)(properties.successForeground)),errors.collect(cdk().propertyValidator("warning",cdk().validateString)(properties.warning)),errors.collect(cdk().propertyValidator("warningForeground",cdk().validateString)(properties.warningForeground)),errors.wrap('supplied properties not correct for "UIColorPaletteProperty"')}function convertCfnThemeUIColorPalettePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeUIColorPalettePropertyValidator(properties).assertSuccess(),{Accent:cdk().stringToCloudFormation(properties.accent),AccentForeground:cdk().stringToCloudFormation(properties.accentForeground),Danger:cdk().stringToCloudFormation(properties.danger),DangerForeground:cdk().stringToCloudFormation(properties.dangerForeground),Dimension:cdk().stringToCloudFormation(properties.dimension),DimensionForeground:cdk().stringToCloudFormation(properties.dimensionForeground),Measure:cdk().stringToCloudFormation(properties.measure),MeasureForeground:cdk().stringToCloudFormation(properties.measureForeground),PrimaryBackground:cdk().stringToCloudFormation(properties.primaryBackground),PrimaryForeground:cdk().stringToCloudFormation(properties.primaryForeground),SecondaryBackground:cdk().stringToCloudFormation(properties.secondaryBackground),SecondaryForeground:cdk().stringToCloudFormation(properties.secondaryForeground),Success:cdk().stringToCloudFormation(properties.success),SuccessForeground:cdk().stringToCloudFormation(properties.successForeground),Warning:cdk().stringToCloudFormation(properties.warning),WarningForeground:cdk().stringToCloudFormation(properties.warningForeground)}):properties}function CfnThemeUIColorPalettePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("accent","Accent",properties.Accent!=null?cfn_parse().FromCloudFormation.getString(properties.Accent):void 0),ret.addPropertyResult("accentForeground","AccentForeground",properties.AccentForeground!=null?cfn_parse().FromCloudFormation.getString(properties.AccentForeground):void 0),ret.addPropertyResult("danger","Danger",properties.Danger!=null?cfn_parse().FromCloudFormation.getString(properties.Danger):void 0),ret.addPropertyResult("dangerForeground","DangerForeground",properties.DangerForeground!=null?cfn_parse().FromCloudFormation.getString(properties.DangerForeground):void 0),ret.addPropertyResult("dimension","Dimension",properties.Dimension!=null?cfn_parse().FromCloudFormation.getString(properties.Dimension):void 0),ret.addPropertyResult("dimensionForeground","DimensionForeground",properties.DimensionForeground!=null?cfn_parse().FromCloudFormation.getString(properties.DimensionForeground):void 0),ret.addPropertyResult("measure","Measure",properties.Measure!=null?cfn_parse().FromCloudFormation.getString(properties.Measure):void 0),ret.addPropertyResult("measureForeground","MeasureForeground",properties.MeasureForeground!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureForeground):void 0),ret.addPropertyResult("primaryBackground","PrimaryBackground",properties.PrimaryBackground!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryBackground):void 0),ret.addPropertyResult("primaryForeground","PrimaryForeground",properties.PrimaryForeground!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryForeground):void 0),ret.addPropertyResult("secondaryBackground","SecondaryBackground",properties.SecondaryBackground!=null?cfn_parse().FromCloudFormation.getString(properties.SecondaryBackground):void 0),ret.addPropertyResult("secondaryForeground","SecondaryForeground",properties.SecondaryForeground!=null?cfn_parse().FromCloudFormation.getString(properties.SecondaryForeground):void 0),ret.addPropertyResult("success","Success",properties.Success!=null?cfn_parse().FromCloudFormation.getString(properties.Success):void 0),ret.addPropertyResult("successForeground","SuccessForeground",properties.SuccessForeground!=null?cfn_parse().FromCloudFormation.getString(properties.SuccessForeground):void 0),ret.addPropertyResult("warning","Warning",properties.Warning!=null?cfn_parse().FromCloudFormation.getString(properties.Warning):void 0),ret.addPropertyResult("warningForeground","WarningForeground",properties.WarningForeground!=null?cfn_parse().FromCloudFormation.getString(properties.WarningForeground):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeGutterStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("show",cdk().validateBoolean)(properties.show)),errors.wrap('supplied properties not correct for "GutterStyleProperty"')}function convertCfnThemeGutterStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeGutterStylePropertyValidator(properties).assertSuccess(),{Show:cdk().booleanToCloudFormation(properties.show)}):properties}function CfnThemeGutterStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("show","Show",properties.Show!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Show):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeMarginStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("show",cdk().validateBoolean)(properties.show)),errors.wrap('supplied properties not correct for "MarginStyleProperty"')}function convertCfnThemeMarginStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeMarginStylePropertyValidator(properties).assertSuccess(),{Show:cdk().booleanToCloudFormation(properties.show)}):properties}function CfnThemeMarginStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("show","Show",properties.Show!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Show):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeTileLayoutStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gutter",CfnThemeGutterStylePropertyValidator)(properties.gutter)),errors.collect(cdk().propertyValidator("margin",CfnThemeMarginStylePropertyValidator)(properties.margin)),errors.wrap('supplied properties not correct for "TileLayoutStyleProperty"')}function convertCfnThemeTileLayoutStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeTileLayoutStylePropertyValidator(properties).assertSuccess(),{Gutter:convertCfnThemeGutterStylePropertyToCloudFormation(properties.gutter),Margin:convertCfnThemeMarginStylePropertyToCloudFormation(properties.margin)}):properties}function CfnThemeTileLayoutStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gutter","Gutter",properties.Gutter!=null?CfnThemeGutterStylePropertyFromCloudFormation(properties.Gutter):void 0),ret.addPropertyResult("margin","Margin",properties.Margin!=null?CfnThemeMarginStylePropertyFromCloudFormation(properties.Margin):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeBorderStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("show",cdk().validateBoolean)(properties.show)),errors.wrap('supplied properties not correct for "BorderStyleProperty"')}function convertCfnThemeBorderStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeBorderStylePropertyValidator(properties).assertSuccess(),{Show:cdk().booleanToCloudFormation(properties.show)}):properties}function CfnThemeBorderStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("show","Show",properties.Show!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Show):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeTileStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("border",CfnThemeBorderStylePropertyValidator)(properties.border)),errors.wrap('supplied properties not correct for "TileStyleProperty"')}function convertCfnThemeTileStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeTileStylePropertyValidator(properties).assertSuccess(),{Border:convertCfnThemeBorderStylePropertyToCloudFormation(properties.border)}):properties}function CfnThemeTileStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("border","Border",properties.Border!=null?CfnThemeBorderStylePropertyFromCloudFormation(properties.Border):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeSheetStylePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("tile",CfnThemeTileStylePropertyValidator)(properties.tile)),errors.collect(cdk().propertyValidator("tileLayout",CfnThemeTileLayoutStylePropertyValidator)(properties.tileLayout)),errors.wrap('supplied properties not correct for "SheetStyleProperty"')}function convertCfnThemeSheetStylePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeSheetStylePropertyValidator(properties).assertSuccess(),{Tile:convertCfnThemeTileStylePropertyToCloudFormation(properties.tile),TileLayout:convertCfnThemeTileLayoutStylePropertyToCloudFormation(properties.tileLayout)}):properties}function CfnThemeSheetStylePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("tile","Tile",properties.Tile!=null?CfnThemeTileStylePropertyFromCloudFormation(properties.Tile):void 0),ret.addPropertyResult("tileLayout","TileLayout",properties.TileLayout!=null?CfnThemeTileLayoutStylePropertyFromCloudFormation(properties.TileLayout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeFontPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontFamily",cdk().validateString)(properties.fontFamily)),errors.wrap('supplied properties not correct for "FontProperty"')}function convertCfnThemeFontPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeFontPropertyValidator(properties).assertSuccess(),{FontFamily:cdk().stringToCloudFormation(properties.fontFamily)}):properties}function CfnThemeFontPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontFamily","FontFamily",properties.FontFamily!=null?cfn_parse().FromCloudFormation.getString(properties.FontFamily):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeTypographyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fontFamilies",cdk().listValidator(CfnThemeFontPropertyValidator))(properties.fontFamilies)),errors.wrap('supplied properties not correct for "TypographyProperty"')}function convertCfnThemeTypographyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeTypographyPropertyValidator(properties).assertSuccess(),{FontFamilies:cdk().listMapper(convertCfnThemeFontPropertyToCloudFormation)(properties.fontFamilies)}):properties}function CfnThemeTypographyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fontFamilies","FontFamilies",properties.FontFamilies!=null?cfn_parse().FromCloudFormation.getArray(CfnThemeFontPropertyFromCloudFormation)(properties.FontFamilies):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeThemeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("dataColorPalette",CfnThemeDataColorPalettePropertyValidator)(properties.dataColorPalette)),errors.collect(cdk().propertyValidator("sheet",CfnThemeSheetStylePropertyValidator)(properties.sheet)),errors.collect(cdk().propertyValidator("typography",CfnThemeTypographyPropertyValidator)(properties.typography)),errors.collect(cdk().propertyValidator("uiColorPalette",CfnThemeUIColorPalettePropertyValidator)(properties.uiColorPalette)),errors.wrap('supplied properties not correct for "ThemeConfigurationProperty"')}function convertCfnThemeThemeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeThemeConfigurationPropertyValidator(properties).assertSuccess(),{DataColorPalette:convertCfnThemeDataColorPalettePropertyToCloudFormation(properties.dataColorPalette),Sheet:convertCfnThemeSheetStylePropertyToCloudFormation(properties.sheet),Typography:convertCfnThemeTypographyPropertyToCloudFormation(properties.typography),UIColorPalette:convertCfnThemeUIColorPalettePropertyToCloudFormation(properties.uiColorPalette)}):properties}function CfnThemeThemeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("dataColorPalette","DataColorPalette",properties.DataColorPalette!=null?CfnThemeDataColorPalettePropertyFromCloudFormation(properties.DataColorPalette):void 0),ret.addPropertyResult("sheet","Sheet",properties.Sheet!=null?CfnThemeSheetStylePropertyFromCloudFormation(properties.Sheet):void 0),ret.addPropertyResult("typography","Typography",properties.Typography!=null?CfnThemeTypographyPropertyFromCloudFormation(properties.Typography):void 0),ret.addPropertyResult("uiColorPalette","UIColorPalette",properties.UIColorPalette!=null?CfnThemeUIColorPalettePropertyFromCloudFormation(properties.UIColorPalette):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeResourcePermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("principal",cdk().requiredValidator)(properties.principal)),errors.collect(cdk().propertyValidator("principal",cdk().validateString)(properties.principal)),errors.collect(cdk().propertyValidator("resource",cdk().validateString)(properties.resource)),errors.wrap('supplied properties not correct for "ResourcePermissionProperty"')}function convertCfnThemeResourcePermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeResourcePermissionPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),Principal:cdk().stringToCloudFormation(properties.principal),Resource:cdk().stringToCloudFormation(properties.resource)}):properties}function CfnThemeResourcePermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getString(properties.Principal):void 0),ret.addPropertyResult("resource","Resource",properties.Resource!=null?cfn_parse().FromCloudFormation.getString(properties.Resource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeThemeErrorPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ThemeErrorProperty"')}function convertCfnThemeThemeErrorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeThemeErrorPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnThemeThemeErrorPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemeThemeVersionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("baseThemeId",cdk().validateString)(properties.baseThemeId)),errors.collect(cdk().propertyValidator("configuration",CfnThemeThemeConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("createdTime",cdk().validateString)(properties.createdTime)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("errors",cdk().listValidator(CfnThemeThemeErrorPropertyValidator))(properties.errors)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("versionNumber",cdk().validateNumber)(properties.versionNumber)),errors.wrap('supplied properties not correct for "ThemeVersionProperty"')}function convertCfnThemeThemeVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemeThemeVersionPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),BaseThemeId:cdk().stringToCloudFormation(properties.baseThemeId),Configuration:convertCfnThemeThemeConfigurationPropertyToCloudFormation(properties.configuration),CreatedTime:cdk().stringToCloudFormation(properties.createdTime),Description:cdk().stringToCloudFormation(properties.description),Errors:cdk().listMapper(convertCfnThemeThemeErrorPropertyToCloudFormation)(properties.errors),Status:cdk().stringToCloudFormation(properties.status),VersionNumber:cdk().numberToCloudFormation(properties.versionNumber)}):properties}function CfnThemeThemeVersionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("baseThemeId","BaseThemeId",properties.BaseThemeId!=null?cfn_parse().FromCloudFormation.getString(properties.BaseThemeId):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnThemeThemeConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("createdTime","CreatedTime",properties.CreatedTime!=null?cfn_parse().FromCloudFormation.getString(properties.CreatedTime):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("errors","Errors",properties.Errors!=null?cfn_parse().FromCloudFormation.getArray(CfnThemeThemeErrorPropertyFromCloudFormation)(properties.Errors):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("versionNumber","VersionNumber",properties.VersionNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.VersionNumber):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThemePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsAccountId",cdk().requiredValidator)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("baseThemeId",cdk().requiredValidator)(properties.baseThemeId)),errors.collect(cdk().propertyValidator("baseThemeId",cdk().validateString)(properties.baseThemeId)),errors.collect(cdk().propertyValidator("configuration",cdk().requiredValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("configuration",CfnThemeThemeConfigurationPropertyValidator)(properties.configuration)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(CfnThemeResourcePermissionPropertyValidator))(properties.permissions)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("themeId",cdk().requiredValidator)(properties.themeId)),errors.collect(cdk().propertyValidator("themeId",cdk().validateString)(properties.themeId)),errors.collect(cdk().propertyValidator("versionDescription",cdk().validateString)(properties.versionDescription)),errors.wrap('supplied properties not correct for "CfnThemeProps"')}function convertCfnThemePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnThemePropsValidator(properties).assertSuccess(),{AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),BaseThemeId:cdk().stringToCloudFormation(properties.baseThemeId),Configuration:convertCfnThemeThemeConfigurationPropertyToCloudFormation(properties.configuration),Name:cdk().stringToCloudFormation(properties.name),Permissions:cdk().listMapper(convertCfnThemeResourcePermissionPropertyToCloudFormation)(properties.permissions),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),ThemeId:cdk().stringToCloudFormation(properties.themeId),VersionDescription:cdk().stringToCloudFormation(properties.versionDescription)}):properties}function CfnThemePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("baseThemeId","BaseThemeId",properties.BaseThemeId!=null?cfn_parse().FromCloudFormation.getString(properties.BaseThemeId):void 0),ret.addPropertyResult("configuration","Configuration",properties.Configuration!=null?CfnThemeThemeConfigurationPropertyFromCloudFormation(properties.Configuration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(CfnThemeResourcePermissionPropertyFromCloudFormation)(properties.Permissions):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("themeId","ThemeId",properties.ThemeId!=null?cfn_parse().FromCloudFormation.getString(properties.ThemeId):void 0),ret.addPropertyResult("versionDescription","VersionDescription",properties.VersionDescription!=null?cfn_parse().FromCloudFormation.getString(properties.VersionDescription):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTopic extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnTopic",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::Topic";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTopic(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnTopic(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTopic.CFN_RESOURCE_TYPE_NAME}static arnForTopic(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_ITopicRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTopic),error}return resource.topicRef.topicArn}_awsAccountId;cdkTagManager;_configOptions;_customInstructions;_dataSets;_description;_folderArns;_name;_tags;_topicId;_userExperienceVersion;cfnPropertyNames={awsAccountId:"AwsAccountId",tags:"Tags",configOptions:"ConfigOptions",customInstructions:"CustomInstructions",dataSets:"DataSets",description:"Description",folderArns:"FolderArns",name:"Name",topicId:"TopicId",userExperienceVersion:"UserExperienceVersion"};constructor(scope,id,props={}){super(scope,id,{type:CfnTopic.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnTopicProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTopic),error}this._awsAccountId=props.awsAccountId,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::Topic",void 0,{tagPropertyName:"tags"}),this._configOptions=props.configOptions,this._customInstructions=props.customInstructions,this._dataSets=props.dataSets,this._description=props.description,this._folderArns=props.folderArns,this._name=props.name,this._tags=props.tags,this._topicId=props.topicId,this._userExperienceVersion=props.userExperienceVersion}get topicRef(){return{awsAccountId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),topicId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),topicArn:this.attrArn}}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get configOptions(){return this._configOptions}set configOptions(value){cdk().traceProperty(this.node,"ConfigOptions"),this._configOptions=value}get customInstructions(){return this._customInstructions}set customInstructions(value){cdk().traceProperty(this.node,"CustomInstructions"),this._customInstructions=value}get dataSets(){return this._dataSets}set dataSets(value){cdk().traceProperty(this.node,"DataSets"),this._dataSets=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get folderArns(){return this._folderArns}set folderArns(value){cdk().traceProperty(this.node,"FolderArns"),this._folderArns=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get topicId(){return this._topicId}set topicId(value){cdk().traceProperty(this.node,"TopicId"),this._topicId=value}get userExperienceVersion(){return this._userExperienceVersion}set userExperienceVersion(value){cdk().traceProperty(this.node,"UserExperienceVersion"),this._userExperienceVersion=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{awsAccountId:this._awsAccountId,tags:this.cdkTagManager.renderTags(this._tags),configOptions:this._configOptions,customInstructions:this._customInstructions,dataSets:this._dataSets,description:this._description,folderArns:this._folderArns,name:this._name,topicId:this._topicId,userExperienceVersion:this._userExperienceVersion}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnTopic.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTopicPropsToCloudFormation(props)}}exports.CfnTopic=CfnTopic;function CfnTopicTopicSingularFilterConstantPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("constantType",cdk().validateString)(properties.constantType)),errors.collect(cdk().propertyValidator("singularConstant",cdk().validateString)(properties.singularConstant)),errors.wrap('supplied properties not correct for "TopicSingularFilterConstantProperty"')}function convertCfnTopicTopicSingularFilterConstantPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicSingularFilterConstantPropertyValidator(properties).assertSuccess(),{ConstantType:cdk().stringToCloudFormation(properties.constantType),SingularConstant:cdk().stringToCloudFormation(properties.singularConstant)}):properties}function CfnTopicTopicSingularFilterConstantPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("constantType","ConstantType",properties.ConstantType!=null?cfn_parse().FromCloudFormation.getString(properties.ConstantType):void 0),ret.addPropertyResult("singularConstant","SingularConstant",properties.SingularConstant!=null?cfn_parse().FromCloudFormation.getString(properties.SingularConstant):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicRelativeDateFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("constant",CfnTopicTopicSingularFilterConstantPropertyValidator)(properties.constant)),errors.collect(cdk().propertyValidator("relativeDateFilterFunction",cdk().validateString)(properties.relativeDateFilterFunction)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TopicRelativeDateFilterProperty"')}function convertCfnTopicTopicRelativeDateFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicRelativeDateFilterPropertyValidator(properties).assertSuccess(),{Constant:convertCfnTopicTopicSingularFilterConstantPropertyToCloudFormation(properties.constant),RelativeDateFilterFunction:cdk().stringToCloudFormation(properties.relativeDateFilterFunction),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnTopicTopicRelativeDateFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("constant","Constant",properties.Constant!=null?CfnTopicTopicSingularFilterConstantPropertyFromCloudFormation(properties.Constant):void 0),ret.addPropertyResult("relativeDateFilterFunction","RelativeDateFilterFunction",properties.RelativeDateFilterFunction!=null?cfn_parse().FromCloudFormation.getString(properties.RelativeDateFilterFunction):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicNumericEqualityFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregation",cdk().validateString)(properties.aggregation)),errors.collect(cdk().propertyValidator("constant",CfnTopicTopicSingularFilterConstantPropertyValidator)(properties.constant)),errors.wrap('supplied properties not correct for "TopicNumericEqualityFilterProperty"')}function convertCfnTopicTopicNumericEqualityFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicNumericEqualityFilterPropertyValidator(properties).assertSuccess(),{Aggregation:cdk().stringToCloudFormation(properties.aggregation),Constant:convertCfnTopicTopicSingularFilterConstantPropertyToCloudFormation(properties.constant)}):properties}function CfnTopicTopicNumericEqualityFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregation","Aggregation",properties.Aggregation!=null?cfn_parse().FromCloudFormation.getString(properties.Aggregation):void 0),ret.addPropertyResult("constant","Constant",properties.Constant!=null?CfnTopicTopicSingularFilterConstantPropertyFromCloudFormation(properties.Constant):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRangeConstantPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maximum",cdk().validateString)(properties.maximum)),errors.collect(cdk().propertyValidator("minimum",cdk().validateString)(properties.minimum)),errors.wrap('supplied properties not correct for "RangeConstantProperty"')}function convertCfnTopicRangeConstantPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicRangeConstantPropertyValidator(properties).assertSuccess(),{Maximum:cdk().stringToCloudFormation(properties.maximum),Minimum:cdk().stringToCloudFormation(properties.minimum)}):properties}function CfnTopicRangeConstantPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maximum","Maximum",properties.Maximum!=null?cfn_parse().FromCloudFormation.getString(properties.Maximum):void 0),ret.addPropertyResult("minimum","Minimum",properties.Minimum!=null?cfn_parse().FromCloudFormation.getString(properties.Minimum):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicRangeFilterConstantPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("constantType",cdk().validateString)(properties.constantType)),errors.collect(cdk().propertyValidator("rangeConstant",CfnTopicRangeConstantPropertyValidator)(properties.rangeConstant)),errors.wrap('supplied properties not correct for "TopicRangeFilterConstantProperty"')}function convertCfnTopicTopicRangeFilterConstantPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicRangeFilterConstantPropertyValidator(properties).assertSuccess(),{ConstantType:cdk().stringToCloudFormation(properties.constantType),RangeConstant:convertCfnTopicRangeConstantPropertyToCloudFormation(properties.rangeConstant)}):properties}function CfnTopicTopicRangeFilterConstantPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("constantType","ConstantType",properties.ConstantType!=null?cfn_parse().FromCloudFormation.getString(properties.ConstantType):void 0),ret.addPropertyResult("rangeConstant","RangeConstant",properties.RangeConstant!=null?CfnTopicRangeConstantPropertyFromCloudFormation(properties.RangeConstant):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicNumericRangeFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregation",cdk().validateString)(properties.aggregation)),errors.collect(cdk().propertyValidator("constant",CfnTopicTopicRangeFilterConstantPropertyValidator)(properties.constant)),errors.collect(cdk().propertyValidator("inclusive",cdk().validateBoolean)(properties.inclusive)),errors.wrap('supplied properties not correct for "TopicNumericRangeFilterProperty"')}function convertCfnTopicTopicNumericRangeFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicNumericRangeFilterPropertyValidator(properties).assertSuccess(),{Aggregation:cdk().stringToCloudFormation(properties.aggregation),Constant:convertCfnTopicTopicRangeFilterConstantPropertyToCloudFormation(properties.constant),Inclusive:cdk().booleanToCloudFormation(properties.inclusive)}):properties}function CfnTopicTopicNumericRangeFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregation","Aggregation",properties.Aggregation!=null?cfn_parse().FromCloudFormation.getString(properties.Aggregation):void 0),ret.addPropertyResult("constant","Constant",properties.Constant!=null?CfnTopicTopicRangeFilterConstantPropertyFromCloudFormation(properties.Constant):void 0),ret.addPropertyResult("inclusive","Inclusive",properties.Inclusive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Inclusive):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicDateRangeFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("constant",CfnTopicTopicRangeFilterConstantPropertyValidator)(properties.constant)),errors.collect(cdk().propertyValidator("inclusive",cdk().validateBoolean)(properties.inclusive)),errors.wrap('supplied properties not correct for "TopicDateRangeFilterProperty"')}function convertCfnTopicTopicDateRangeFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicDateRangeFilterPropertyValidator(properties).assertSuccess(),{Constant:convertCfnTopicTopicRangeFilterConstantPropertyToCloudFormation(properties.constant),Inclusive:cdk().booleanToCloudFormation(properties.inclusive)}):properties}function CfnTopicTopicDateRangeFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("constant","Constant",properties.Constant!=null?CfnTopicTopicRangeFilterConstantPropertyFromCloudFormation(properties.Constant):void 0),ret.addPropertyResult("inclusive","Inclusive",properties.Inclusive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Inclusive):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicCollectiveConstantPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("valueList",cdk().listValidator(cdk().validateString))(properties.valueList)),errors.wrap('supplied properties not correct for "CollectiveConstantProperty"')}function convertCfnTopicCollectiveConstantPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicCollectiveConstantPropertyValidator(properties).assertSuccess(),{ValueList:cdk().listMapper(cdk().stringToCloudFormation)(properties.valueList)}):properties}function CfnTopicCollectiveConstantPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("valueList","ValueList",properties.ValueList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ValueList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicCategoryFilterConstantPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("collectiveConstant",CfnTopicCollectiveConstantPropertyValidator)(properties.collectiveConstant)),errors.collect(cdk().propertyValidator("constantType",cdk().validateString)(properties.constantType)),errors.collect(cdk().propertyValidator("singularConstant",cdk().validateString)(properties.singularConstant)),errors.wrap('supplied properties not correct for "TopicCategoryFilterConstantProperty"')}function convertCfnTopicTopicCategoryFilterConstantPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicCategoryFilterConstantPropertyValidator(properties).assertSuccess(),{CollectiveConstant:convertCfnTopicCollectiveConstantPropertyToCloudFormation(properties.collectiveConstant),ConstantType:cdk().stringToCloudFormation(properties.constantType),SingularConstant:cdk().stringToCloudFormation(properties.singularConstant)}):properties}function CfnTopicTopicCategoryFilterConstantPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("collectiveConstant","CollectiveConstant",properties.CollectiveConstant!=null?CfnTopicCollectiveConstantPropertyFromCloudFormation(properties.CollectiveConstant):void 0),ret.addPropertyResult("constantType","ConstantType",properties.ConstantType!=null?cfn_parse().FromCloudFormation.getString(properties.ConstantType):void 0),ret.addPropertyResult("singularConstant","SingularConstant",properties.SingularConstant!=null?cfn_parse().FromCloudFormation.getString(properties.SingularConstant):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicCategoryFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryFilterFunction",cdk().validateString)(properties.categoryFilterFunction)),errors.collect(cdk().propertyValidator("categoryFilterType",cdk().validateString)(properties.categoryFilterType)),errors.collect(cdk().propertyValidator("constant",CfnTopicTopicCategoryFilterConstantPropertyValidator)(properties.constant)),errors.collect(cdk().propertyValidator("inverse",cdk().validateBoolean)(properties.inverse)),errors.wrap('supplied properties not correct for "TopicCategoryFilterProperty"')}function convertCfnTopicTopicCategoryFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicCategoryFilterPropertyValidator(properties).assertSuccess(),{CategoryFilterFunction:cdk().stringToCloudFormation(properties.categoryFilterFunction),CategoryFilterType:cdk().stringToCloudFormation(properties.categoryFilterType),Constant:convertCfnTopicTopicCategoryFilterConstantPropertyToCloudFormation(properties.constant),Inverse:cdk().booleanToCloudFormation(properties.inverse)}):properties}function CfnTopicTopicCategoryFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryFilterFunction","CategoryFilterFunction",properties.CategoryFilterFunction!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryFilterFunction):void 0),ret.addPropertyResult("categoryFilterType","CategoryFilterType",properties.CategoryFilterType!=null?cfn_parse().FromCloudFormation.getString(properties.CategoryFilterType):void 0),ret.addPropertyResult("constant","Constant",properties.Constant!=null?CfnTopicTopicCategoryFilterConstantPropertyFromCloudFormation(properties.Constant):void 0),ret.addPropertyResult("inverse","Inverse",properties.Inverse!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Inverse):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicFilterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("categoryFilter",CfnTopicTopicCategoryFilterPropertyValidator)(properties.categoryFilter)),errors.collect(cdk().propertyValidator("dateRangeFilter",CfnTopicTopicDateRangeFilterPropertyValidator)(properties.dateRangeFilter)),errors.collect(cdk().propertyValidator("filterClass",cdk().validateString)(properties.filterClass)),errors.collect(cdk().propertyValidator("filterDescription",cdk().validateString)(properties.filterDescription)),errors.collect(cdk().propertyValidator("filterName",cdk().requiredValidator)(properties.filterName)),errors.collect(cdk().propertyValidator("filterName",cdk().validateString)(properties.filterName)),errors.collect(cdk().propertyValidator("filterSynonyms",cdk().listValidator(cdk().validateString))(properties.filterSynonyms)),errors.collect(cdk().propertyValidator("filterType",cdk().validateString)(properties.filterType)),errors.collect(cdk().propertyValidator("numericEqualityFilter",CfnTopicTopicNumericEqualityFilterPropertyValidator)(properties.numericEqualityFilter)),errors.collect(cdk().propertyValidator("numericRangeFilter",CfnTopicTopicNumericRangeFilterPropertyValidator)(properties.numericRangeFilter)),errors.collect(cdk().propertyValidator("operandFieldName",cdk().requiredValidator)(properties.operandFieldName)),errors.collect(cdk().propertyValidator("operandFieldName",cdk().validateString)(properties.operandFieldName)),errors.collect(cdk().propertyValidator("relativeDateFilter",CfnTopicTopicRelativeDateFilterPropertyValidator)(properties.relativeDateFilter)),errors.wrap('supplied properties not correct for "TopicFilterProperty"')}function convertCfnTopicTopicFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicFilterPropertyValidator(properties).assertSuccess(),{CategoryFilter:convertCfnTopicTopicCategoryFilterPropertyToCloudFormation(properties.categoryFilter),DateRangeFilter:convertCfnTopicTopicDateRangeFilterPropertyToCloudFormation(properties.dateRangeFilter),FilterClass:cdk().stringToCloudFormation(properties.filterClass),FilterDescription:cdk().stringToCloudFormation(properties.filterDescription),FilterName:cdk().stringToCloudFormation(properties.filterName),FilterSynonyms:cdk().listMapper(cdk().stringToCloudFormation)(properties.filterSynonyms),FilterType:cdk().stringToCloudFormation(properties.filterType),NumericEqualityFilter:convertCfnTopicTopicNumericEqualityFilterPropertyToCloudFormation(properties.numericEqualityFilter),NumericRangeFilter:convertCfnTopicTopicNumericRangeFilterPropertyToCloudFormation(properties.numericRangeFilter),OperandFieldName:cdk().stringToCloudFormation(properties.operandFieldName),RelativeDateFilter:convertCfnTopicTopicRelativeDateFilterPropertyToCloudFormation(properties.relativeDateFilter)}):properties}function CfnTopicTopicFilterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("categoryFilter","CategoryFilter",properties.CategoryFilter!=null?CfnTopicTopicCategoryFilterPropertyFromCloudFormation(properties.CategoryFilter):void 0),ret.addPropertyResult("dateRangeFilter","DateRangeFilter",properties.DateRangeFilter!=null?CfnTopicTopicDateRangeFilterPropertyFromCloudFormation(properties.DateRangeFilter):void 0),ret.addPropertyResult("filterClass","FilterClass",properties.FilterClass!=null?cfn_parse().FromCloudFormation.getString(properties.FilterClass):void 0),ret.addPropertyResult("filterDescription","FilterDescription",properties.FilterDescription!=null?cfn_parse().FromCloudFormation.getString(properties.FilterDescription):void 0),ret.addPropertyResult("filterName","FilterName",properties.FilterName!=null?cfn_parse().FromCloudFormation.getString(properties.FilterName):void 0),ret.addPropertyResult("filterSynonyms","FilterSynonyms",properties.FilterSynonyms!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FilterSynonyms):void 0),ret.addPropertyResult("filterType","FilterType",properties.FilterType!=null?cfn_parse().FromCloudFormation.getString(properties.FilterType):void 0),ret.addPropertyResult("numericEqualityFilter","NumericEqualityFilter",properties.NumericEqualityFilter!=null?CfnTopicTopicNumericEqualityFilterPropertyFromCloudFormation(properties.NumericEqualityFilter):void 0),ret.addPropertyResult("numericRangeFilter","NumericRangeFilter",properties.NumericRangeFilter!=null?CfnTopicTopicNumericRangeFilterPropertyFromCloudFormation(properties.NumericRangeFilter):void 0),ret.addPropertyResult("operandFieldName","OperandFieldName",properties.OperandFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.OperandFieldName):void 0),ret.addPropertyResult("relativeDateFilter","RelativeDateFilter",properties.RelativeDateFilter!=null?CfnTopicTopicRelativeDateFilterPropertyFromCloudFormation(properties.RelativeDateFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicSemanticEntityTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("subTypeName",cdk().validateString)(properties.subTypeName)),errors.collect(cdk().propertyValidator("typeName",cdk().validateString)(properties.typeName)),errors.collect(cdk().propertyValidator("typeParameters",cdk().hashValidator(cdk().validateString))(properties.typeParameters)),errors.wrap('supplied properties not correct for "SemanticEntityTypeProperty"')}function convertCfnTopicSemanticEntityTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicSemanticEntityTypePropertyValidator(properties).assertSuccess(),{SubTypeName:cdk().stringToCloudFormation(properties.subTypeName),TypeName:cdk().stringToCloudFormation(properties.typeName),TypeParameters:cdk().hashMapper(cdk().stringToCloudFormation)(properties.typeParameters)}):properties}function CfnTopicSemanticEntityTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("subTypeName","SubTypeName",properties.SubTypeName!=null?cfn_parse().FromCloudFormation.getString(properties.SubTypeName):void 0),ret.addPropertyResult("typeName","TypeName",properties.TypeName!=null?cfn_parse().FromCloudFormation.getString(properties.TypeName):void 0),ret.addPropertyResult("typeParameters","TypeParameters",properties.TypeParameters!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.TypeParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicNamedEntityDefinitionMetricPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregation",cdk().validateString)(properties.aggregation)),errors.collect(cdk().propertyValidator("aggregationFunctionParameters",cdk().hashValidator(cdk().validateString))(properties.aggregationFunctionParameters)),errors.wrap('supplied properties not correct for "NamedEntityDefinitionMetricProperty"')}function convertCfnTopicNamedEntityDefinitionMetricPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicNamedEntityDefinitionMetricPropertyValidator(properties).assertSuccess(),{Aggregation:cdk().stringToCloudFormation(properties.aggregation),AggregationFunctionParameters:cdk().hashMapper(cdk().stringToCloudFormation)(properties.aggregationFunctionParameters)}):properties}function CfnTopicNamedEntityDefinitionMetricPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregation","Aggregation",properties.Aggregation!=null?cfn_parse().FromCloudFormation.getString(properties.Aggregation):void 0),ret.addPropertyResult("aggregationFunctionParameters","AggregationFunctionParameters",properties.AggregationFunctionParameters!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.AggregationFunctionParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicNamedEntityDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fieldName",cdk().validateString)(properties.fieldName)),errors.collect(cdk().propertyValidator("metric",CfnTopicNamedEntityDefinitionMetricPropertyValidator)(properties.metric)),errors.collect(cdk().propertyValidator("propertyName",cdk().validateString)(properties.propertyName)),errors.collect(cdk().propertyValidator("propertyRole",cdk().validateString)(properties.propertyRole)),errors.collect(cdk().propertyValidator("propertyUsage",cdk().validateString)(properties.propertyUsage)),errors.wrap('supplied properties not correct for "NamedEntityDefinitionProperty"')}function convertCfnTopicNamedEntityDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicNamedEntityDefinitionPropertyValidator(properties).assertSuccess(),{FieldName:cdk().stringToCloudFormation(properties.fieldName),Metric:convertCfnTopicNamedEntityDefinitionMetricPropertyToCloudFormation(properties.metric),PropertyName:cdk().stringToCloudFormation(properties.propertyName),PropertyRole:cdk().stringToCloudFormation(properties.propertyRole),PropertyUsage:cdk().stringToCloudFormation(properties.propertyUsage)}):properties}function CfnTopicNamedEntityDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fieldName","FieldName",properties.FieldName!=null?cfn_parse().FromCloudFormation.getString(properties.FieldName):void 0),ret.addPropertyResult("metric","Metric",properties.Metric!=null?CfnTopicNamedEntityDefinitionMetricPropertyFromCloudFormation(properties.Metric):void 0),ret.addPropertyResult("propertyName","PropertyName",properties.PropertyName!=null?cfn_parse().FromCloudFormation.getString(properties.PropertyName):void 0),ret.addPropertyResult("propertyRole","PropertyRole",properties.PropertyRole!=null?cfn_parse().FromCloudFormation.getString(properties.PropertyRole):void 0),ret.addPropertyResult("propertyUsage","PropertyUsage",properties.PropertyUsage!=null?cfn_parse().FromCloudFormation.getString(properties.PropertyUsage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicNamedEntityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("definition",cdk().listValidator(CfnTopicNamedEntityDefinitionPropertyValidator))(properties.definition)),errors.collect(cdk().propertyValidator("entityDescription",cdk().validateString)(properties.entityDescription)),errors.collect(cdk().propertyValidator("entityName",cdk().requiredValidator)(properties.entityName)),errors.collect(cdk().propertyValidator("entityName",cdk().validateString)(properties.entityName)),errors.collect(cdk().propertyValidator("entitySynonyms",cdk().listValidator(cdk().validateString))(properties.entitySynonyms)),errors.collect(cdk().propertyValidator("semanticEntityType",CfnTopicSemanticEntityTypePropertyValidator)(properties.semanticEntityType)),errors.wrap('supplied properties not correct for "TopicNamedEntityProperty"')}function convertCfnTopicTopicNamedEntityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicNamedEntityPropertyValidator(properties).assertSuccess(),{Definition:cdk().listMapper(convertCfnTopicNamedEntityDefinitionPropertyToCloudFormation)(properties.definition),EntityDescription:cdk().stringToCloudFormation(properties.entityDescription),EntityName:cdk().stringToCloudFormation(properties.entityName),EntitySynonyms:cdk().listMapper(cdk().stringToCloudFormation)(properties.entitySynonyms),SemanticEntityType:convertCfnTopicSemanticEntityTypePropertyToCloudFormation(properties.semanticEntityType)}):properties}function CfnTopicTopicNamedEntityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("definition","Definition",properties.Definition!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicNamedEntityDefinitionPropertyFromCloudFormation)(properties.Definition):void 0),ret.addPropertyResult("entityDescription","EntityDescription",properties.EntityDescription!=null?cfn_parse().FromCloudFormation.getString(properties.EntityDescription):void 0),ret.addPropertyResult("entityName","EntityName",properties.EntityName!=null?cfn_parse().FromCloudFormation.getString(properties.EntityName):void 0),ret.addPropertyResult("entitySynonyms","EntitySynonyms",properties.EntitySynonyms!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EntitySynonyms):void 0),ret.addPropertyResult("semanticEntityType","SemanticEntityType",properties.SemanticEntityType!=null?CfnTopicSemanticEntityTypePropertyFromCloudFormation(properties.SemanticEntityType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicSemanticTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("falseyCellValue",cdk().validateString)(properties.falseyCellValue)),errors.collect(cdk().propertyValidator("falseyCellValueSynonyms",cdk().listValidator(cdk().validateString))(properties.falseyCellValueSynonyms)),errors.collect(cdk().propertyValidator("subTypeName",cdk().validateString)(properties.subTypeName)),errors.collect(cdk().propertyValidator("truthyCellValue",cdk().validateString)(properties.truthyCellValue)),errors.collect(cdk().propertyValidator("truthyCellValueSynonyms",cdk().listValidator(cdk().validateString))(properties.truthyCellValueSynonyms)),errors.collect(cdk().propertyValidator("typeName",cdk().validateString)(properties.typeName)),errors.collect(cdk().propertyValidator("typeParameters",cdk().hashValidator(cdk().validateString))(properties.typeParameters)),errors.wrap('supplied properties not correct for "SemanticTypeProperty"')}function convertCfnTopicSemanticTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicSemanticTypePropertyValidator(properties).assertSuccess(),{FalseyCellValue:cdk().stringToCloudFormation(properties.falseyCellValue),FalseyCellValueSynonyms:cdk().listMapper(cdk().stringToCloudFormation)(properties.falseyCellValueSynonyms),SubTypeName:cdk().stringToCloudFormation(properties.subTypeName),TruthyCellValue:cdk().stringToCloudFormation(properties.truthyCellValue),TruthyCellValueSynonyms:cdk().listMapper(cdk().stringToCloudFormation)(properties.truthyCellValueSynonyms),TypeName:cdk().stringToCloudFormation(properties.typeName),TypeParameters:cdk().hashMapper(cdk().stringToCloudFormation)(properties.typeParameters)}):properties}function CfnTopicSemanticTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("falseyCellValue","FalseyCellValue",properties.FalseyCellValue!=null?cfn_parse().FromCloudFormation.getString(properties.FalseyCellValue):void 0),ret.addPropertyResult("falseyCellValueSynonyms","FalseyCellValueSynonyms",properties.FalseyCellValueSynonyms!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FalseyCellValueSynonyms):void 0),ret.addPropertyResult("subTypeName","SubTypeName",properties.SubTypeName!=null?cfn_parse().FromCloudFormation.getString(properties.SubTypeName):void 0),ret.addPropertyResult("truthyCellValue","TruthyCellValue",properties.TruthyCellValue!=null?cfn_parse().FromCloudFormation.getString(properties.TruthyCellValue):void 0),ret.addPropertyResult("truthyCellValueSynonyms","TruthyCellValueSynonyms",properties.TruthyCellValueSynonyms!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TruthyCellValueSynonyms):void 0),ret.addPropertyResult("typeName","TypeName",properties.TypeName!=null?cfn_parse().FromCloudFormation.getString(properties.TypeName):void 0),ret.addPropertyResult("typeParameters","TypeParameters",properties.TypeParameters!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.TypeParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicNegativeFormatPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.wrap('supplied properties not correct for "NegativeFormatProperty"')}function convertCfnTopicNegativeFormatPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicNegativeFormatPropertyValidator(properties).assertSuccess(),{Prefix:cdk().stringToCloudFormation(properties.prefix),Suffix:cdk().stringToCloudFormation(properties.suffix)}):properties}function CfnTopicNegativeFormatPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicDisplayFormatOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("blankCellFormat",cdk().validateString)(properties.blankCellFormat)),errors.collect(cdk().propertyValidator("currencySymbol",cdk().validateString)(properties.currencySymbol)),errors.collect(cdk().propertyValidator("dateFormat",cdk().validateString)(properties.dateFormat)),errors.collect(cdk().propertyValidator("decimalSeparator",cdk().validateString)(properties.decimalSeparator)),errors.collect(cdk().propertyValidator("fractionDigits",cdk().validateNumber)(properties.fractionDigits)),errors.collect(cdk().propertyValidator("groupingSeparator",cdk().validateString)(properties.groupingSeparator)),errors.collect(cdk().propertyValidator("negativeFormat",CfnTopicNegativeFormatPropertyValidator)(properties.negativeFormat)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("suffix",cdk().validateString)(properties.suffix)),errors.collect(cdk().propertyValidator("unitScaler",cdk().validateString)(properties.unitScaler)),errors.collect(cdk().propertyValidator("useBlankCellFormat",cdk().validateBoolean)(properties.useBlankCellFormat)),errors.collect(cdk().propertyValidator("useGrouping",cdk().validateBoolean)(properties.useGrouping)),errors.wrap('supplied properties not correct for "DisplayFormatOptionsProperty"')}function convertCfnTopicDisplayFormatOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicDisplayFormatOptionsPropertyValidator(properties).assertSuccess(),{BlankCellFormat:cdk().stringToCloudFormation(properties.blankCellFormat),CurrencySymbol:cdk().stringToCloudFormation(properties.currencySymbol),DateFormat:cdk().stringToCloudFormation(properties.dateFormat),DecimalSeparator:cdk().stringToCloudFormation(properties.decimalSeparator),FractionDigits:cdk().numberToCloudFormation(properties.fractionDigits),GroupingSeparator:cdk().stringToCloudFormation(properties.groupingSeparator),NegativeFormat:convertCfnTopicNegativeFormatPropertyToCloudFormation(properties.negativeFormat),Prefix:cdk().stringToCloudFormation(properties.prefix),Suffix:cdk().stringToCloudFormation(properties.suffix),UnitScaler:cdk().stringToCloudFormation(properties.unitScaler),UseBlankCellFormat:cdk().booleanToCloudFormation(properties.useBlankCellFormat),UseGrouping:cdk().booleanToCloudFormation(properties.useGrouping)}):properties}function CfnTopicDisplayFormatOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("blankCellFormat","BlankCellFormat",properties.BlankCellFormat!=null?cfn_parse().FromCloudFormation.getString(properties.BlankCellFormat):void 0),ret.addPropertyResult("currencySymbol","CurrencySymbol",properties.CurrencySymbol!=null?cfn_parse().FromCloudFormation.getString(properties.CurrencySymbol):void 0),ret.addPropertyResult("dateFormat","DateFormat",properties.DateFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DateFormat):void 0),ret.addPropertyResult("decimalSeparator","DecimalSeparator",properties.DecimalSeparator!=null?cfn_parse().FromCloudFormation.getString(properties.DecimalSeparator):void 0),ret.addPropertyResult("fractionDigits","FractionDigits",properties.FractionDigits!=null?cfn_parse().FromCloudFormation.getNumber(properties.FractionDigits):void 0),ret.addPropertyResult("groupingSeparator","GroupingSeparator",properties.GroupingSeparator!=null?cfn_parse().FromCloudFormation.getString(properties.GroupingSeparator):void 0),ret.addPropertyResult("negativeFormat","NegativeFormat",properties.NegativeFormat!=null?CfnTopicNegativeFormatPropertyFromCloudFormation(properties.NegativeFormat):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("suffix","Suffix",properties.Suffix!=null?cfn_parse().FromCloudFormation.getString(properties.Suffix):void 0),ret.addPropertyResult("unitScaler","UnitScaler",properties.UnitScaler!=null?cfn_parse().FromCloudFormation.getString(properties.UnitScaler):void 0),ret.addPropertyResult("useBlankCellFormat","UseBlankCellFormat",properties.UseBlankCellFormat!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseBlankCellFormat):void 0),ret.addPropertyResult("useGrouping","UseGrouping",properties.UseGrouping!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseGrouping):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicDefaultFormattingPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("displayFormat",cdk().validateString)(properties.displayFormat)),errors.collect(cdk().propertyValidator("displayFormatOptions",CfnTopicDisplayFormatOptionsPropertyValidator)(properties.displayFormatOptions)),errors.wrap('supplied properties not correct for "DefaultFormattingProperty"')}function convertCfnTopicDefaultFormattingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicDefaultFormattingPropertyValidator(properties).assertSuccess(),{DisplayFormat:cdk().stringToCloudFormation(properties.displayFormat),DisplayFormatOptions:convertCfnTopicDisplayFormatOptionsPropertyToCloudFormation(properties.displayFormatOptions)}):properties}function CfnTopicDefaultFormattingPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("displayFormat","DisplayFormat",properties.DisplayFormat!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayFormat):void 0),ret.addPropertyResult("displayFormatOptions","DisplayFormatOptions",properties.DisplayFormatOptions!=null?CfnTopicDisplayFormatOptionsPropertyFromCloudFormation(properties.DisplayFormatOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicComparativeOrderPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("specifedOrder",cdk().listValidator(cdk().validateString))(properties.specifedOrder)),errors.collect(cdk().propertyValidator("treatUndefinedSpecifiedValues",cdk().validateString)(properties.treatUndefinedSpecifiedValues)),errors.collect(cdk().propertyValidator("useOrdering",cdk().validateString)(properties.useOrdering)),errors.wrap('supplied properties not correct for "ComparativeOrderProperty"')}function convertCfnTopicComparativeOrderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicComparativeOrderPropertyValidator(properties).assertSuccess(),{SpecifedOrder:cdk().listMapper(cdk().stringToCloudFormation)(properties.specifedOrder),TreatUndefinedSpecifiedValues:cdk().stringToCloudFormation(properties.treatUndefinedSpecifiedValues),UseOrdering:cdk().stringToCloudFormation(properties.useOrdering)}):properties}function CfnTopicComparativeOrderPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("specifedOrder","SpecifedOrder",properties.SpecifedOrder!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SpecifedOrder):void 0),ret.addPropertyResult("treatUndefinedSpecifiedValues","TreatUndefinedSpecifiedValues",properties.TreatUndefinedSpecifiedValues!=null?cfn_parse().FromCloudFormation.getString(properties.TreatUndefinedSpecifiedValues):void 0),ret.addPropertyResult("useOrdering","UseOrdering",properties.UseOrdering!=null?cfn_parse().FromCloudFormation.getString(properties.UseOrdering):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicCellValueSynonymPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cellValue",cdk().validateString)(properties.cellValue)),errors.collect(cdk().propertyValidator("synonyms",cdk().listValidator(cdk().validateString))(properties.synonyms)),errors.wrap('supplied properties not correct for "CellValueSynonymProperty"')}function convertCfnTopicCellValueSynonymPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicCellValueSynonymPropertyValidator(properties).assertSuccess(),{CellValue:cdk().stringToCloudFormation(properties.cellValue),Synonyms:cdk().listMapper(cdk().stringToCloudFormation)(properties.synonyms)}):properties}function CfnTopicCellValueSynonymPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cellValue","CellValue",properties.CellValue!=null?cfn_parse().FromCloudFormation.getString(properties.CellValue):void 0),ret.addPropertyResult("synonyms","Synonyms",properties.Synonyms!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Synonyms):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicCalculatedFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregation",cdk().validateString)(properties.aggregation)),errors.collect(cdk().propertyValidator("allowedAggregations",cdk().listValidator(cdk().validateString))(properties.allowedAggregations)),errors.collect(cdk().propertyValidator("calculatedFieldDescription",cdk().validateString)(properties.calculatedFieldDescription)),errors.collect(cdk().propertyValidator("calculatedFieldName",cdk().requiredValidator)(properties.calculatedFieldName)),errors.collect(cdk().propertyValidator("calculatedFieldName",cdk().validateString)(properties.calculatedFieldName)),errors.collect(cdk().propertyValidator("calculatedFieldSynonyms",cdk().listValidator(cdk().validateString))(properties.calculatedFieldSynonyms)),errors.collect(cdk().propertyValidator("cellValueSynonyms",cdk().listValidator(CfnTopicCellValueSynonymPropertyValidator))(properties.cellValueSynonyms)),errors.collect(cdk().propertyValidator("columnDataRole",cdk().validateString)(properties.columnDataRole)),errors.collect(cdk().propertyValidator("comparativeOrder",CfnTopicComparativeOrderPropertyValidator)(properties.comparativeOrder)),errors.collect(cdk().propertyValidator("defaultFormatting",CfnTopicDefaultFormattingPropertyValidator)(properties.defaultFormatting)),errors.collect(cdk().propertyValidator("disableIndexing",cdk().validateBoolean)(properties.disableIndexing)),errors.collect(cdk().propertyValidator("expression",cdk().requiredValidator)(properties.expression)),errors.collect(cdk().propertyValidator("expression",cdk().validateString)(properties.expression)),errors.collect(cdk().propertyValidator("isIncludedInTopic",cdk().validateBoolean)(properties.isIncludedInTopic)),errors.collect(cdk().propertyValidator("neverAggregateInFilter",cdk().validateBoolean)(properties.neverAggregateInFilter)),errors.collect(cdk().propertyValidator("nonAdditive",cdk().validateBoolean)(properties.nonAdditive)),errors.collect(cdk().propertyValidator("notAllowedAggregations",cdk().listValidator(cdk().validateString))(properties.notAllowedAggregations)),errors.collect(cdk().propertyValidator("semanticType",CfnTopicSemanticTypePropertyValidator)(properties.semanticType)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TopicCalculatedFieldProperty"')}function convertCfnTopicTopicCalculatedFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicCalculatedFieldPropertyValidator(properties).assertSuccess(),{Aggregation:cdk().stringToCloudFormation(properties.aggregation),AllowedAggregations:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowedAggregations),CalculatedFieldDescription:cdk().stringToCloudFormation(properties.calculatedFieldDescription),CalculatedFieldName:cdk().stringToCloudFormation(properties.calculatedFieldName),CalculatedFieldSynonyms:cdk().listMapper(cdk().stringToCloudFormation)(properties.calculatedFieldSynonyms),CellValueSynonyms:cdk().listMapper(convertCfnTopicCellValueSynonymPropertyToCloudFormation)(properties.cellValueSynonyms),ColumnDataRole:cdk().stringToCloudFormation(properties.columnDataRole),ComparativeOrder:convertCfnTopicComparativeOrderPropertyToCloudFormation(properties.comparativeOrder),DefaultFormatting:convertCfnTopicDefaultFormattingPropertyToCloudFormation(properties.defaultFormatting),DisableIndexing:cdk().booleanToCloudFormation(properties.disableIndexing),Expression:cdk().stringToCloudFormation(properties.expression),IsIncludedInTopic:cdk().booleanToCloudFormation(properties.isIncludedInTopic),NeverAggregateInFilter:cdk().booleanToCloudFormation(properties.neverAggregateInFilter),NonAdditive:cdk().booleanToCloudFormation(properties.nonAdditive),NotAllowedAggregations:cdk().listMapper(cdk().stringToCloudFormation)(properties.notAllowedAggregations),SemanticType:convertCfnTopicSemanticTypePropertyToCloudFormation(properties.semanticType),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnTopicTopicCalculatedFieldPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregation","Aggregation",properties.Aggregation!=null?cfn_parse().FromCloudFormation.getString(properties.Aggregation):void 0),ret.addPropertyResult("allowedAggregations","AllowedAggregations",properties.AllowedAggregations!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowedAggregations):void 0),ret.addPropertyResult("calculatedFieldDescription","CalculatedFieldDescription",properties.CalculatedFieldDescription!=null?cfn_parse().FromCloudFormation.getString(properties.CalculatedFieldDescription):void 0),ret.addPropertyResult("calculatedFieldName","CalculatedFieldName",properties.CalculatedFieldName!=null?cfn_parse().FromCloudFormation.getString(properties.CalculatedFieldName):void 0),ret.addPropertyResult("calculatedFieldSynonyms","CalculatedFieldSynonyms",properties.CalculatedFieldSynonyms!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CalculatedFieldSynonyms):void 0),ret.addPropertyResult("cellValueSynonyms","CellValueSynonyms",properties.CellValueSynonyms!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicCellValueSynonymPropertyFromCloudFormation)(properties.CellValueSynonyms):void 0),ret.addPropertyResult("columnDataRole","ColumnDataRole",properties.ColumnDataRole!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnDataRole):void 0),ret.addPropertyResult("comparativeOrder","ComparativeOrder",properties.ComparativeOrder!=null?CfnTopicComparativeOrderPropertyFromCloudFormation(properties.ComparativeOrder):void 0),ret.addPropertyResult("defaultFormatting","DefaultFormatting",properties.DefaultFormatting!=null?CfnTopicDefaultFormattingPropertyFromCloudFormation(properties.DefaultFormatting):void 0),ret.addPropertyResult("disableIndexing","DisableIndexing",properties.DisableIndexing!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableIndexing):void 0),ret.addPropertyResult("expression","Expression",properties.Expression!=null?cfn_parse().FromCloudFormation.getString(properties.Expression):void 0),ret.addPropertyResult("isIncludedInTopic","IsIncludedInTopic",properties.IsIncludedInTopic!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsIncludedInTopic):void 0),ret.addPropertyResult("neverAggregateInFilter","NeverAggregateInFilter",properties.NeverAggregateInFilter!=null?cfn_parse().FromCloudFormation.getBoolean(properties.NeverAggregateInFilter):void 0),ret.addPropertyResult("nonAdditive","NonAdditive",properties.NonAdditive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.NonAdditive):void 0),ret.addPropertyResult("notAllowedAggregations","NotAllowedAggregations",properties.NotAllowedAggregations!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NotAllowedAggregations):void 0),ret.addPropertyResult("semanticType","SemanticType",properties.SemanticType!=null?CfnTopicSemanticTypePropertyFromCloudFormation(properties.SemanticType):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicColumnPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("aggregation",cdk().validateString)(properties.aggregation)),errors.collect(cdk().propertyValidator("allowedAggregations",cdk().listValidator(cdk().validateString))(properties.allowedAggregations)),errors.collect(cdk().propertyValidator("cellValueSynonyms",cdk().listValidator(CfnTopicCellValueSynonymPropertyValidator))(properties.cellValueSynonyms)),errors.collect(cdk().propertyValidator("columnDataRole",cdk().validateString)(properties.columnDataRole)),errors.collect(cdk().propertyValidator("columnDescription",cdk().validateString)(properties.columnDescription)),errors.collect(cdk().propertyValidator("columnFriendlyName",cdk().validateString)(properties.columnFriendlyName)),errors.collect(cdk().propertyValidator("columnName",cdk().requiredValidator)(properties.columnName)),errors.collect(cdk().propertyValidator("columnName",cdk().validateString)(properties.columnName)),errors.collect(cdk().propertyValidator("columnSynonyms",cdk().listValidator(cdk().validateString))(properties.columnSynonyms)),errors.collect(cdk().propertyValidator("comparativeOrder",CfnTopicComparativeOrderPropertyValidator)(properties.comparativeOrder)),errors.collect(cdk().propertyValidator("defaultFormatting",CfnTopicDefaultFormattingPropertyValidator)(properties.defaultFormatting)),errors.collect(cdk().propertyValidator("disableIndexing",cdk().validateBoolean)(properties.disableIndexing)),errors.collect(cdk().propertyValidator("isIncludedInTopic",cdk().validateBoolean)(properties.isIncludedInTopic)),errors.collect(cdk().propertyValidator("neverAggregateInFilter",cdk().validateBoolean)(properties.neverAggregateInFilter)),errors.collect(cdk().propertyValidator("nonAdditive",cdk().validateBoolean)(properties.nonAdditive)),errors.collect(cdk().propertyValidator("notAllowedAggregations",cdk().listValidator(cdk().validateString))(properties.notAllowedAggregations)),errors.collect(cdk().propertyValidator("semanticType",CfnTopicSemanticTypePropertyValidator)(properties.semanticType)),errors.collect(cdk().propertyValidator("timeGranularity",cdk().validateString)(properties.timeGranularity)),errors.wrap('supplied properties not correct for "TopicColumnProperty"')}function convertCfnTopicTopicColumnPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicColumnPropertyValidator(properties).assertSuccess(),{Aggregation:cdk().stringToCloudFormation(properties.aggregation),AllowedAggregations:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowedAggregations),CellValueSynonyms:cdk().listMapper(convertCfnTopicCellValueSynonymPropertyToCloudFormation)(properties.cellValueSynonyms),ColumnDataRole:cdk().stringToCloudFormation(properties.columnDataRole),ColumnDescription:cdk().stringToCloudFormation(properties.columnDescription),ColumnFriendlyName:cdk().stringToCloudFormation(properties.columnFriendlyName),ColumnName:cdk().stringToCloudFormation(properties.columnName),ColumnSynonyms:cdk().listMapper(cdk().stringToCloudFormation)(properties.columnSynonyms),ComparativeOrder:convertCfnTopicComparativeOrderPropertyToCloudFormation(properties.comparativeOrder),DefaultFormatting:convertCfnTopicDefaultFormattingPropertyToCloudFormation(properties.defaultFormatting),DisableIndexing:cdk().booleanToCloudFormation(properties.disableIndexing),IsIncludedInTopic:cdk().booleanToCloudFormation(properties.isIncludedInTopic),NeverAggregateInFilter:cdk().booleanToCloudFormation(properties.neverAggregateInFilter),NonAdditive:cdk().booleanToCloudFormation(properties.nonAdditive),NotAllowedAggregations:cdk().listMapper(cdk().stringToCloudFormation)(properties.notAllowedAggregations),SemanticType:convertCfnTopicSemanticTypePropertyToCloudFormation(properties.semanticType),TimeGranularity:cdk().stringToCloudFormation(properties.timeGranularity)}):properties}function CfnTopicTopicColumnPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("aggregation","Aggregation",properties.Aggregation!=null?cfn_parse().FromCloudFormation.getString(properties.Aggregation):void 0),ret.addPropertyResult("allowedAggregations","AllowedAggregations",properties.AllowedAggregations!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowedAggregations):void 0),ret.addPropertyResult("cellValueSynonyms","CellValueSynonyms",properties.CellValueSynonyms!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicCellValueSynonymPropertyFromCloudFormation)(properties.CellValueSynonyms):void 0),ret.addPropertyResult("columnDataRole","ColumnDataRole",properties.ColumnDataRole!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnDataRole):void 0),ret.addPropertyResult("columnDescription","ColumnDescription",properties.ColumnDescription!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnDescription):void 0),ret.addPropertyResult("columnFriendlyName","ColumnFriendlyName",properties.ColumnFriendlyName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnFriendlyName):void 0),ret.addPropertyResult("columnName","ColumnName",properties.ColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.ColumnName):void 0),ret.addPropertyResult("columnSynonyms","ColumnSynonyms",properties.ColumnSynonyms!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ColumnSynonyms):void 0),ret.addPropertyResult("comparativeOrder","ComparativeOrder",properties.ComparativeOrder!=null?CfnTopicComparativeOrderPropertyFromCloudFormation(properties.ComparativeOrder):void 0),ret.addPropertyResult("defaultFormatting","DefaultFormatting",properties.DefaultFormatting!=null?CfnTopicDefaultFormattingPropertyFromCloudFormation(properties.DefaultFormatting):void 0),ret.addPropertyResult("disableIndexing","DisableIndexing",properties.DisableIndexing!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableIndexing):void 0),ret.addPropertyResult("isIncludedInTopic","IsIncludedInTopic",properties.IsIncludedInTopic!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsIncludedInTopic):void 0),ret.addPropertyResult("neverAggregateInFilter","NeverAggregateInFilter",properties.NeverAggregateInFilter!=null?cfn_parse().FromCloudFormation.getBoolean(properties.NeverAggregateInFilter):void 0),ret.addPropertyResult("nonAdditive","NonAdditive",properties.NonAdditive!=null?cfn_parse().FromCloudFormation.getBoolean(properties.NonAdditive):void 0),ret.addPropertyResult("notAllowedAggregations","NotAllowedAggregations",properties.NotAllowedAggregations!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NotAllowedAggregations):void 0),ret.addPropertyResult("semanticType","SemanticType",properties.SemanticType!=null?CfnTopicSemanticTypePropertyFromCloudFormation(properties.SemanticType):void 0),ret.addPropertyResult("timeGranularity","TimeGranularity",properties.TimeGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.TimeGranularity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicDataAggregationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("datasetRowDateGranularity",cdk().validateString)(properties.datasetRowDateGranularity)),errors.collect(cdk().propertyValidator("defaultDateColumnName",cdk().validateString)(properties.defaultDateColumnName)),errors.wrap('supplied properties not correct for "DataAggregationProperty"')}function convertCfnTopicDataAggregationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicDataAggregationPropertyValidator(properties).assertSuccess(),{DatasetRowDateGranularity:cdk().stringToCloudFormation(properties.datasetRowDateGranularity),DefaultDateColumnName:cdk().stringToCloudFormation(properties.defaultDateColumnName)}):properties}function CfnTopicDataAggregationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("datasetRowDateGranularity","DatasetRowDateGranularity",properties.DatasetRowDateGranularity!=null?cfn_parse().FromCloudFormation.getString(properties.DatasetRowDateGranularity):void 0),ret.addPropertyResult("defaultDateColumnName","DefaultDateColumnName",properties.DefaultDateColumnName!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultDateColumnName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicDatasetMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("calculatedFields",cdk().listValidator(CfnTopicTopicCalculatedFieldPropertyValidator))(properties.calculatedFields)),errors.collect(cdk().propertyValidator("columns",cdk().listValidator(CfnTopicTopicColumnPropertyValidator))(properties.columns)),errors.collect(cdk().propertyValidator("dataAggregation",CfnTopicDataAggregationPropertyValidator)(properties.dataAggregation)),errors.collect(cdk().propertyValidator("datasetArn",cdk().requiredValidator)(properties.datasetArn)),errors.collect(cdk().propertyValidator("datasetArn",cdk().validateString)(properties.datasetArn)),errors.collect(cdk().propertyValidator("datasetDescription",cdk().validateString)(properties.datasetDescription)),errors.collect(cdk().propertyValidator("datasetName",cdk().validateString)(properties.datasetName)),errors.collect(cdk().propertyValidator("filters",cdk().listValidator(CfnTopicTopicFilterPropertyValidator))(properties.filters)),errors.collect(cdk().propertyValidator("namedEntities",cdk().listValidator(CfnTopicTopicNamedEntityPropertyValidator))(properties.namedEntities)),errors.wrap('supplied properties not correct for "DatasetMetadataProperty"')}function convertCfnTopicDatasetMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicDatasetMetadataPropertyValidator(properties).assertSuccess(),{CalculatedFields:cdk().listMapper(convertCfnTopicTopicCalculatedFieldPropertyToCloudFormation)(properties.calculatedFields),Columns:cdk().listMapper(convertCfnTopicTopicColumnPropertyToCloudFormation)(properties.columns),DataAggregation:convertCfnTopicDataAggregationPropertyToCloudFormation(properties.dataAggregation),DatasetArn:cdk().stringToCloudFormation(properties.datasetArn),DatasetDescription:cdk().stringToCloudFormation(properties.datasetDescription),DatasetName:cdk().stringToCloudFormation(properties.datasetName),Filters:cdk().listMapper(convertCfnTopicTopicFilterPropertyToCloudFormation)(properties.filters),NamedEntities:cdk().listMapper(convertCfnTopicTopicNamedEntityPropertyToCloudFormation)(properties.namedEntities)}):properties}function CfnTopicDatasetMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("calculatedFields","CalculatedFields",properties.CalculatedFields!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicTopicCalculatedFieldPropertyFromCloudFormation)(properties.CalculatedFields):void 0),ret.addPropertyResult("columns","Columns",properties.Columns!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicTopicColumnPropertyFromCloudFormation)(properties.Columns):void 0),ret.addPropertyResult("dataAggregation","DataAggregation",properties.DataAggregation!=null?CfnTopicDataAggregationPropertyFromCloudFormation(properties.DataAggregation):void 0),ret.addPropertyResult("datasetArn","DatasetArn",properties.DatasetArn!=null?cfn_parse().FromCloudFormation.getString(properties.DatasetArn):void 0),ret.addPropertyResult("datasetDescription","DatasetDescription",properties.DatasetDescription!=null?cfn_parse().FromCloudFormation.getString(properties.DatasetDescription):void 0),ret.addPropertyResult("datasetName","DatasetName",properties.DatasetName!=null?cfn_parse().FromCloudFormation.getString(properties.DatasetName):void 0),ret.addPropertyResult("filters","Filters",properties.Filters!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicTopicFilterPropertyFromCloudFormation)(properties.Filters):void 0),ret.addPropertyResult("namedEntities","NamedEntities",properties.NamedEntities!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicTopicNamedEntityPropertyFromCloudFormation)(properties.NamedEntities):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicTopicConfigOptionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("qBusinessInsightsEnabled",cdk().validateBoolean)(properties.qBusinessInsightsEnabled)),errors.wrap('supplied properties not correct for "TopicConfigOptionsProperty"')}function convertCfnTopicTopicConfigOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicTopicConfigOptionsPropertyValidator(properties).assertSuccess(),{QBusinessInsightsEnabled:cdk().booleanToCloudFormation(properties.qBusinessInsightsEnabled)}):properties}function CfnTopicTopicConfigOptionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("qBusinessInsightsEnabled","QBusinessInsightsEnabled",properties.QBusinessInsightsEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.QBusinessInsightsEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicCustomInstructionsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customInstructionsString",cdk().requiredValidator)(properties.customInstructionsString)),errors.collect(cdk().propertyValidator("customInstructionsString",cdk().validateString)(properties.customInstructionsString)),errors.wrap('supplied properties not correct for "CustomInstructionsProperty"')}function convertCfnTopicCustomInstructionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicCustomInstructionsPropertyValidator(properties).assertSuccess(),{CustomInstructionsString:cdk().stringToCloudFormation(properties.customInstructionsString)}):properties}function CfnTopicCustomInstructionsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customInstructionsString","CustomInstructionsString",properties.CustomInstructionsString!=null?cfn_parse().FromCloudFormation.getString(properties.CustomInstructionsString):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("configOptions",CfnTopicTopicConfigOptionsPropertyValidator)(properties.configOptions)),errors.collect(cdk().propertyValidator("customInstructions",CfnTopicCustomInstructionsPropertyValidator)(properties.customInstructions)),errors.collect(cdk().propertyValidator("dataSets",cdk().listValidator(CfnTopicDatasetMetadataPropertyValidator))(properties.dataSets)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("folderArns",cdk().listValidator(cdk().validateString))(properties.folderArns)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("topicId",cdk().validateString)(properties.topicId)),errors.collect(cdk().propertyValidator("userExperienceVersion",cdk().validateString)(properties.userExperienceVersion)),errors.wrap('supplied properties not correct for "CfnTopicProps"')}function convertCfnTopicPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicPropsValidator(properties).assertSuccess(),{AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),ConfigOptions:convertCfnTopicTopicConfigOptionsPropertyToCloudFormation(properties.configOptions),CustomInstructions:convertCfnTopicCustomInstructionsPropertyToCloudFormation(properties.customInstructions),DataSets:cdk().listMapper(convertCfnTopicDatasetMetadataPropertyToCloudFormation)(properties.dataSets),Description:cdk().stringToCloudFormation(properties.description),FolderArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.folderArns),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TopicId:cdk().stringToCloudFormation(properties.topicId),UserExperienceVersion:cdk().stringToCloudFormation(properties.userExperienceVersion)}):properties}function CfnTopicPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("configOptions","ConfigOptions",properties.ConfigOptions!=null?CfnTopicTopicConfigOptionsPropertyFromCloudFormation(properties.ConfigOptions):void 0),ret.addPropertyResult("customInstructions","CustomInstructions",properties.CustomInstructions!=null?CfnTopicCustomInstructionsPropertyFromCloudFormation(properties.CustomInstructions):void 0),ret.addPropertyResult("dataSets","DataSets",properties.DataSets!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicDatasetMetadataPropertyFromCloudFormation)(properties.DataSets):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("folderArns","FolderArns",properties.FolderArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FolderArns):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("topicId","TopicId",properties.TopicId!=null?cfn_parse().FromCloudFormation.getString(properties.TopicId):void 0),ret.addPropertyResult("userExperienceVersion","UserExperienceVersion",properties.UserExperienceVersion!=null?cfn_parse().FromCloudFormation.getString(properties.UserExperienceVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnVPCConnection extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnVPCConnection",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::VPCConnection";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnVPCConnectionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnVPCConnection(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnVPCConnection(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnVPCConnection.CFN_RESOURCE_TYPE_NAME}static arnForVPCConnection(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_IVPCConnectionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForVPCConnection),error}return resource.vpcConnectionRef.vpcConnectionArn}_availabilityStatus;_awsAccountId;_dnsResolvers;_name;_roleArn;_securityGroupIds;_subnetIds;tags;_tagsRaw;_vpcConnectionId;cfnPropertyNames={availabilityStatus:"AvailabilityStatus",awsAccountId:"AwsAccountId",dnsResolvers:"DnsResolvers",name:"Name",roleArn:"RoleArn",securityGroupIds:"SecurityGroupIds",subnetIds:"SubnetIds",tags:"Tags",vpcConnectionId:"VPCConnectionId"};constructor(scope,id,props={}){super(scope,id,{type:CfnVPCConnection.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnVPCConnectionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnVPCConnection),error}this._availabilityStatus=props.availabilityStatus,this._awsAccountId=props.awsAccountId,this._dnsResolvers=props.dnsResolvers,this._name=props.name,this._roleArn=props.roleArn,this._securityGroupIds=props.securityGroupIds,this._subnetIds=props.subnetIds,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::VPCConnection",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._vpcConnectionId=props.vpcConnectionId}get vpcConnectionRef(){return{awsAccountId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),vpcConnectionId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),vpcConnectionArn:this.attrArn}}get availabilityStatus(){return this._availabilityStatus}set availabilityStatus(value){cdk().traceProperty(this.node,"AvailabilityStatus"),this._availabilityStatus=value}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get dnsResolvers(){return this._dnsResolvers}set dnsResolvers(value){cdk().traceProperty(this.node,"DnsResolvers"),this._dnsResolvers=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get securityGroupIds(){return this._securityGroupIds}set securityGroupIds(value){cdk().traceProperty(this.node,"SecurityGroupIds"),this._securityGroupIds=value}get subnetIds(){return this._subnetIds}set subnetIds(value){cdk().traceProperty(this.node,"SubnetIds"),this._subnetIds=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get vpcConnectionId(){return this._vpcConnectionId}set vpcConnectionId(value){cdk().traceProperty(this.node,"VPCConnectionId"),this._vpcConnectionId=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get attrNetworkInterfaces(){return this.getAtt("NetworkInterfaces")}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrVpcId(){return cdk().Token.asString(this.getAtt("VPCId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{availabilityStatus:this._availabilityStatus,awsAccountId:this._awsAccountId,dnsResolvers:this._dnsResolvers,name:this._name,roleArn:this._roleArn,securityGroupIds:this._securityGroupIds,subnetIds:this._subnetIds,tags:this.tags.renderTags(),vpcConnectionId:this._vpcConnectionId}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnVPCConnection.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnVPCConnectionPropsToCloudFormation(props)}}exports.CfnVPCConnection=CfnVPCConnection;function CfnVPCConnectionNetworkInterfacePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityZone",cdk().validateString)(properties.availabilityZone)),errors.collect(cdk().propertyValidator("errorMessage",cdk().validateString)(properties.errorMessage)),errors.collect(cdk().propertyValidator("networkInterfaceId",cdk().validateString)(properties.networkInterfaceId)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("subnetId",cdk().validateString)(properties.subnetId)),errors.wrap('supplied properties not correct for "NetworkInterfaceProperty"')}function convertCfnVPCConnectionNetworkInterfacePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVPCConnectionNetworkInterfacePropertyValidator(properties).assertSuccess(),{AvailabilityZone:cdk().stringToCloudFormation(properties.availabilityZone),ErrorMessage:cdk().stringToCloudFormation(properties.errorMessage),NetworkInterfaceId:cdk().stringToCloudFormation(properties.networkInterfaceId),Status:cdk().stringToCloudFormation(properties.status),SubnetId:cdk().stringToCloudFormation(properties.subnetId)}):properties}function CfnVPCConnectionNetworkInterfacePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityZone","AvailabilityZone",properties.AvailabilityZone!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityZone):void 0),ret.addPropertyResult("errorMessage","ErrorMessage",properties.ErrorMessage!=null?cfn_parse().FromCloudFormation.getString(properties.ErrorMessage):void 0),ret.addPropertyResult("networkInterfaceId","NetworkInterfaceId",properties.NetworkInterfaceId!=null?cfn_parse().FromCloudFormation.getString(properties.NetworkInterfaceId):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("subnetId","SubnetId",properties.SubnetId!=null?cfn_parse().FromCloudFormation.getString(properties.SubnetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVPCConnectionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("availabilityStatus",cdk().validateString)(properties.availabilityStatus)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("dnsResolvers",cdk().listValidator(cdk().validateString))(properties.dnsResolvers)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("vpcConnectionId",cdk().validateString)(properties.vpcConnectionId)),errors.wrap('supplied properties not correct for "CfnVPCConnectionProps"')}function convertCfnVPCConnectionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVPCConnectionPropsValidator(properties).assertSuccess(),{AvailabilityStatus:cdk().stringToCloudFormation(properties.availabilityStatus),AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),DnsResolvers:cdk().listMapper(cdk().stringToCloudFormation)(properties.dnsResolvers),Name:cdk().stringToCloudFormation(properties.name),RoleArn:cdk().stringToCloudFormation(properties.roleArn),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VPCConnectionId:cdk().stringToCloudFormation(properties.vpcConnectionId)}):properties}function CfnVPCConnectionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityStatus","AvailabilityStatus",properties.AvailabilityStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AvailabilityStatus):void 0),ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("dnsResolvers","DnsResolvers",properties.DnsResolvers!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DnsResolvers):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcConnectionId","VPCConnectionId",properties.VPCConnectionId!=null?cfn_parse().FromCloudFormation.getString(properties.VPCConnectionId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnActionConnector extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnActionConnector",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::ActionConnector";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnActionConnectorPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnActionConnector(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnActionConnector(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnActionConnector.CFN_RESOURCE_TYPE_NAME}static arnForActionConnector(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_IActionConnectorRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForActionConnector),error}return resource.actionConnectorRef.actionConnectorArn}_actionConnectorId;_authenticationConfig;_awsAccountId;cdkTagManager;_description;_name;_permissions;_tags;_type;_vpcConnectionArn;cfnPropertyNames={actionConnectorId:"ActionConnectorId",authenticationConfig:"AuthenticationConfig",awsAccountId:"AwsAccountId",tags:"Tags",description:"Description",name:"Name",permissions:"Permissions",type:"Type",vpcConnectionArn:"VpcConnectionArn"};constructor(scope,id,props){super(scope,id,{type:CfnActionConnector.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnActionConnectorProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnActionConnector),error}cdk().requireProperty(props,"actionConnectorId",this),cdk().requireProperty(props,"awsAccountId",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"type",this),this._actionConnectorId=props.actionConnectorId,this._authenticationConfig=props.authenticationConfig,this._awsAccountId=props.awsAccountId,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::ActionConnector",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._name=props.name,this._permissions=props.permissions,this._tags=props.tags,this._type=props.type,this._vpcConnectionArn=props.vpcConnectionArn}get actionConnectorRef(){return{actionConnectorId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),awsAccountId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),actionConnectorArn:this.attrArn}}get actionConnectorId(){return this._actionConnectorId}set actionConnectorId(value){cdk().traceProperty(this.node,"ActionConnectorId"),this._actionConnectorId=value}get authenticationConfig(){return this._authenticationConfig}set authenticationConfig(value){cdk().traceProperty(this.node,"AuthenticationConfig"),this._authenticationConfig=value}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get permissions(){return this._permissions}set permissions(value){cdk().traceProperty(this.node,"Permissions"),this._permissions=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get vpcConnectionArn(){return this._vpcConnectionArn}set vpcConnectionArn(value){cdk().traceProperty(this.node,"VpcConnectionArn"),this._vpcConnectionArn=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrEnabledActions(){return cdk().Token.asList(this.getAtt("EnabledActions",cdk().ResolutionTypeHint.STRING_LIST))}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{actionConnectorId:this._actionConnectorId,authenticationConfig:this._authenticationConfig,awsAccountId:this._awsAccountId,tags:this.cdkTagManager.renderTags(this._tags),description:this._description,name:this._name,permissions:this._permissions,type:this._type,vpcConnectionArn:this._vpcConnectionArn}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnActionConnector.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnActionConnectorPropsToCloudFormation(props)}}exports.CfnActionConnector=CfnActionConnector;function CfnActionConnectorAuthorizationCodeGrantDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authorizationEndpoint",cdk().requiredValidator)(properties.authorizationEndpoint)),errors.collect(cdk().propertyValidator("authorizationEndpoint",cdk().validateString)(properties.authorizationEndpoint)),errors.collect(cdk().propertyValidator("clientId",cdk().requiredValidator)(properties.clientId)),errors.collect(cdk().propertyValidator("clientId",cdk().validateString)(properties.clientId)),errors.collect(cdk().propertyValidator("clientSecret",cdk().requiredValidator)(properties.clientSecret)),errors.collect(cdk().propertyValidator("clientSecret",cdk().validateString)(properties.clientSecret)),errors.collect(cdk().propertyValidator("tokenEndpoint",cdk().requiredValidator)(properties.tokenEndpoint)),errors.collect(cdk().propertyValidator("tokenEndpoint",cdk().validateString)(properties.tokenEndpoint)),errors.wrap('supplied properties not correct for "AuthorizationCodeGrantDetailsProperty"')}function convertCfnActionConnectorAuthorizationCodeGrantDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorAuthorizationCodeGrantDetailsPropertyValidator(properties).assertSuccess(),{AuthorizationEndpoint:cdk().stringToCloudFormation(properties.authorizationEndpoint),ClientId:cdk().stringToCloudFormation(properties.clientId),ClientSecret:cdk().stringToCloudFormation(properties.clientSecret),TokenEndpoint:cdk().stringToCloudFormation(properties.tokenEndpoint)}):properties}function CfnActionConnectorAuthorizationCodeGrantDetailsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizationEndpoint","AuthorizationEndpoint",properties.AuthorizationEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizationEndpoint):void 0),ret.addPropertyResult("clientId","ClientId",properties.ClientId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientId):void 0),ret.addPropertyResult("clientSecret","ClientSecret",properties.ClientSecret!=null?cfn_parse().FromCloudFormation.getString(properties.ClientSecret):void 0),ret.addPropertyResult("tokenEndpoint","TokenEndpoint",properties.TokenEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.TokenEndpoint):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorAuthorizationCodeGrantCredentialsDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authorizationCodeGrantDetails",cdk().requiredValidator)(properties.authorizationCodeGrantDetails)),errors.collect(cdk().propertyValidator("authorizationCodeGrantDetails",CfnActionConnectorAuthorizationCodeGrantDetailsPropertyValidator)(properties.authorizationCodeGrantDetails)),errors.wrap('supplied properties not correct for "AuthorizationCodeGrantCredentialsDetailsProperty"')}function convertCfnActionConnectorAuthorizationCodeGrantCredentialsDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorAuthorizationCodeGrantCredentialsDetailsPropertyValidator(properties).assertSuccess(),{AuthorizationCodeGrantDetails:convertCfnActionConnectorAuthorizationCodeGrantDetailsPropertyToCloudFormation(properties.authorizationCodeGrantDetails)}):properties}function CfnActionConnectorAuthorizationCodeGrantCredentialsDetailsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizationCodeGrantDetails","AuthorizationCodeGrantDetails",properties.AuthorizationCodeGrantDetails!=null?CfnActionConnectorAuthorizationCodeGrantDetailsPropertyFromCloudFormation(properties.AuthorizationCodeGrantDetails):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorAuthorizationCodeGrantMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authorizationCodeGrantCredentialsDetails",CfnActionConnectorAuthorizationCodeGrantCredentialsDetailsPropertyValidator)(properties.authorizationCodeGrantCredentialsDetails)),errors.collect(cdk().propertyValidator("authorizationCodeGrantCredentialsSource",cdk().validateString)(properties.authorizationCodeGrantCredentialsSource)),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().requiredValidator)(properties.baseEndpoint)),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().validateString)(properties.baseEndpoint)),errors.collect(cdk().propertyValidator("redirectUrl",cdk().requiredValidator)(properties.redirectUrl)),errors.collect(cdk().propertyValidator("redirectUrl",cdk().validateString)(properties.redirectUrl)),errors.wrap('supplied properties not correct for "AuthorizationCodeGrantMetadataProperty"')}function convertCfnActionConnectorAuthorizationCodeGrantMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorAuthorizationCodeGrantMetadataPropertyValidator(properties).assertSuccess(),{AuthorizationCodeGrantCredentialsDetails:convertCfnActionConnectorAuthorizationCodeGrantCredentialsDetailsPropertyToCloudFormation(properties.authorizationCodeGrantCredentialsDetails),AuthorizationCodeGrantCredentialsSource:cdk().stringToCloudFormation(properties.authorizationCodeGrantCredentialsSource),BaseEndpoint:cdk().stringToCloudFormation(properties.baseEndpoint),RedirectUrl:cdk().stringToCloudFormation(properties.redirectUrl)}):properties}function CfnActionConnectorAuthorizationCodeGrantMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizationCodeGrantCredentialsDetails","AuthorizationCodeGrantCredentialsDetails",properties.AuthorizationCodeGrantCredentialsDetails!=null?CfnActionConnectorAuthorizationCodeGrantCredentialsDetailsPropertyFromCloudFormation(properties.AuthorizationCodeGrantCredentialsDetails):void 0),ret.addPropertyResult("authorizationCodeGrantCredentialsSource","AuthorizationCodeGrantCredentialsSource",properties.AuthorizationCodeGrantCredentialsSource!=null?cfn_parse().FromCloudFormation.getString(properties.AuthorizationCodeGrantCredentialsSource):void 0),ret.addPropertyResult("baseEndpoint","BaseEndpoint",properties.BaseEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.BaseEndpoint):void 0),ret.addPropertyResult("redirectUrl","RedirectUrl",properties.RedirectUrl!=null?cfn_parse().FromCloudFormation.getString(properties.RedirectUrl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorClientCredentialsGrantDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clientId",cdk().requiredValidator)(properties.clientId)),errors.collect(cdk().propertyValidator("clientId",cdk().validateString)(properties.clientId)),errors.collect(cdk().propertyValidator("clientSecret",cdk().requiredValidator)(properties.clientSecret)),errors.collect(cdk().propertyValidator("clientSecret",cdk().validateString)(properties.clientSecret)),errors.collect(cdk().propertyValidator("tokenEndpoint",cdk().requiredValidator)(properties.tokenEndpoint)),errors.collect(cdk().propertyValidator("tokenEndpoint",cdk().validateString)(properties.tokenEndpoint)),errors.wrap('supplied properties not correct for "ClientCredentialsGrantDetailsProperty"')}function convertCfnActionConnectorClientCredentialsGrantDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorClientCredentialsGrantDetailsPropertyValidator(properties).assertSuccess(),{ClientId:cdk().stringToCloudFormation(properties.clientId),ClientSecret:cdk().stringToCloudFormation(properties.clientSecret),TokenEndpoint:cdk().stringToCloudFormation(properties.tokenEndpoint)}):properties}function CfnActionConnectorClientCredentialsGrantDetailsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clientId","ClientId",properties.ClientId!=null?cfn_parse().FromCloudFormation.getString(properties.ClientId):void 0),ret.addPropertyResult("clientSecret","ClientSecret",properties.ClientSecret!=null?cfn_parse().FromCloudFormation.getString(properties.ClientSecret):void 0),ret.addPropertyResult("tokenEndpoint","TokenEndpoint",properties.TokenEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.TokenEndpoint):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorClientCredentialsDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clientCredentialsGrantDetails",cdk().requiredValidator)(properties.clientCredentialsGrantDetails)),errors.collect(cdk().propertyValidator("clientCredentialsGrantDetails",CfnActionConnectorClientCredentialsGrantDetailsPropertyValidator)(properties.clientCredentialsGrantDetails)),errors.wrap('supplied properties not correct for "ClientCredentialsDetailsProperty"')}function convertCfnActionConnectorClientCredentialsDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorClientCredentialsDetailsPropertyValidator(properties).assertSuccess(),{ClientCredentialsGrantDetails:convertCfnActionConnectorClientCredentialsGrantDetailsPropertyToCloudFormation(properties.clientCredentialsGrantDetails)}):properties}function CfnActionConnectorClientCredentialsDetailsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clientCredentialsGrantDetails","ClientCredentialsGrantDetails",properties.ClientCredentialsGrantDetails!=null?CfnActionConnectorClientCredentialsGrantDetailsPropertyFromCloudFormation(properties.ClientCredentialsGrantDetails):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorClientCredentialsGrantMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().requiredValidator)(properties.baseEndpoint)),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().validateString)(properties.baseEndpoint)),errors.collect(cdk().propertyValidator("clientCredentialsDetails",CfnActionConnectorClientCredentialsDetailsPropertyValidator)(properties.clientCredentialsDetails)),errors.collect(cdk().propertyValidator("clientCredentialsSource",cdk().validateString)(properties.clientCredentialsSource)),errors.wrap('supplied properties not correct for "ClientCredentialsGrantMetadataProperty"')}function convertCfnActionConnectorClientCredentialsGrantMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorClientCredentialsGrantMetadataPropertyValidator(properties).assertSuccess(),{BaseEndpoint:cdk().stringToCloudFormation(properties.baseEndpoint),ClientCredentialsDetails:convertCfnActionConnectorClientCredentialsDetailsPropertyToCloudFormation(properties.clientCredentialsDetails),ClientCredentialsSource:cdk().stringToCloudFormation(properties.clientCredentialsSource)}):properties}function CfnActionConnectorClientCredentialsGrantMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("baseEndpoint","BaseEndpoint",properties.BaseEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.BaseEndpoint):void 0),ret.addPropertyResult("clientCredentialsDetails","ClientCredentialsDetails",properties.ClientCredentialsDetails!=null?CfnActionConnectorClientCredentialsDetailsPropertyFromCloudFormation(properties.ClientCredentialsDetails):void 0),ret.addPropertyResult("clientCredentialsSource","ClientCredentialsSource",properties.ClientCredentialsSource!=null?cfn_parse().FromCloudFormation.getString(properties.ClientCredentialsSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorBasicAuthConnectionMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().requiredValidator)(properties.baseEndpoint)),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().validateString)(properties.baseEndpoint)),errors.collect(cdk().propertyValidator("password",cdk().requiredValidator)(properties.password)),errors.collect(cdk().propertyValidator("password",cdk().validateString)(properties.password)),errors.collect(cdk().propertyValidator("username",cdk().requiredValidator)(properties.username)),errors.collect(cdk().propertyValidator("username",cdk().validateString)(properties.username)),errors.wrap('supplied properties not correct for "BasicAuthConnectionMetadataProperty"')}function convertCfnActionConnectorBasicAuthConnectionMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorBasicAuthConnectionMetadataPropertyValidator(properties).assertSuccess(),{BaseEndpoint:cdk().stringToCloudFormation(properties.baseEndpoint),Password:cdk().stringToCloudFormation(properties.password),Username:cdk().stringToCloudFormation(properties.username)}):properties}function CfnActionConnectorBasicAuthConnectionMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("baseEndpoint","BaseEndpoint",properties.BaseEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.BaseEndpoint):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("username","Username",properties.Username!=null?cfn_parse().FromCloudFormation.getString(properties.Username):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorAPIKeyConnectionMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("apiKey",cdk().requiredValidator)(properties.apiKey)),errors.collect(cdk().propertyValidator("apiKey",cdk().validateString)(properties.apiKey)),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().requiredValidator)(properties.baseEndpoint)),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().validateString)(properties.baseEndpoint)),errors.collect(cdk().propertyValidator("email",cdk().validateString)(properties.email)),errors.wrap('supplied properties not correct for "APIKeyConnectionMetadataProperty"')}function convertCfnActionConnectorAPIKeyConnectionMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorAPIKeyConnectionMetadataPropertyValidator(properties).assertSuccess(),{ApiKey:cdk().stringToCloudFormation(properties.apiKey),BaseEndpoint:cdk().stringToCloudFormation(properties.baseEndpoint),Email:cdk().stringToCloudFormation(properties.email)}):properties}function CfnActionConnectorAPIKeyConnectionMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("apiKey","ApiKey",properties.ApiKey!=null?cfn_parse().FromCloudFormation.getString(properties.ApiKey):void 0),ret.addPropertyResult("baseEndpoint","BaseEndpoint",properties.BaseEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.BaseEndpoint):void 0),ret.addPropertyResult("email","Email",properties.Email!=null?cfn_parse().FromCloudFormation.getString(properties.Email):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorNoneConnectionMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().requiredValidator)(properties.baseEndpoint)),errors.collect(cdk().propertyValidator("baseEndpoint",cdk().validateString)(properties.baseEndpoint)),errors.wrap('supplied properties not correct for "NoneConnectionMetadataProperty"')}function convertCfnActionConnectorNoneConnectionMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorNoneConnectionMetadataPropertyValidator(properties).assertSuccess(),{BaseEndpoint:cdk().stringToCloudFormation(properties.baseEndpoint)}):properties}function CfnActionConnectorNoneConnectionMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("baseEndpoint","BaseEndpoint",properties.BaseEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.BaseEndpoint):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorIAMConnectionMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "IAMConnectionMetadataProperty"')}function convertCfnActionConnectorIAMConnectionMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorIAMConnectionMetadataPropertyValidator(properties).assertSuccess(),{RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnActionConnectorIAMConnectionMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorAuthenticationMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("apiKeyConnectionMetadata",CfnActionConnectorAPIKeyConnectionMetadataPropertyValidator)(properties.apiKeyConnectionMetadata)),errors.collect(cdk().propertyValidator("authorizationCodeGrantMetadata",CfnActionConnectorAuthorizationCodeGrantMetadataPropertyValidator)(properties.authorizationCodeGrantMetadata)),errors.collect(cdk().propertyValidator("basicAuthConnectionMetadata",CfnActionConnectorBasicAuthConnectionMetadataPropertyValidator)(properties.basicAuthConnectionMetadata)),errors.collect(cdk().propertyValidator("clientCredentialsGrantMetadata",CfnActionConnectorClientCredentialsGrantMetadataPropertyValidator)(properties.clientCredentialsGrantMetadata)),errors.collect(cdk().propertyValidator("iamConnectionMetadata",CfnActionConnectorIAMConnectionMetadataPropertyValidator)(properties.iamConnectionMetadata)),errors.collect(cdk().propertyValidator("noneConnectionMetadata",CfnActionConnectorNoneConnectionMetadataPropertyValidator)(properties.noneConnectionMetadata)),errors.wrap('supplied properties not correct for "AuthenticationMetadataProperty"')}function convertCfnActionConnectorAuthenticationMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorAuthenticationMetadataPropertyValidator(properties).assertSuccess(),{ApiKeyConnectionMetadata:convertCfnActionConnectorAPIKeyConnectionMetadataPropertyToCloudFormation(properties.apiKeyConnectionMetadata),AuthorizationCodeGrantMetadata:convertCfnActionConnectorAuthorizationCodeGrantMetadataPropertyToCloudFormation(properties.authorizationCodeGrantMetadata),BasicAuthConnectionMetadata:convertCfnActionConnectorBasicAuthConnectionMetadataPropertyToCloudFormation(properties.basicAuthConnectionMetadata),ClientCredentialsGrantMetadata:convertCfnActionConnectorClientCredentialsGrantMetadataPropertyToCloudFormation(properties.clientCredentialsGrantMetadata),IamConnectionMetadata:convertCfnActionConnectorIAMConnectionMetadataPropertyToCloudFormation(properties.iamConnectionMetadata),NoneConnectionMetadata:convertCfnActionConnectorNoneConnectionMetadataPropertyToCloudFormation(properties.noneConnectionMetadata)}):properties}function CfnActionConnectorAuthenticationMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("apiKeyConnectionMetadata","ApiKeyConnectionMetadata",properties.ApiKeyConnectionMetadata!=null?CfnActionConnectorAPIKeyConnectionMetadataPropertyFromCloudFormation(properties.ApiKeyConnectionMetadata):void 0),ret.addPropertyResult("authorizationCodeGrantMetadata","AuthorizationCodeGrantMetadata",properties.AuthorizationCodeGrantMetadata!=null?CfnActionConnectorAuthorizationCodeGrantMetadataPropertyFromCloudFormation(properties.AuthorizationCodeGrantMetadata):void 0),ret.addPropertyResult("basicAuthConnectionMetadata","BasicAuthConnectionMetadata",properties.BasicAuthConnectionMetadata!=null?CfnActionConnectorBasicAuthConnectionMetadataPropertyFromCloudFormation(properties.BasicAuthConnectionMetadata):void 0),ret.addPropertyResult("clientCredentialsGrantMetadata","ClientCredentialsGrantMetadata",properties.ClientCredentialsGrantMetadata!=null?CfnActionConnectorClientCredentialsGrantMetadataPropertyFromCloudFormation(properties.ClientCredentialsGrantMetadata):void 0),ret.addPropertyResult("iamConnectionMetadata","IamConnectionMetadata",properties.IamConnectionMetadata!=null?CfnActionConnectorIAMConnectionMetadataPropertyFromCloudFormation(properties.IamConnectionMetadata):void 0),ret.addPropertyResult("noneConnectionMetadata","NoneConnectionMetadata",properties.NoneConnectionMetadata!=null?CfnActionConnectorNoneConnectionMetadataPropertyFromCloudFormation(properties.NoneConnectionMetadata):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorAuthConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authenticationMetadata",cdk().requiredValidator)(properties.authenticationMetadata)),errors.collect(cdk().propertyValidator("authenticationMetadata",CfnActionConnectorAuthenticationMetadataPropertyValidator)(properties.authenticationMetadata)),errors.collect(cdk().propertyValidator("authenticationType",cdk().requiredValidator)(properties.authenticationType)),errors.collect(cdk().propertyValidator("authenticationType",cdk().validateString)(properties.authenticationType)),errors.wrap('supplied properties not correct for "AuthConfigProperty"')}function convertCfnActionConnectorAuthConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorAuthConfigPropertyValidator(properties).assertSuccess(),{AuthenticationMetadata:convertCfnActionConnectorAuthenticationMetadataPropertyToCloudFormation(properties.authenticationMetadata),AuthenticationType:cdk().stringToCloudFormation(properties.authenticationType)}):properties}function CfnActionConnectorAuthConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authenticationMetadata","AuthenticationMetadata",properties.AuthenticationMetadata!=null?CfnActionConnectorAuthenticationMetadataPropertyFromCloudFormation(properties.AuthenticationMetadata):void 0),ret.addPropertyResult("authenticationType","AuthenticationType",properties.AuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorResourcePermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("principal",cdk().requiredValidator)(properties.principal)),errors.collect(cdk().propertyValidator("principal",cdk().validateString)(properties.principal)),errors.wrap('supplied properties not correct for "ResourcePermissionProperty"')}function convertCfnActionConnectorResourcePermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorResourcePermissionPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),Principal:cdk().stringToCloudFormation(properties.principal)}):properties}function CfnActionConnectorResourcePermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getString(properties.Principal):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnActionConnectorPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actionConnectorId",cdk().requiredValidator)(properties.actionConnectorId)),errors.collect(cdk().propertyValidator("actionConnectorId",cdk().validateString)(properties.actionConnectorId)),errors.collect(cdk().propertyValidator("authenticationConfig",CfnActionConnectorAuthConfigPropertyValidator)(properties.authenticationConfig)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().requiredValidator)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(CfnActionConnectorResourcePermissionPropertyValidator))(properties.permissions)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("vpcConnectionArn",cdk().validateString)(properties.vpcConnectionArn)),errors.wrap('supplied properties not correct for "CfnActionConnectorProps"')}function convertCfnActionConnectorPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnActionConnectorPropsValidator(properties).assertSuccess(),{ActionConnectorId:cdk().stringToCloudFormation(properties.actionConnectorId),AuthenticationConfig:convertCfnActionConnectorAuthConfigPropertyToCloudFormation(properties.authenticationConfig),AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),Permissions:cdk().listMapper(convertCfnActionConnectorResourcePermissionPropertyToCloudFormation)(properties.permissions),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type),VpcConnectionArn:cdk().stringToCloudFormation(properties.vpcConnectionArn)}):properties}function CfnActionConnectorPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actionConnectorId","ActionConnectorId",properties.ActionConnectorId!=null?cfn_parse().FromCloudFormation.getString(properties.ActionConnectorId):void 0),ret.addPropertyResult("authenticationConfig","AuthenticationConfig",properties.AuthenticationConfig!=null?CfnActionConnectorAuthConfigPropertyFromCloudFormation(properties.AuthenticationConfig):void 0),ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(CfnActionConnectorResourcePermissionPropertyFromCloudFormation)(properties.Permissions):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("vpcConnectionArn","VpcConnectionArn",properties.VpcConnectionArn!=null?cfn_parse().FromCloudFormation.getString(properties.VpcConnectionArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCustomPermissions extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnCustomPermissions",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::CustomPermissions";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCustomPermissionsPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCustomPermissions(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnCustomPermissions(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCustomPermissions.CFN_RESOURCE_TYPE_NAME}static arnForCustomPermissions(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_ICustomPermissionsRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCustomPermissions),error}return resource.customPermissionsRef.customPermissionsArn}_awsAccountId;_capabilities;cdkTagManager;_customPermissionsName;_tags;cfnPropertyNames={awsAccountId:"AwsAccountId",capabilities:"Capabilities",tags:"Tags",customPermissionsName:"CustomPermissionsName"};constructor(scope,id,props){super(scope,id,{type:CfnCustomPermissions.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnCustomPermissionsProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCustomPermissions),error}cdk().requireProperty(props,"awsAccountId",this),cdk().requireProperty(props,"customPermissionsName",this),this._awsAccountId=props.awsAccountId,this._capabilities=props.capabilities,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::CustomPermissions",void 0,{tagPropertyName:"tags"}),this._customPermissionsName=props.customPermissionsName,this._tags=props.tags}get customPermissionsRef(){return{awsAccountId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),customPermissionsName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),customPermissionsArn:this.attrArn}}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get capabilities(){return this._capabilities}set capabilities(value){cdk().traceProperty(this.node,"Capabilities"),this._capabilities=value}get customPermissionsName(){return this._customPermissionsName}set customPermissionsName(value){cdk().traceProperty(this.node,"CustomPermissionsName"),this._customPermissionsName=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{awsAccountId:this._awsAccountId,capabilities:this._capabilities,tags:this.cdkTagManager.renderTags(this._tags),customPermissionsName:this._customPermissionsName}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnCustomPermissions.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCustomPermissionsPropsToCloudFormation(props)}}exports.CfnCustomPermissions=CfnCustomPermissions;function CfnCustomPermissionsCapabilitiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("addOrRunAnomalyDetectionForAnalyses",cdk().validateString)(properties.addOrRunAnomalyDetectionForAnalyses)),errors.collect(cdk().propertyValidator("amazonBedrockArsAction",cdk().validateString)(properties.amazonBedrockArsAction)),errors.collect(cdk().propertyValidator("amazonBedrockFsAction",cdk().validateString)(properties.amazonBedrockFsAction)),errors.collect(cdk().propertyValidator("amazonBedrockKrsAction",cdk().validateString)(properties.amazonBedrockKrsAction)),errors.collect(cdk().propertyValidator("amazonSThreeAction",cdk().validateString)(properties.amazonSThreeAction)),errors.collect(cdk().propertyValidator("analysis",cdk().validateString)(properties.analysis)),errors.collect(cdk().propertyValidator("approveFlowShareRequests",cdk().validateString)(properties.approveFlowShareRequests)),errors.collect(cdk().propertyValidator("asanaAction",cdk().validateString)(properties.asanaAction)),errors.collect(cdk().propertyValidator("automate",cdk().validateString)(properties.automate)),errors.collect(cdk().propertyValidator("bambooHrAction",cdk().validateString)(properties.bambooHrAction)),errors.collect(cdk().propertyValidator("boxAgentAction",cdk().validateString)(properties.boxAgentAction)),errors.collect(cdk().propertyValidator("buildCalculatedFieldWithQ",cdk().validateString)(properties.buildCalculatedFieldWithQ)),errors.collect(cdk().propertyValidator("canvaAgentAction",cdk().validateString)(properties.canvaAgentAction)),errors.collect(cdk().propertyValidator("chatAgent",cdk().validateString)(properties.chatAgent)),errors.collect(cdk().propertyValidator("comprehendAction",cdk().validateString)(properties.comprehendAction)),errors.collect(cdk().propertyValidator("comprehendMedicalAction",cdk().validateString)(properties.comprehendMedicalAction)),errors.collect(cdk().propertyValidator("confluenceAction",cdk().validateString)(properties.confluenceAction)),errors.collect(cdk().propertyValidator("createAndUpdateAmazonBedrockArsAction",cdk().validateString)(properties.createAndUpdateAmazonBedrockArsAction)),errors.collect(cdk().propertyValidator("createAndUpdateAmazonBedrockFsAction",cdk().validateString)(properties.createAndUpdateAmazonBedrockFsAction)),errors.collect(cdk().propertyValidator("createAndUpdateAmazonBedrockKrsAction",cdk().validateString)(properties.createAndUpdateAmazonBedrockKrsAction)),errors.collect(cdk().propertyValidator("createAndUpdateAmazonSThreeAction",cdk().validateString)(properties.createAndUpdateAmazonSThreeAction)),errors.collect(cdk().propertyValidator("createAndUpdateAsanaAction",cdk().validateString)(properties.createAndUpdateAsanaAction)),errors.collect(cdk().propertyValidator("createAndUpdateBambooHrAction",cdk().validateString)(properties.createAndUpdateBambooHrAction)),errors.collect(cdk().propertyValidator("createAndUpdateBoxAgentAction",cdk().validateString)(properties.createAndUpdateBoxAgentAction)),errors.collect(cdk().propertyValidator("createAndUpdateCanvaAgentAction",cdk().validateString)(properties.createAndUpdateCanvaAgentAction)),errors.collect(cdk().propertyValidator("createAndUpdateComprehendAction",cdk().validateString)(properties.createAndUpdateComprehendAction)),errors.collect(cdk().propertyValidator("createAndUpdateComprehendMedicalAction",cdk().validateString)(properties.createAndUpdateComprehendMedicalAction)),errors.collect(cdk().propertyValidator("createAndUpdateConfluenceAction",cdk().validateString)(properties.createAndUpdateConfluenceAction)),errors.collect(cdk().propertyValidator("createAndUpdateDashboardEmailReports",cdk().validateString)(properties.createAndUpdateDashboardEmailReports)),errors.collect(cdk().propertyValidator("createAndUpdateDataSources",cdk().validateString)(properties.createAndUpdateDataSources)),errors.collect(cdk().propertyValidator("createAndUpdateDatasets",cdk().validateString)(properties.createAndUpdateDatasets)),errors.collect(cdk().propertyValidator("createAndUpdateFactSetAction",cdk().validateString)(properties.createAndUpdateFactSetAction)),errors.collect(cdk().propertyValidator("createAndUpdateGenericHttpAction",cdk().validateString)(properties.createAndUpdateGenericHttpAction)),errors.collect(cdk().propertyValidator("createAndUpdateGithubAction",cdk().validateString)(properties.createAndUpdateGithubAction)),errors.collect(cdk().propertyValidator("createAndUpdateGoogleCalendarAction",cdk().validateString)(properties.createAndUpdateGoogleCalendarAction)),errors.collect(cdk().propertyValidator("createAndUpdateHubspotAction",cdk().validateString)(properties.createAndUpdateHubspotAction)),errors.collect(cdk().propertyValidator("createAndUpdateHuggingFaceAction",cdk().validateString)(properties.createAndUpdateHuggingFaceAction)),errors.collect(cdk().propertyValidator("createAndUpdateIntercomAction",cdk().validateString)(properties.createAndUpdateIntercomAction)),errors.collect(cdk().propertyValidator("createAndUpdateJiraAction",cdk().validateString)(properties.createAndUpdateJiraAction)),errors.collect(cdk().propertyValidator("createAndUpdateKnowledgeBases",cdk().validateString)(properties.createAndUpdateKnowledgeBases)),errors.collect(cdk().propertyValidator("createAndUpdateLinearAction",cdk().validateString)(properties.createAndUpdateLinearAction)),errors.collect(cdk().propertyValidator("createAndUpdateMcpAction",cdk().validateString)(properties.createAndUpdateMcpAction)),errors.collect(cdk().propertyValidator("createAndUpdateMsExchangeAction",cdk().validateString)(properties.createAndUpdateMsExchangeAction)),errors.collect(cdk().propertyValidator("createAndUpdateMsTeamsAction",cdk().validateString)(properties.createAndUpdateMsTeamsAction)),errors.collect(cdk().propertyValidator("createAndUpdateMondayAction",cdk().validateString)(properties.createAndUpdateMondayAction)),errors.collect(cdk().propertyValidator("createAndUpdateNewRelicAction",cdk().validateString)(properties.createAndUpdateNewRelicAction)),errors.collect(cdk().propertyValidator("createAndUpdateNotionAction",cdk().validateString)(properties.createAndUpdateNotionAction)),errors.collect(cdk().propertyValidator("createAndUpdateOneDriveAction",cdk().validateString)(properties.createAndUpdateOneDriveAction)),errors.collect(cdk().propertyValidator("createAndUpdateOpenApiAction",cdk().validateString)(properties.createAndUpdateOpenApiAction)),errors.collect(cdk().propertyValidator("createAndUpdatePagerDutyAction",cdk().validateString)(properties.createAndUpdatePagerDutyAction)),errors.collect(cdk().propertyValidator("createAndUpdateSapBillOfMaterialAction",cdk().validateString)(properties.createAndUpdateSapBillOfMaterialAction)),errors.collect(cdk().propertyValidator("createAndUpdateSapBusinessPartnerAction",cdk().validateString)(properties.createAndUpdateSapBusinessPartnerAction)),errors.collect(cdk().propertyValidator("createAndUpdateSapMaterialStockAction",cdk().validateString)(properties.createAndUpdateSapMaterialStockAction)),errors.collect(cdk().propertyValidator("createAndUpdateSapPhysicalInventoryAction",cdk().validateString)(properties.createAndUpdateSapPhysicalInventoryAction)),errors.collect(cdk().propertyValidator("createAndUpdateSapProductMasterDataAction",cdk().validateString)(properties.createAndUpdateSapProductMasterDataAction)),errors.collect(cdk().propertyValidator("createAndUpdateSalesforceAction",cdk().validateString)(properties.createAndUpdateSalesforceAction)),errors.collect(cdk().propertyValidator("createAndUpdateSandPgmiAction",cdk().validateString)(properties.createAndUpdateSandPgmiAction)),errors.collect(cdk().propertyValidator("createAndUpdateSandPGlobalEnergyAction",cdk().validateString)(properties.createAndUpdateSandPGlobalEnergyAction)),errors.collect(cdk().propertyValidator("createAndUpdateServiceNowAction",cdk().validateString)(properties.createAndUpdateServiceNowAction)),errors.collect(cdk().propertyValidator("createAndUpdateSharePointAction",cdk().validateString)(properties.createAndUpdateSharePointAction)),errors.collect(cdk().propertyValidator("createAndUpdateSlackAction",cdk().validateString)(properties.createAndUpdateSlackAction)),errors.collect(cdk().propertyValidator("createAndUpdateSmartsheetAction",cdk().validateString)(properties.createAndUpdateSmartsheetAction)),errors.collect(cdk().propertyValidator("createAndUpdateTextractAction",cdk().validateString)(properties.createAndUpdateTextractAction)),errors.collect(cdk().propertyValidator("createAndUpdateThemes",cdk().validateString)(properties.createAndUpdateThemes)),errors.collect(cdk().propertyValidator("createAndUpdateThresholdAlerts",cdk().validateString)(properties.createAndUpdateThresholdAlerts)),errors.collect(cdk().propertyValidator("createAndUpdateZendeskAction",cdk().validateString)(properties.createAndUpdateZendeskAction)),errors.collect(cdk().propertyValidator("createChatAgents",cdk().validateString)(properties.createChatAgents)),errors.collect(cdk().propertyValidator("createDashboardExecutiveSummaryWithQ",cdk().validateString)(properties.createDashboardExecutiveSummaryWithQ)),errors.collect(cdk().propertyValidator("createSpiceDataset",cdk().validateString)(properties.createSpiceDataset)),errors.collect(cdk().propertyValidator("createSharedFolders",cdk().validateString)(properties.createSharedFolders)),errors.collect(cdk().propertyValidator("dashboard",cdk().validateString)(properties.dashboard)),errors.collect(cdk().propertyValidator("editVisualWithQ",cdk().validateString)(properties.editVisualWithQ)),errors.collect(cdk().propertyValidator("exportToCsv",cdk().validateString)(properties.exportToCsv)),errors.collect(cdk().propertyValidator("exportToCsvInScheduledReports",cdk().validateString)(properties.exportToCsvInScheduledReports)),errors.collect(cdk().propertyValidator("exportToExcel",cdk().validateString)(properties.exportToExcel)),errors.collect(cdk().propertyValidator("exportToExcelInScheduledReports",cdk().validateString)(properties.exportToExcelInScheduledReports)),errors.collect(cdk().propertyValidator("exportToPdf",cdk().validateString)(properties.exportToPdf)),errors.collect(cdk().propertyValidator("exportToPdfInScheduledReports",cdk().validateString)(properties.exportToPdfInScheduledReports)),errors.collect(cdk().propertyValidator("extension",cdk().validateString)(properties.extension)),errors.collect(cdk().propertyValidator("factSetAction",cdk().validateString)(properties.factSetAction)),errors.collect(cdk().propertyValidator("flow",cdk().validateString)(properties.flow)),errors.collect(cdk().propertyValidator("genericHttpAction",cdk().validateString)(properties.genericHttpAction)),errors.collect(cdk().propertyValidator("githubAction",cdk().validateString)(properties.githubAction)),errors.collect(cdk().propertyValidator("googleCalendarAction",cdk().validateString)(properties.googleCalendarAction)),errors.collect(cdk().propertyValidator("hubspotAction",cdk().validateString)(properties.hubspotAction)),errors.collect(cdk().propertyValidator("huggingFaceAction",cdk().validateString)(properties.huggingFaceAction)),errors.collect(cdk().propertyValidator("includeContentInScheduledReportsEmail",cdk().validateString)(properties.includeContentInScheduledReportsEmail)),errors.collect(cdk().propertyValidator("intercomAction",cdk().validateString)(properties.intercomAction)),errors.collect(cdk().propertyValidator("jiraAction",cdk().validateString)(properties.jiraAction)),errors.collect(cdk().propertyValidator("knowledgeBase",cdk().validateString)(properties.knowledgeBase)),errors.collect(cdk().propertyValidator("linearAction",cdk().validateString)(properties.linearAction)),errors.collect(cdk().propertyValidator("mcpAction",cdk().validateString)(properties.mcpAction)),errors.collect(cdk().propertyValidator("msExchangeAction",cdk().validateString)(properties.msExchangeAction)),errors.collect(cdk().propertyValidator("msTeamsAction",cdk().validateString)(properties.msTeamsAction)),errors.collect(cdk().propertyValidator("manageSharedFolders",cdk().validateString)(properties.manageSharedFolders)),errors.collect(cdk().propertyValidator("mondayAction",cdk().validateString)(properties.mondayAction)),errors.collect(cdk().propertyValidator("newRelicAction",cdk().validateString)(properties.newRelicAction)),errors.collect(cdk().propertyValidator("notionAction",cdk().validateString)(properties.notionAction)),errors.collect(cdk().propertyValidator("oneDriveAction",cdk().validateString)(properties.oneDriveAction)),errors.collect(cdk().propertyValidator("openApiAction",cdk().validateString)(properties.openApiAction)),errors.collect(cdk().propertyValidator("pagerDutyAction",cdk().validateString)(properties.pagerDutyAction)),errors.collect(cdk().propertyValidator("performFlowUiTask",cdk().validateString)(properties.performFlowUiTask)),errors.collect(cdk().propertyValidator("printReports",cdk().validateString)(properties.printReports)),errors.collect(cdk().propertyValidator("publishWithoutApproval",cdk().validateString)(properties.publishWithoutApproval)),errors.collect(cdk().propertyValidator("renameSharedFolders",cdk().validateString)(properties.renameSharedFolders)),errors.collect(cdk().propertyValidator("research",cdk().validateString)(properties.research)),errors.collect(cdk().propertyValidator("sapBillOfMaterialAction",cdk().validateString)(properties.sapBillOfMaterialAction)),errors.collect(cdk().propertyValidator("sapBusinessPartnerAction",cdk().validateString)(properties.sapBusinessPartnerAction)),errors.collect(cdk().propertyValidator("sapMaterialStockAction",cdk().validateString)(properties.sapMaterialStockAction)),errors.collect(cdk().propertyValidator("sapPhysicalInventoryAction",cdk().validateString)(properties.sapPhysicalInventoryAction)),errors.collect(cdk().propertyValidator("sapProductMasterDataAction",cdk().validateString)(properties.sapProductMasterDataAction)),errors.collect(cdk().propertyValidator("salesforceAction",cdk().validateString)(properties.salesforceAction)),errors.collect(cdk().propertyValidator("sandPgmiAction",cdk().validateString)(properties.sandPgmiAction)),errors.collect(cdk().propertyValidator("sandPGlobalEnergyAction",cdk().validateString)(properties.sandPGlobalEnergyAction)),errors.collect(cdk().propertyValidator("serviceNowAction",cdk().validateString)(properties.serviceNowAction)),errors.collect(cdk().propertyValidator("shareAmazonBedrockArsAction",cdk().validateString)(properties.shareAmazonBedrockArsAction)),errors.collect(cdk().propertyValidator("shareAmazonBedrockFsAction",cdk().validateString)(properties.shareAmazonBedrockFsAction)),errors.collect(cdk().propertyValidator("shareAmazonBedrockKrsAction",cdk().validateString)(properties.shareAmazonBedrockKrsAction)),errors.collect(cdk().propertyValidator("shareAmazonSThreeAction",cdk().validateString)(properties.shareAmazonSThreeAction)),errors.collect(cdk().propertyValidator("shareAnalyses",cdk().validateString)(properties.shareAnalyses)),errors.collect(cdk().propertyValidator("shareAsanaAction",cdk().validateString)(properties.shareAsanaAction)),errors.collect(cdk().propertyValidator("shareBambooHrAction",cdk().validateString)(properties.shareBambooHrAction)),errors.collect(cdk().propertyValidator("shareBoxAgentAction",cdk().validateString)(properties.shareBoxAgentAction)),errors.collect(cdk().propertyValidator("shareCanvaAgentAction",cdk().validateString)(properties.shareCanvaAgentAction)),errors.collect(cdk().propertyValidator("shareComprehendAction",cdk().validateString)(properties.shareComprehendAction)),errors.collect(cdk().propertyValidator("shareComprehendMedicalAction",cdk().validateString)(properties.shareComprehendMedicalAction)),errors.collect(cdk().propertyValidator("shareConfluenceAction",cdk().validateString)(properties.shareConfluenceAction)),errors.collect(cdk().propertyValidator("shareDashboards",cdk().validateString)(properties.shareDashboards)),errors.collect(cdk().propertyValidator("shareDataSources",cdk().validateString)(properties.shareDataSources)),errors.collect(cdk().propertyValidator("shareDatasets",cdk().validateString)(properties.shareDatasets)),errors.collect(cdk().propertyValidator("shareFactSetAction",cdk().validateString)(properties.shareFactSetAction)),errors.collect(cdk().propertyValidator("shareGenericHttpAction",cdk().validateString)(properties.shareGenericHttpAction)),errors.collect(cdk().propertyValidator("shareGithubAction",cdk().validateString)(properties.shareGithubAction)),errors.collect(cdk().propertyValidator("shareGoogleCalendarAction",cdk().validateString)(properties.shareGoogleCalendarAction)),errors.collect(cdk().propertyValidator("shareHubspotAction",cdk().validateString)(properties.shareHubspotAction)),errors.collect(cdk().propertyValidator("shareHuggingFaceAction",cdk().validateString)(properties.shareHuggingFaceAction)),errors.collect(cdk().propertyValidator("shareIntercomAction",cdk().validateString)(properties.shareIntercomAction)),errors.collect(cdk().propertyValidator("shareJiraAction",cdk().validateString)(properties.shareJiraAction)),errors.collect(cdk().propertyValidator("shareKnowledgeBases",cdk().validateString)(properties.shareKnowledgeBases)),errors.collect(cdk().propertyValidator("shareLinearAction",cdk().validateString)(properties.shareLinearAction)),errors.collect(cdk().propertyValidator("shareMcpAction",cdk().validateString)(properties.shareMcpAction)),errors.collect(cdk().propertyValidator("shareMsExchangeAction",cdk().validateString)(properties.shareMsExchangeAction)),errors.collect(cdk().propertyValidator("shareMsTeamsAction",cdk().validateString)(properties.shareMsTeamsAction)),errors.collect(cdk().propertyValidator("shareMondayAction",cdk().validateString)(properties.shareMondayAction)),errors.collect(cdk().propertyValidator("shareNewRelicAction",cdk().validateString)(properties.shareNewRelicAction)),errors.collect(cdk().propertyValidator("shareNotionAction",cdk().validateString)(properties.shareNotionAction)),errors.collect(cdk().propertyValidator("shareOneDriveAction",cdk().validateString)(properties.shareOneDriveAction)),errors.collect(cdk().propertyValidator("shareOpenApiAction",cdk().validateString)(properties.shareOpenApiAction)),errors.collect(cdk().propertyValidator("sharePagerDutyAction",cdk().validateString)(properties.sharePagerDutyAction)),errors.collect(cdk().propertyValidator("sharePointAction",cdk().validateString)(properties.sharePointAction)),errors.collect(cdk().propertyValidator("shareSapBillOfMaterialAction",cdk().validateString)(properties.shareSapBillOfMaterialAction)),errors.collect(cdk().propertyValidator("shareSapBusinessPartnerAction",cdk().validateString)(properties.shareSapBusinessPartnerAction)),errors.collect(cdk().propertyValidator("shareSapMaterialStockAction",cdk().validateString)(properties.shareSapMaterialStockAction)),errors.collect(cdk().propertyValidator("shareSapPhysicalInventoryAction",cdk().validateString)(properties.shareSapPhysicalInventoryAction)),errors.collect(cdk().propertyValidator("shareSapProductMasterDataAction",cdk().validateString)(properties.shareSapProductMasterDataAction)),errors.collect(cdk().propertyValidator("shareSalesforceAction",cdk().validateString)(properties.shareSalesforceAction)),errors.collect(cdk().propertyValidator("shareSandPgmiAction",cdk().validateString)(properties.shareSandPgmiAction)),errors.collect(cdk().propertyValidator("shareSandPGlobalEnergyAction",cdk().validateString)(properties.shareSandPGlobalEnergyAction)),errors.collect(cdk().propertyValidator("shareServiceNowAction",cdk().validateString)(properties.shareServiceNowAction)),errors.collect(cdk().propertyValidator("shareSharePointAction",cdk().validateString)(properties.shareSharePointAction)),errors.collect(cdk().propertyValidator("shareSlackAction",cdk().validateString)(properties.shareSlackAction)),errors.collect(cdk().propertyValidator("shareSmartsheetAction",cdk().validateString)(properties.shareSmartsheetAction)),errors.collect(cdk().propertyValidator("shareTextractAction",cdk().validateString)(properties.shareTextractAction)),errors.collect(cdk().propertyValidator("shareZendeskAction",cdk().validateString)(properties.shareZendeskAction)),errors.collect(cdk().propertyValidator("slackAction",cdk().validateString)(properties.slackAction)),errors.collect(cdk().propertyValidator("smartsheetAction",cdk().validateString)(properties.smartsheetAction)),errors.collect(cdk().propertyValidator("space",cdk().validateString)(properties.space)),errors.collect(cdk().propertyValidator("subscribeDashboardEmailReports",cdk().validateString)(properties.subscribeDashboardEmailReports)),errors.collect(cdk().propertyValidator("textractAction",cdk().validateString)(properties.textractAction)),errors.collect(cdk().propertyValidator("topic",cdk().validateString)(properties.topic)),errors.collect(cdk().propertyValidator("useAgentWebSearch",cdk().validateString)(properties.useAgentWebSearch)),errors.collect(cdk().propertyValidator("useAmazonBedrockArsAction",cdk().validateString)(properties.useAmazonBedrockArsAction)),errors.collect(cdk().propertyValidator("useAmazonBedrockFsAction",cdk().validateString)(properties.useAmazonBedrockFsAction)),errors.collect(cdk().propertyValidator("useAmazonBedrockKrsAction",cdk().validateString)(properties.useAmazonBedrockKrsAction)),errors.collect(cdk().propertyValidator("useAmazonSThreeAction",cdk().validateString)(properties.useAmazonSThreeAction)),errors.collect(cdk().propertyValidator("useAsanaAction",cdk().validateString)(properties.useAsanaAction)),errors.collect(cdk().propertyValidator("useBambooHrAction",cdk().validateString)(properties.useBambooHrAction)),errors.collect(cdk().propertyValidator("useBedrockModels",cdk().validateString)(properties.useBedrockModels)),errors.collect(cdk().propertyValidator("useBoxAgentAction",cdk().validateString)(properties.useBoxAgentAction)),errors.collect(cdk().propertyValidator("useCanvaAgentAction",cdk().validateString)(properties.useCanvaAgentAction)),errors.collect(cdk().propertyValidator("useComprehendAction",cdk().validateString)(properties.useComprehendAction)),errors.collect(cdk().propertyValidator("useComprehendMedicalAction",cdk().validateString)(properties.useComprehendMedicalAction)),errors.collect(cdk().propertyValidator("useConfluenceAction",cdk().validateString)(properties.useConfluenceAction)),errors.collect(cdk().propertyValidator("useFactSetAction",cdk().validateString)(properties.useFactSetAction)),errors.collect(cdk().propertyValidator("useGenericHttpAction",cdk().validateString)(properties.useGenericHttpAction)),errors.collect(cdk().propertyValidator("useGithubAction",cdk().validateString)(properties.useGithubAction)),errors.collect(cdk().propertyValidator("useGoogleCalendarAction",cdk().validateString)(properties.useGoogleCalendarAction)),errors.collect(cdk().propertyValidator("useHubspotAction",cdk().validateString)(properties.useHubspotAction)),errors.collect(cdk().propertyValidator("useHuggingFaceAction",cdk().validateString)(properties.useHuggingFaceAction)),errors.collect(cdk().propertyValidator("useIntercomAction",cdk().validateString)(properties.useIntercomAction)),errors.collect(cdk().propertyValidator("useJiraAction",cdk().validateString)(properties.useJiraAction)),errors.collect(cdk().propertyValidator("useLinearAction",cdk().validateString)(properties.useLinearAction)),errors.collect(cdk().propertyValidator("useMcpAction",cdk().validateString)(properties.useMcpAction)),errors.collect(cdk().propertyValidator("useMsExchangeAction",cdk().validateString)(properties.useMsExchangeAction)),errors.collect(cdk().propertyValidator("useMsTeamsAction",cdk().validateString)(properties.useMsTeamsAction)),errors.collect(cdk().propertyValidator("useMondayAction",cdk().validateString)(properties.useMondayAction)),errors.collect(cdk().propertyValidator("useNewRelicAction",cdk().validateString)(properties.useNewRelicAction)),errors.collect(cdk().propertyValidator("useNotionAction",cdk().validateString)(properties.useNotionAction)),errors.collect(cdk().propertyValidator("useOneDriveAction",cdk().validateString)(properties.useOneDriveAction)),errors.collect(cdk().propertyValidator("useOpenApiAction",cdk().validateString)(properties.useOpenApiAction)),errors.collect(cdk().propertyValidator("usePagerDutyAction",cdk().validateString)(properties.usePagerDutyAction)),errors.collect(cdk().propertyValidator("useSapBillOfMaterialAction",cdk().validateString)(properties.useSapBillOfMaterialAction)),errors.collect(cdk().propertyValidator("useSapBusinessPartnerAction",cdk().validateString)(properties.useSapBusinessPartnerAction)),errors.collect(cdk().propertyValidator("useSapMaterialStockAction",cdk().validateString)(properties.useSapMaterialStockAction)),errors.collect(cdk().propertyValidator("useSapPhysicalInventoryAction",cdk().validateString)(properties.useSapPhysicalInventoryAction)),errors.collect(cdk().propertyValidator("useSapProductMasterDataAction",cdk().validateString)(properties.useSapProductMasterDataAction)),errors.collect(cdk().propertyValidator("useSalesforceAction",cdk().validateString)(properties.useSalesforceAction)),errors.collect(cdk().propertyValidator("useSandPgmiAction",cdk().validateString)(properties.useSandPgmiAction)),errors.collect(cdk().propertyValidator("useSandPGlobalEnergyAction",cdk().validateString)(properties.useSandPGlobalEnergyAction)),errors.collect(cdk().propertyValidator("useServiceNowAction",cdk().validateString)(properties.useServiceNowAction)),errors.collect(cdk().propertyValidator("useSharePointAction",cdk().validateString)(properties.useSharePointAction)),errors.collect(cdk().propertyValidator("useSlackAction",cdk().validateString)(properties.useSlackAction)),errors.collect(cdk().propertyValidator("useSmartsheetAction",cdk().validateString)(properties.useSmartsheetAction)),errors.collect(cdk().propertyValidator("useTextractAction",cdk().validateString)(properties.useTextractAction)),errors.collect(cdk().propertyValidator("useZendeskAction",cdk().validateString)(properties.useZendeskAction)),errors.collect(cdk().propertyValidator("viewAccountSpiceCapacity",cdk().validateString)(properties.viewAccountSpiceCapacity)),errors.collect(cdk().propertyValidator("zendeskAction",cdk().validateString)(properties.zendeskAction)),errors.wrap('supplied properties not correct for "CapabilitiesProperty"')}function convertCfnCustomPermissionsCapabilitiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomPermissionsCapabilitiesPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),AddOrRunAnomalyDetectionForAnalyses:cdk().stringToCloudFormation(properties.addOrRunAnomalyDetectionForAnalyses),AmazonBedrockARSAction:cdk().stringToCloudFormation(properties.amazonBedrockArsAction),AmazonBedrockFSAction:cdk().stringToCloudFormation(properties.amazonBedrockFsAction),AmazonBedrockKRSAction:cdk().stringToCloudFormation(properties.amazonBedrockKrsAction),AmazonSThreeAction:cdk().stringToCloudFormation(properties.amazonSThreeAction),Analysis:cdk().stringToCloudFormation(properties.analysis),ApproveFlowShareRequests:cdk().stringToCloudFormation(properties.approveFlowShareRequests),AsanaAction:cdk().stringToCloudFormation(properties.asanaAction),Automate:cdk().stringToCloudFormation(properties.automate),BambooHRAction:cdk().stringToCloudFormation(properties.bambooHrAction),BoxAgentAction:cdk().stringToCloudFormation(properties.boxAgentAction),BuildCalculatedFieldWithQ:cdk().stringToCloudFormation(properties.buildCalculatedFieldWithQ),CanvaAgentAction:cdk().stringToCloudFormation(properties.canvaAgentAction),ChatAgent:cdk().stringToCloudFormation(properties.chatAgent),ComprehendAction:cdk().stringToCloudFormation(properties.comprehendAction),ComprehendMedicalAction:cdk().stringToCloudFormation(properties.comprehendMedicalAction),ConfluenceAction:cdk().stringToCloudFormation(properties.confluenceAction),CreateAndUpdateAmazonBedrockARSAction:cdk().stringToCloudFormation(properties.createAndUpdateAmazonBedrockArsAction),CreateAndUpdateAmazonBedrockFSAction:cdk().stringToCloudFormation(properties.createAndUpdateAmazonBedrockFsAction),CreateAndUpdateAmazonBedrockKRSAction:cdk().stringToCloudFormation(properties.createAndUpdateAmazonBedrockKrsAction),CreateAndUpdateAmazonSThreeAction:cdk().stringToCloudFormation(properties.createAndUpdateAmazonSThreeAction),CreateAndUpdateAsanaAction:cdk().stringToCloudFormation(properties.createAndUpdateAsanaAction),CreateAndUpdateBambooHRAction:cdk().stringToCloudFormation(properties.createAndUpdateBambooHrAction),CreateAndUpdateBoxAgentAction:cdk().stringToCloudFormation(properties.createAndUpdateBoxAgentAction),CreateAndUpdateCanvaAgentAction:cdk().stringToCloudFormation(properties.createAndUpdateCanvaAgentAction),CreateAndUpdateComprehendAction:cdk().stringToCloudFormation(properties.createAndUpdateComprehendAction),CreateAndUpdateComprehendMedicalAction:cdk().stringToCloudFormation(properties.createAndUpdateComprehendMedicalAction),CreateAndUpdateConfluenceAction:cdk().stringToCloudFormation(properties.createAndUpdateConfluenceAction),CreateAndUpdateDashboardEmailReports:cdk().stringToCloudFormation(properties.createAndUpdateDashboardEmailReports),CreateAndUpdateDataSources:cdk().stringToCloudFormation(properties.createAndUpdateDataSources),CreateAndUpdateDatasets:cdk().stringToCloudFormation(properties.createAndUpdateDatasets),CreateAndUpdateFactSetAction:cdk().stringToCloudFormation(properties.createAndUpdateFactSetAction),CreateAndUpdateGenericHTTPAction:cdk().stringToCloudFormation(properties.createAndUpdateGenericHttpAction),CreateAndUpdateGithubAction:cdk().stringToCloudFormation(properties.createAndUpdateGithubAction),CreateAndUpdateGoogleCalendarAction:cdk().stringToCloudFormation(properties.createAndUpdateGoogleCalendarAction),CreateAndUpdateHubspotAction:cdk().stringToCloudFormation(properties.createAndUpdateHubspotAction),CreateAndUpdateHuggingFaceAction:cdk().stringToCloudFormation(properties.createAndUpdateHuggingFaceAction),CreateAndUpdateIntercomAction:cdk().stringToCloudFormation(properties.createAndUpdateIntercomAction),CreateAndUpdateJiraAction:cdk().stringToCloudFormation(properties.createAndUpdateJiraAction),CreateAndUpdateKnowledgeBases:cdk().stringToCloudFormation(properties.createAndUpdateKnowledgeBases),CreateAndUpdateLinearAction:cdk().stringToCloudFormation(properties.createAndUpdateLinearAction),CreateAndUpdateMCPAction:cdk().stringToCloudFormation(properties.createAndUpdateMcpAction),CreateAndUpdateMSExchangeAction:cdk().stringToCloudFormation(properties.createAndUpdateMsExchangeAction),CreateAndUpdateMSTeamsAction:cdk().stringToCloudFormation(properties.createAndUpdateMsTeamsAction),CreateAndUpdateMondayAction:cdk().stringToCloudFormation(properties.createAndUpdateMondayAction),CreateAndUpdateNewRelicAction:cdk().stringToCloudFormation(properties.createAndUpdateNewRelicAction),CreateAndUpdateNotionAction:cdk().stringToCloudFormation(properties.createAndUpdateNotionAction),CreateAndUpdateOneDriveAction:cdk().stringToCloudFormation(properties.createAndUpdateOneDriveAction),CreateAndUpdateOpenAPIAction:cdk().stringToCloudFormation(properties.createAndUpdateOpenApiAction),CreateAndUpdatePagerDutyAction:cdk().stringToCloudFormation(properties.createAndUpdatePagerDutyAction),CreateAndUpdateSAPBillOfMaterialAction:cdk().stringToCloudFormation(properties.createAndUpdateSapBillOfMaterialAction),CreateAndUpdateSAPBusinessPartnerAction:cdk().stringToCloudFormation(properties.createAndUpdateSapBusinessPartnerAction),CreateAndUpdateSAPMaterialStockAction:cdk().stringToCloudFormation(properties.createAndUpdateSapMaterialStockAction),CreateAndUpdateSAPPhysicalInventoryAction:cdk().stringToCloudFormation(properties.createAndUpdateSapPhysicalInventoryAction),CreateAndUpdateSAPProductMasterDataAction:cdk().stringToCloudFormation(properties.createAndUpdateSapProductMasterDataAction),CreateAndUpdateSalesforceAction:cdk().stringToCloudFormation(properties.createAndUpdateSalesforceAction),CreateAndUpdateSandPGMIAction:cdk().stringToCloudFormation(properties.createAndUpdateSandPgmiAction),CreateAndUpdateSandPGlobalEnergyAction:cdk().stringToCloudFormation(properties.createAndUpdateSandPGlobalEnergyAction),CreateAndUpdateServiceNowAction:cdk().stringToCloudFormation(properties.createAndUpdateServiceNowAction),CreateAndUpdateSharePointAction:cdk().stringToCloudFormation(properties.createAndUpdateSharePointAction),CreateAndUpdateSlackAction:cdk().stringToCloudFormation(properties.createAndUpdateSlackAction),CreateAndUpdateSmartsheetAction:cdk().stringToCloudFormation(properties.createAndUpdateSmartsheetAction),CreateAndUpdateTextractAction:cdk().stringToCloudFormation(properties.createAndUpdateTextractAction),CreateAndUpdateThemes:cdk().stringToCloudFormation(properties.createAndUpdateThemes),CreateAndUpdateThresholdAlerts:cdk().stringToCloudFormation(properties.createAndUpdateThresholdAlerts),CreateAndUpdateZendeskAction:cdk().stringToCloudFormation(properties.createAndUpdateZendeskAction),CreateChatAgents:cdk().stringToCloudFormation(properties.createChatAgents),CreateDashboardExecutiveSummaryWithQ:cdk().stringToCloudFormation(properties.createDashboardExecutiveSummaryWithQ),CreateSPICEDataset:cdk().stringToCloudFormation(properties.createSpiceDataset),CreateSharedFolders:cdk().stringToCloudFormation(properties.createSharedFolders),Dashboard:cdk().stringToCloudFormation(properties.dashboard),EditVisualWithQ:cdk().stringToCloudFormation(properties.editVisualWithQ),ExportToCsv:cdk().stringToCloudFormation(properties.exportToCsv),ExportToCsvInScheduledReports:cdk().stringToCloudFormation(properties.exportToCsvInScheduledReports),ExportToExcel:cdk().stringToCloudFormation(properties.exportToExcel),ExportToExcelInScheduledReports:cdk().stringToCloudFormation(properties.exportToExcelInScheduledReports),ExportToPdf:cdk().stringToCloudFormation(properties.exportToPdf),ExportToPdfInScheduledReports:cdk().stringToCloudFormation(properties.exportToPdfInScheduledReports),Extension:cdk().stringToCloudFormation(properties.extension),FactSetAction:cdk().stringToCloudFormation(properties.factSetAction),Flow:cdk().stringToCloudFormation(properties.flow),GenericHTTPAction:cdk().stringToCloudFormation(properties.genericHttpAction),GithubAction:cdk().stringToCloudFormation(properties.githubAction),GoogleCalendarAction:cdk().stringToCloudFormation(properties.googleCalendarAction),HubspotAction:cdk().stringToCloudFormation(properties.hubspotAction),HuggingFaceAction:cdk().stringToCloudFormation(properties.huggingFaceAction),IncludeContentInScheduledReportsEmail:cdk().stringToCloudFormation(properties.includeContentInScheduledReportsEmail),IntercomAction:cdk().stringToCloudFormation(properties.intercomAction),JiraAction:cdk().stringToCloudFormation(properties.jiraAction),KnowledgeBase:cdk().stringToCloudFormation(properties.knowledgeBase),LinearAction:cdk().stringToCloudFormation(properties.linearAction),MCPAction:cdk().stringToCloudFormation(properties.mcpAction),MSExchangeAction:cdk().stringToCloudFormation(properties.msExchangeAction),MSTeamsAction:cdk().stringToCloudFormation(properties.msTeamsAction),ManageSharedFolders:cdk().stringToCloudFormation(properties.manageSharedFolders),MondayAction:cdk().stringToCloudFormation(properties.mondayAction),NewRelicAction:cdk().stringToCloudFormation(properties.newRelicAction),NotionAction:cdk().stringToCloudFormation(properties.notionAction),OneDriveAction:cdk().stringToCloudFormation(properties.oneDriveAction),OpenAPIAction:cdk().stringToCloudFormation(properties.openApiAction),PagerDutyAction:cdk().stringToCloudFormation(properties.pagerDutyAction),PerformFlowUiTask:cdk().stringToCloudFormation(properties.performFlowUiTask),PrintReports:cdk().stringToCloudFormation(properties.printReports),PublishWithoutApproval:cdk().stringToCloudFormation(properties.publishWithoutApproval),RenameSharedFolders:cdk().stringToCloudFormation(properties.renameSharedFolders),Research:cdk().stringToCloudFormation(properties.research),SAPBillOfMaterialAction:cdk().stringToCloudFormation(properties.sapBillOfMaterialAction),SAPBusinessPartnerAction:cdk().stringToCloudFormation(properties.sapBusinessPartnerAction),SAPMaterialStockAction:cdk().stringToCloudFormation(properties.sapMaterialStockAction),SAPPhysicalInventoryAction:cdk().stringToCloudFormation(properties.sapPhysicalInventoryAction),SAPProductMasterDataAction:cdk().stringToCloudFormation(properties.sapProductMasterDataAction),SalesforceAction:cdk().stringToCloudFormation(properties.salesforceAction),SandPGMIAction:cdk().stringToCloudFormation(properties.sandPgmiAction),SandPGlobalEnergyAction:cdk().stringToCloudFormation(properties.sandPGlobalEnergyAction),ServiceNowAction:cdk().stringToCloudFormation(properties.serviceNowAction),ShareAmazonBedrockARSAction:cdk().stringToCloudFormation(properties.shareAmazonBedrockArsAction),ShareAmazonBedrockFSAction:cdk().stringToCloudFormation(properties.shareAmazonBedrockFsAction),ShareAmazonBedrockKRSAction:cdk().stringToCloudFormation(properties.shareAmazonBedrockKrsAction),ShareAmazonSThreeAction:cdk().stringToCloudFormation(properties.shareAmazonSThreeAction),ShareAnalyses:cdk().stringToCloudFormation(properties.shareAnalyses),ShareAsanaAction:cdk().stringToCloudFormation(properties.shareAsanaAction),ShareBambooHRAction:cdk().stringToCloudFormation(properties.shareBambooHrAction),ShareBoxAgentAction:cdk().stringToCloudFormation(properties.shareBoxAgentAction),ShareCanvaAgentAction:cdk().stringToCloudFormation(properties.shareCanvaAgentAction),ShareComprehendAction:cdk().stringToCloudFormation(properties.shareComprehendAction),ShareComprehendMedicalAction:cdk().stringToCloudFormation(properties.shareComprehendMedicalAction),ShareConfluenceAction:cdk().stringToCloudFormation(properties.shareConfluenceAction),ShareDashboards:cdk().stringToCloudFormation(properties.shareDashboards),ShareDataSources:cdk().stringToCloudFormation(properties.shareDataSources),ShareDatasets:cdk().stringToCloudFormation(properties.shareDatasets),ShareFactSetAction:cdk().stringToCloudFormation(properties.shareFactSetAction),ShareGenericHTTPAction:cdk().stringToCloudFormation(properties.shareGenericHttpAction),ShareGithubAction:cdk().stringToCloudFormation(properties.shareGithubAction),ShareGoogleCalendarAction:cdk().stringToCloudFormation(properties.shareGoogleCalendarAction),ShareHubspotAction:cdk().stringToCloudFormation(properties.shareHubspotAction),ShareHuggingFaceAction:cdk().stringToCloudFormation(properties.shareHuggingFaceAction),ShareIntercomAction:cdk().stringToCloudFormation(properties.shareIntercomAction),ShareJiraAction:cdk().stringToCloudFormation(properties.shareJiraAction),ShareKnowledgeBases:cdk().stringToCloudFormation(properties.shareKnowledgeBases),ShareLinearAction:cdk().stringToCloudFormation(properties.shareLinearAction),ShareMCPAction:cdk().stringToCloudFormation(properties.shareMcpAction),ShareMSExchangeAction:cdk().stringToCloudFormation(properties.shareMsExchangeAction),ShareMSTeamsAction:cdk().stringToCloudFormation(properties.shareMsTeamsAction),ShareMondayAction:cdk().stringToCloudFormation(properties.shareMondayAction),ShareNewRelicAction:cdk().stringToCloudFormation(properties.shareNewRelicAction),ShareNotionAction:cdk().stringToCloudFormation(properties.shareNotionAction),ShareOneDriveAction:cdk().stringToCloudFormation(properties.shareOneDriveAction),ShareOpenAPIAction:cdk().stringToCloudFormation(properties.shareOpenApiAction),SharePagerDutyAction:cdk().stringToCloudFormation(properties.sharePagerDutyAction),SharePointAction:cdk().stringToCloudFormation(properties.sharePointAction),ShareSAPBillOfMaterialAction:cdk().stringToCloudFormation(properties.shareSapBillOfMaterialAction),ShareSAPBusinessPartnerAction:cdk().stringToCloudFormation(properties.shareSapBusinessPartnerAction),ShareSAPMaterialStockAction:cdk().stringToCloudFormation(properties.shareSapMaterialStockAction),ShareSAPPhysicalInventoryAction:cdk().stringToCloudFormation(properties.shareSapPhysicalInventoryAction),ShareSAPProductMasterDataAction:cdk().stringToCloudFormation(properties.shareSapProductMasterDataAction),ShareSalesforceAction:cdk().stringToCloudFormation(properties.shareSalesforceAction),ShareSandPGMIAction:cdk().stringToCloudFormation(properties.shareSandPgmiAction),ShareSandPGlobalEnergyAction:cdk().stringToCloudFormation(properties.shareSandPGlobalEnergyAction),ShareServiceNowAction:cdk().stringToCloudFormation(properties.shareServiceNowAction),ShareSharePointAction:cdk().stringToCloudFormation(properties.shareSharePointAction),ShareSlackAction:cdk().stringToCloudFormation(properties.shareSlackAction),ShareSmartsheetAction:cdk().stringToCloudFormation(properties.shareSmartsheetAction),ShareTextractAction:cdk().stringToCloudFormation(properties.shareTextractAction),ShareZendeskAction:cdk().stringToCloudFormation(properties.shareZendeskAction),SlackAction:cdk().stringToCloudFormation(properties.slackAction),SmartsheetAction:cdk().stringToCloudFormation(properties.smartsheetAction),Space:cdk().stringToCloudFormation(properties.space),SubscribeDashboardEmailReports:cdk().stringToCloudFormation(properties.subscribeDashboardEmailReports),TextractAction:cdk().stringToCloudFormation(properties.textractAction),Topic:cdk().stringToCloudFormation(properties.topic),UseAgentWebSearch:cdk().stringToCloudFormation(properties.useAgentWebSearch),UseAmazonBedrockARSAction:cdk().stringToCloudFormation(properties.useAmazonBedrockArsAction),UseAmazonBedrockFSAction:cdk().stringToCloudFormation(properties.useAmazonBedrockFsAction),UseAmazonBedrockKRSAction:cdk().stringToCloudFormation(properties.useAmazonBedrockKrsAction),UseAmazonSThreeAction:cdk().stringToCloudFormation(properties.useAmazonSThreeAction),UseAsanaAction:cdk().stringToCloudFormation(properties.useAsanaAction),UseBambooHRAction:cdk().stringToCloudFormation(properties.useBambooHrAction),UseBedrockModels:cdk().stringToCloudFormation(properties.useBedrockModels),UseBoxAgentAction:cdk().stringToCloudFormation(properties.useBoxAgentAction),UseCanvaAgentAction:cdk().stringToCloudFormation(properties.useCanvaAgentAction),UseComprehendAction:cdk().stringToCloudFormation(properties.useComprehendAction),UseComprehendMedicalAction:cdk().stringToCloudFormation(properties.useComprehendMedicalAction),UseConfluenceAction:cdk().stringToCloudFormation(properties.useConfluenceAction),UseFactSetAction:cdk().stringToCloudFormation(properties.useFactSetAction),UseGenericHTTPAction:cdk().stringToCloudFormation(properties.useGenericHttpAction),UseGithubAction:cdk().stringToCloudFormation(properties.useGithubAction),UseGoogleCalendarAction:cdk().stringToCloudFormation(properties.useGoogleCalendarAction),UseHubspotAction:cdk().stringToCloudFormation(properties.useHubspotAction),UseHuggingFaceAction:cdk().stringToCloudFormation(properties.useHuggingFaceAction),UseIntercomAction:cdk().stringToCloudFormation(properties.useIntercomAction),UseJiraAction:cdk().stringToCloudFormation(properties.useJiraAction),UseLinearAction:cdk().stringToCloudFormation(properties.useLinearAction),UseMCPAction:cdk().stringToCloudFormation(properties.useMcpAction),UseMSExchangeAction:cdk().stringToCloudFormation(properties.useMsExchangeAction),UseMSTeamsAction:cdk().stringToCloudFormation(properties.useMsTeamsAction),UseMondayAction:cdk().stringToCloudFormation(properties.useMondayAction),UseNewRelicAction:cdk().stringToCloudFormation(properties.useNewRelicAction),UseNotionAction:cdk().stringToCloudFormation(properties.useNotionAction),UseOneDriveAction:cdk().stringToCloudFormation(properties.useOneDriveAction),UseOpenAPIAction:cdk().stringToCloudFormation(properties.useOpenApiAction),UsePagerDutyAction:cdk().stringToCloudFormation(properties.usePagerDutyAction),UseSAPBillOfMaterialAction:cdk().stringToCloudFormation(properties.useSapBillOfMaterialAction),UseSAPBusinessPartnerAction:cdk().stringToCloudFormation(properties.useSapBusinessPartnerAction),UseSAPMaterialStockAction:cdk().stringToCloudFormation(properties.useSapMaterialStockAction),UseSAPPhysicalInventoryAction:cdk().stringToCloudFormation(properties.useSapPhysicalInventoryAction),UseSAPProductMasterDataAction:cdk().stringToCloudFormation(properties.useSapProductMasterDataAction),UseSalesforceAction:cdk().stringToCloudFormation(properties.useSalesforceAction),UseSandPGMIAction:cdk().stringToCloudFormation(properties.useSandPgmiAction),UseSandPGlobalEnergyAction:cdk().stringToCloudFormation(properties.useSandPGlobalEnergyAction),UseServiceNowAction:cdk().stringToCloudFormation(properties.useServiceNowAction),UseSharePointAction:cdk().stringToCloudFormation(properties.useSharePointAction),UseSlackAction:cdk().stringToCloudFormation(properties.useSlackAction),UseSmartsheetAction:cdk().stringToCloudFormation(properties.useSmartsheetAction),UseTextractAction:cdk().stringToCloudFormation(properties.useTextractAction),UseZendeskAction:cdk().stringToCloudFormation(properties.useZendeskAction),ViewAccountSPICECapacity:cdk().stringToCloudFormation(properties.viewAccountSpiceCapacity),ZendeskAction:cdk().stringToCloudFormation(properties.zendeskAction)}):properties}function CfnCustomPermissionsCapabilitiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("addOrRunAnomalyDetectionForAnalyses","AddOrRunAnomalyDetectionForAnalyses",properties.AddOrRunAnomalyDetectionForAnalyses!=null?cfn_parse().FromCloudFormation.getString(properties.AddOrRunAnomalyDetectionForAnalyses):void 0),ret.addPropertyResult("amazonBedrockArsAction","AmazonBedrockARSAction",properties.AmazonBedrockARSAction!=null?cfn_parse().FromCloudFormation.getString(properties.AmazonBedrockARSAction):void 0),ret.addPropertyResult("amazonBedrockFsAction","AmazonBedrockFSAction",properties.AmazonBedrockFSAction!=null?cfn_parse().FromCloudFormation.getString(properties.AmazonBedrockFSAction):void 0),ret.addPropertyResult("amazonBedrockKrsAction","AmazonBedrockKRSAction",properties.AmazonBedrockKRSAction!=null?cfn_parse().FromCloudFormation.getString(properties.AmazonBedrockKRSAction):void 0),ret.addPropertyResult("amazonSThreeAction","AmazonSThreeAction",properties.AmazonSThreeAction!=null?cfn_parse().FromCloudFormation.getString(properties.AmazonSThreeAction):void 0),ret.addPropertyResult("analysis","Analysis",properties.Analysis!=null?cfn_parse().FromCloudFormation.getString(properties.Analysis):void 0),ret.addPropertyResult("approveFlowShareRequests","ApproveFlowShareRequests",properties.ApproveFlowShareRequests!=null?cfn_parse().FromCloudFormation.getString(properties.ApproveFlowShareRequests):void 0),ret.addPropertyResult("asanaAction","AsanaAction",properties.AsanaAction!=null?cfn_parse().FromCloudFormation.getString(properties.AsanaAction):void 0),ret.addPropertyResult("automate","Automate",properties.Automate!=null?cfn_parse().FromCloudFormation.getString(properties.Automate):void 0),ret.addPropertyResult("bambooHrAction","BambooHRAction",properties.BambooHRAction!=null?cfn_parse().FromCloudFormation.getString(properties.BambooHRAction):void 0),ret.addPropertyResult("boxAgentAction","BoxAgentAction",properties.BoxAgentAction!=null?cfn_parse().FromCloudFormation.getString(properties.BoxAgentAction):void 0),ret.addPropertyResult("buildCalculatedFieldWithQ","BuildCalculatedFieldWithQ",properties.BuildCalculatedFieldWithQ!=null?cfn_parse().FromCloudFormation.getString(properties.BuildCalculatedFieldWithQ):void 0),ret.addPropertyResult("canvaAgentAction","CanvaAgentAction",properties.CanvaAgentAction!=null?cfn_parse().FromCloudFormation.getString(properties.CanvaAgentAction):void 0),ret.addPropertyResult("chatAgent","ChatAgent",properties.ChatAgent!=null?cfn_parse().FromCloudFormation.getString(properties.ChatAgent):void 0),ret.addPropertyResult("comprehendAction","ComprehendAction",properties.ComprehendAction!=null?cfn_parse().FromCloudFormation.getString(properties.ComprehendAction):void 0),ret.addPropertyResult("comprehendMedicalAction","ComprehendMedicalAction",properties.ComprehendMedicalAction!=null?cfn_parse().FromCloudFormation.getString(properties.ComprehendMedicalAction):void 0),ret.addPropertyResult("confluenceAction","ConfluenceAction",properties.ConfluenceAction!=null?cfn_parse().FromCloudFormation.getString(properties.ConfluenceAction):void 0),ret.addPropertyResult("createAndUpdateAmazonBedrockArsAction","CreateAndUpdateAmazonBedrockARSAction",properties.CreateAndUpdateAmazonBedrockARSAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateAmazonBedrockARSAction):void 0),ret.addPropertyResult("createAndUpdateAmazonBedrockFsAction","CreateAndUpdateAmazonBedrockFSAction",properties.CreateAndUpdateAmazonBedrockFSAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateAmazonBedrockFSAction):void 0),ret.addPropertyResult("createAndUpdateAmazonBedrockKrsAction","CreateAndUpdateAmazonBedrockKRSAction",properties.CreateAndUpdateAmazonBedrockKRSAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateAmazonBedrockKRSAction):void 0),ret.addPropertyResult("createAndUpdateAmazonSThreeAction","CreateAndUpdateAmazonSThreeAction",properties.CreateAndUpdateAmazonSThreeAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateAmazonSThreeAction):void 0),ret.addPropertyResult("createAndUpdateAsanaAction","CreateAndUpdateAsanaAction",properties.CreateAndUpdateAsanaAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateAsanaAction):void 0),ret.addPropertyResult("createAndUpdateBambooHrAction","CreateAndUpdateBambooHRAction",properties.CreateAndUpdateBambooHRAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateBambooHRAction):void 0),ret.addPropertyResult("createAndUpdateBoxAgentAction","CreateAndUpdateBoxAgentAction",properties.CreateAndUpdateBoxAgentAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateBoxAgentAction):void 0),ret.addPropertyResult("createAndUpdateCanvaAgentAction","CreateAndUpdateCanvaAgentAction",properties.CreateAndUpdateCanvaAgentAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateCanvaAgentAction):void 0),ret.addPropertyResult("createAndUpdateComprehendAction","CreateAndUpdateComprehendAction",properties.CreateAndUpdateComprehendAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateComprehendAction):void 0),ret.addPropertyResult("createAndUpdateComprehendMedicalAction","CreateAndUpdateComprehendMedicalAction",properties.CreateAndUpdateComprehendMedicalAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateComprehendMedicalAction):void 0),ret.addPropertyResult("createAndUpdateConfluenceAction","CreateAndUpdateConfluenceAction",properties.CreateAndUpdateConfluenceAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateConfluenceAction):void 0),ret.addPropertyResult("createAndUpdateDashboardEmailReports","CreateAndUpdateDashboardEmailReports",properties.CreateAndUpdateDashboardEmailReports!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateDashboardEmailReports):void 0),ret.addPropertyResult("createAndUpdateDatasets","CreateAndUpdateDatasets",properties.CreateAndUpdateDatasets!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateDatasets):void 0),ret.addPropertyResult("createAndUpdateDataSources","CreateAndUpdateDataSources",properties.CreateAndUpdateDataSources!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateDataSources):void 0),ret.addPropertyResult("createAndUpdateFactSetAction","CreateAndUpdateFactSetAction",properties.CreateAndUpdateFactSetAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateFactSetAction):void 0),ret.addPropertyResult("createAndUpdateGenericHttpAction","CreateAndUpdateGenericHTTPAction",properties.CreateAndUpdateGenericHTTPAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateGenericHTTPAction):void 0),ret.addPropertyResult("createAndUpdateGithubAction","CreateAndUpdateGithubAction",properties.CreateAndUpdateGithubAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateGithubAction):void 0),ret.addPropertyResult("createAndUpdateGoogleCalendarAction","CreateAndUpdateGoogleCalendarAction",properties.CreateAndUpdateGoogleCalendarAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateGoogleCalendarAction):void 0),ret.addPropertyResult("createAndUpdateHubspotAction","CreateAndUpdateHubspotAction",properties.CreateAndUpdateHubspotAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateHubspotAction):void 0),ret.addPropertyResult("createAndUpdateHuggingFaceAction","CreateAndUpdateHuggingFaceAction",properties.CreateAndUpdateHuggingFaceAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateHuggingFaceAction):void 0),ret.addPropertyResult("createAndUpdateIntercomAction","CreateAndUpdateIntercomAction",properties.CreateAndUpdateIntercomAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateIntercomAction):void 0),ret.addPropertyResult("createAndUpdateJiraAction","CreateAndUpdateJiraAction",properties.CreateAndUpdateJiraAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateJiraAction):void 0),ret.addPropertyResult("createAndUpdateKnowledgeBases","CreateAndUpdateKnowledgeBases",properties.CreateAndUpdateKnowledgeBases!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateKnowledgeBases):void 0),ret.addPropertyResult("createAndUpdateLinearAction","CreateAndUpdateLinearAction",properties.CreateAndUpdateLinearAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateLinearAction):void 0),ret.addPropertyResult("createAndUpdateMcpAction","CreateAndUpdateMCPAction",properties.CreateAndUpdateMCPAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateMCPAction):void 0),ret.addPropertyResult("createAndUpdateMondayAction","CreateAndUpdateMondayAction",properties.CreateAndUpdateMondayAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateMondayAction):void 0),ret.addPropertyResult("createAndUpdateMsExchangeAction","CreateAndUpdateMSExchangeAction",properties.CreateAndUpdateMSExchangeAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateMSExchangeAction):void 0),ret.addPropertyResult("createAndUpdateMsTeamsAction","CreateAndUpdateMSTeamsAction",properties.CreateAndUpdateMSTeamsAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateMSTeamsAction):void 0),ret.addPropertyResult("createAndUpdateNewRelicAction","CreateAndUpdateNewRelicAction",properties.CreateAndUpdateNewRelicAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateNewRelicAction):void 0),ret.addPropertyResult("createAndUpdateNotionAction","CreateAndUpdateNotionAction",properties.CreateAndUpdateNotionAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateNotionAction):void 0),ret.addPropertyResult("createAndUpdateOneDriveAction","CreateAndUpdateOneDriveAction",properties.CreateAndUpdateOneDriveAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateOneDriveAction):void 0),ret.addPropertyResult("createAndUpdateOpenApiAction","CreateAndUpdateOpenAPIAction",properties.CreateAndUpdateOpenAPIAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateOpenAPIAction):void 0),ret.addPropertyResult("createAndUpdatePagerDutyAction","CreateAndUpdatePagerDutyAction",properties.CreateAndUpdatePagerDutyAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdatePagerDutyAction):void 0),ret.addPropertyResult("createAndUpdateSalesforceAction","CreateAndUpdateSalesforceAction",properties.CreateAndUpdateSalesforceAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSalesforceAction):void 0),ret.addPropertyResult("createAndUpdateSandPGlobalEnergyAction","CreateAndUpdateSandPGlobalEnergyAction",properties.CreateAndUpdateSandPGlobalEnergyAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSandPGlobalEnergyAction):void 0),ret.addPropertyResult("createAndUpdateSandPgmiAction","CreateAndUpdateSandPGMIAction",properties.CreateAndUpdateSandPGMIAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSandPGMIAction):void 0),ret.addPropertyResult("createAndUpdateSapBillOfMaterialAction","CreateAndUpdateSAPBillOfMaterialAction",properties.CreateAndUpdateSAPBillOfMaterialAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSAPBillOfMaterialAction):void 0),ret.addPropertyResult("createAndUpdateSapBusinessPartnerAction","CreateAndUpdateSAPBusinessPartnerAction",properties.CreateAndUpdateSAPBusinessPartnerAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSAPBusinessPartnerAction):void 0),ret.addPropertyResult("createAndUpdateSapMaterialStockAction","CreateAndUpdateSAPMaterialStockAction",properties.CreateAndUpdateSAPMaterialStockAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSAPMaterialStockAction):void 0),ret.addPropertyResult("createAndUpdateSapPhysicalInventoryAction","CreateAndUpdateSAPPhysicalInventoryAction",properties.CreateAndUpdateSAPPhysicalInventoryAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSAPPhysicalInventoryAction):void 0),ret.addPropertyResult("createAndUpdateSapProductMasterDataAction","CreateAndUpdateSAPProductMasterDataAction",properties.CreateAndUpdateSAPProductMasterDataAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSAPProductMasterDataAction):void 0),ret.addPropertyResult("createAndUpdateServiceNowAction","CreateAndUpdateServiceNowAction",properties.CreateAndUpdateServiceNowAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateServiceNowAction):void 0),ret.addPropertyResult("createAndUpdateSharePointAction","CreateAndUpdateSharePointAction",properties.CreateAndUpdateSharePointAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSharePointAction):void 0),ret.addPropertyResult("createAndUpdateSlackAction","CreateAndUpdateSlackAction",properties.CreateAndUpdateSlackAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSlackAction):void 0),ret.addPropertyResult("createAndUpdateSmartsheetAction","CreateAndUpdateSmartsheetAction",properties.CreateAndUpdateSmartsheetAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateSmartsheetAction):void 0),ret.addPropertyResult("createAndUpdateTextractAction","CreateAndUpdateTextractAction",properties.CreateAndUpdateTextractAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateTextractAction):void 0),ret.addPropertyResult("createAndUpdateThemes","CreateAndUpdateThemes",properties.CreateAndUpdateThemes!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateThemes):void 0),ret.addPropertyResult("createAndUpdateThresholdAlerts","CreateAndUpdateThresholdAlerts",properties.CreateAndUpdateThresholdAlerts!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateThresholdAlerts):void 0),ret.addPropertyResult("createAndUpdateZendeskAction","CreateAndUpdateZendeskAction",properties.CreateAndUpdateZendeskAction!=null?cfn_parse().FromCloudFormation.getString(properties.CreateAndUpdateZendeskAction):void 0),ret.addPropertyResult("createChatAgents","CreateChatAgents",properties.CreateChatAgents!=null?cfn_parse().FromCloudFormation.getString(properties.CreateChatAgents):void 0),ret.addPropertyResult("createDashboardExecutiveSummaryWithQ","CreateDashboardExecutiveSummaryWithQ",properties.CreateDashboardExecutiveSummaryWithQ!=null?cfn_parse().FromCloudFormation.getString(properties.CreateDashboardExecutiveSummaryWithQ):void 0),ret.addPropertyResult("createSharedFolders","CreateSharedFolders",properties.CreateSharedFolders!=null?cfn_parse().FromCloudFormation.getString(properties.CreateSharedFolders):void 0),ret.addPropertyResult("createSpiceDataset","CreateSPICEDataset",properties.CreateSPICEDataset!=null?cfn_parse().FromCloudFormation.getString(properties.CreateSPICEDataset):void 0),ret.addPropertyResult("dashboard","Dashboard",properties.Dashboard!=null?cfn_parse().FromCloudFormation.getString(properties.Dashboard):void 0),ret.addPropertyResult("editVisualWithQ","EditVisualWithQ",properties.EditVisualWithQ!=null?cfn_parse().FromCloudFormation.getString(properties.EditVisualWithQ):void 0),ret.addPropertyResult("exportToCsv","ExportToCsv",properties.ExportToCsv!=null?cfn_parse().FromCloudFormation.getString(properties.ExportToCsv):void 0),ret.addPropertyResult("exportToCsvInScheduledReports","ExportToCsvInScheduledReports",properties.ExportToCsvInScheduledReports!=null?cfn_parse().FromCloudFormation.getString(properties.ExportToCsvInScheduledReports):void 0),ret.addPropertyResult("exportToExcel","ExportToExcel",properties.ExportToExcel!=null?cfn_parse().FromCloudFormation.getString(properties.ExportToExcel):void 0),ret.addPropertyResult("exportToExcelInScheduledReports","ExportToExcelInScheduledReports",properties.ExportToExcelInScheduledReports!=null?cfn_parse().FromCloudFormation.getString(properties.ExportToExcelInScheduledReports):void 0),ret.addPropertyResult("exportToPdf","ExportToPdf",properties.ExportToPdf!=null?cfn_parse().FromCloudFormation.getString(properties.ExportToPdf):void 0),ret.addPropertyResult("exportToPdfInScheduledReports","ExportToPdfInScheduledReports",properties.ExportToPdfInScheduledReports!=null?cfn_parse().FromCloudFormation.getString(properties.ExportToPdfInScheduledReports):void 0),ret.addPropertyResult("extension","Extension",properties.Extension!=null?cfn_parse().FromCloudFormation.getString(properties.Extension):void 0),ret.addPropertyResult("factSetAction","FactSetAction",properties.FactSetAction!=null?cfn_parse().FromCloudFormation.getString(properties.FactSetAction):void 0),ret.addPropertyResult("flow","Flow",properties.Flow!=null?cfn_parse().FromCloudFormation.getString(properties.Flow):void 0),ret.addPropertyResult("genericHttpAction","GenericHTTPAction",properties.GenericHTTPAction!=null?cfn_parse().FromCloudFormation.getString(properties.GenericHTTPAction):void 0),ret.addPropertyResult("githubAction","GithubAction",properties.GithubAction!=null?cfn_parse().FromCloudFormation.getString(properties.GithubAction):void 0),ret.addPropertyResult("googleCalendarAction","GoogleCalendarAction",properties.GoogleCalendarAction!=null?cfn_parse().FromCloudFormation.getString(properties.GoogleCalendarAction):void 0),ret.addPropertyResult("hubspotAction","HubspotAction",properties.HubspotAction!=null?cfn_parse().FromCloudFormation.getString(properties.HubspotAction):void 0),ret.addPropertyResult("huggingFaceAction","HuggingFaceAction",properties.HuggingFaceAction!=null?cfn_parse().FromCloudFormation.getString(properties.HuggingFaceAction):void 0),ret.addPropertyResult("includeContentInScheduledReportsEmail","IncludeContentInScheduledReportsEmail",properties.IncludeContentInScheduledReportsEmail!=null?cfn_parse().FromCloudFormation.getString(properties.IncludeContentInScheduledReportsEmail):void 0),ret.addPropertyResult("intercomAction","IntercomAction",properties.IntercomAction!=null?cfn_parse().FromCloudFormation.getString(properties.IntercomAction):void 0),ret.addPropertyResult("jiraAction","JiraAction",properties.JiraAction!=null?cfn_parse().FromCloudFormation.getString(properties.JiraAction):void 0),ret.addPropertyResult("knowledgeBase","KnowledgeBase",properties.KnowledgeBase!=null?cfn_parse().FromCloudFormation.getString(properties.KnowledgeBase):void 0),ret.addPropertyResult("linearAction","LinearAction",properties.LinearAction!=null?cfn_parse().FromCloudFormation.getString(properties.LinearAction):void 0),ret.addPropertyResult("manageSharedFolders","ManageSharedFolders",properties.ManageSharedFolders!=null?cfn_parse().FromCloudFormation.getString(properties.ManageSharedFolders):void 0),ret.addPropertyResult("mcpAction","MCPAction",properties.MCPAction!=null?cfn_parse().FromCloudFormation.getString(properties.MCPAction):void 0),ret.addPropertyResult("mondayAction","MondayAction",properties.MondayAction!=null?cfn_parse().FromCloudFormation.getString(properties.MondayAction):void 0),ret.addPropertyResult("msExchangeAction","MSExchangeAction",properties.MSExchangeAction!=null?cfn_parse().FromCloudFormation.getString(properties.MSExchangeAction):void 0),ret.addPropertyResult("msTeamsAction","MSTeamsAction",properties.MSTeamsAction!=null?cfn_parse().FromCloudFormation.getString(properties.MSTeamsAction):void 0),ret.addPropertyResult("newRelicAction","NewRelicAction",properties.NewRelicAction!=null?cfn_parse().FromCloudFormation.getString(properties.NewRelicAction):void 0),ret.addPropertyResult("notionAction","NotionAction",properties.NotionAction!=null?cfn_parse().FromCloudFormation.getString(properties.NotionAction):void 0),ret.addPropertyResult("oneDriveAction","OneDriveAction",properties.OneDriveAction!=null?cfn_parse().FromCloudFormation.getString(properties.OneDriveAction):void 0),ret.addPropertyResult("openApiAction","OpenAPIAction",properties.OpenAPIAction!=null?cfn_parse().FromCloudFormation.getString(properties.OpenAPIAction):void 0),ret.addPropertyResult("pagerDutyAction","PagerDutyAction",properties.PagerDutyAction!=null?cfn_parse().FromCloudFormation.getString(properties.PagerDutyAction):void 0),ret.addPropertyResult("performFlowUiTask","PerformFlowUiTask",properties.PerformFlowUiTask!=null?cfn_parse().FromCloudFormation.getString(properties.PerformFlowUiTask):void 0),ret.addPropertyResult("printReports","PrintReports",properties.PrintReports!=null?cfn_parse().FromCloudFormation.getString(properties.PrintReports):void 0),ret.addPropertyResult("publishWithoutApproval","PublishWithoutApproval",properties.PublishWithoutApproval!=null?cfn_parse().FromCloudFormation.getString(properties.PublishWithoutApproval):void 0),ret.addPropertyResult("renameSharedFolders","RenameSharedFolders",properties.RenameSharedFolders!=null?cfn_parse().FromCloudFormation.getString(properties.RenameSharedFolders):void 0),ret.addPropertyResult("research","Research",properties.Research!=null?cfn_parse().FromCloudFormation.getString(properties.Research):void 0),ret.addPropertyResult("salesforceAction","SalesforceAction",properties.SalesforceAction!=null?cfn_parse().FromCloudFormation.getString(properties.SalesforceAction):void 0),ret.addPropertyResult("sandPGlobalEnergyAction","SandPGlobalEnergyAction",properties.SandPGlobalEnergyAction!=null?cfn_parse().FromCloudFormation.getString(properties.SandPGlobalEnergyAction):void 0),ret.addPropertyResult("sandPgmiAction","SandPGMIAction",properties.SandPGMIAction!=null?cfn_parse().FromCloudFormation.getString(properties.SandPGMIAction):void 0),ret.addPropertyResult("sapBillOfMaterialAction","SAPBillOfMaterialAction",properties.SAPBillOfMaterialAction!=null?cfn_parse().FromCloudFormation.getString(properties.SAPBillOfMaterialAction):void 0),ret.addPropertyResult("sapBusinessPartnerAction","SAPBusinessPartnerAction",properties.SAPBusinessPartnerAction!=null?cfn_parse().FromCloudFormation.getString(properties.SAPBusinessPartnerAction):void 0),ret.addPropertyResult("sapMaterialStockAction","SAPMaterialStockAction",properties.SAPMaterialStockAction!=null?cfn_parse().FromCloudFormation.getString(properties.SAPMaterialStockAction):void 0),ret.addPropertyResult("sapPhysicalInventoryAction","SAPPhysicalInventoryAction",properties.SAPPhysicalInventoryAction!=null?cfn_parse().FromCloudFormation.getString(properties.SAPPhysicalInventoryAction):void 0),ret.addPropertyResult("sapProductMasterDataAction","SAPProductMasterDataAction",properties.SAPProductMasterDataAction!=null?cfn_parse().FromCloudFormation.getString(properties.SAPProductMasterDataAction):void 0),ret.addPropertyResult("serviceNowAction","ServiceNowAction",properties.ServiceNowAction!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceNowAction):void 0),ret.addPropertyResult("shareAmazonBedrockArsAction","ShareAmazonBedrockARSAction",properties.ShareAmazonBedrockARSAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareAmazonBedrockARSAction):void 0),ret.addPropertyResult("shareAmazonBedrockFsAction","ShareAmazonBedrockFSAction",properties.ShareAmazonBedrockFSAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareAmazonBedrockFSAction):void 0),ret.addPropertyResult("shareAmazonBedrockKrsAction","ShareAmazonBedrockKRSAction",properties.ShareAmazonBedrockKRSAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareAmazonBedrockKRSAction):void 0),ret.addPropertyResult("shareAmazonSThreeAction","ShareAmazonSThreeAction",properties.ShareAmazonSThreeAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareAmazonSThreeAction):void 0),ret.addPropertyResult("shareAnalyses","ShareAnalyses",properties.ShareAnalyses!=null?cfn_parse().FromCloudFormation.getString(properties.ShareAnalyses):void 0),ret.addPropertyResult("shareAsanaAction","ShareAsanaAction",properties.ShareAsanaAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareAsanaAction):void 0),ret.addPropertyResult("shareBambooHrAction","ShareBambooHRAction",properties.ShareBambooHRAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareBambooHRAction):void 0),ret.addPropertyResult("shareBoxAgentAction","ShareBoxAgentAction",properties.ShareBoxAgentAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareBoxAgentAction):void 0),ret.addPropertyResult("shareCanvaAgentAction","ShareCanvaAgentAction",properties.ShareCanvaAgentAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareCanvaAgentAction):void 0),ret.addPropertyResult("shareComprehendAction","ShareComprehendAction",properties.ShareComprehendAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareComprehendAction):void 0),ret.addPropertyResult("shareComprehendMedicalAction","ShareComprehendMedicalAction",properties.ShareComprehendMedicalAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareComprehendMedicalAction):void 0),ret.addPropertyResult("shareConfluenceAction","ShareConfluenceAction",properties.ShareConfluenceAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareConfluenceAction):void 0),ret.addPropertyResult("shareDashboards","ShareDashboards",properties.ShareDashboards!=null?cfn_parse().FromCloudFormation.getString(properties.ShareDashboards):void 0),ret.addPropertyResult("shareDatasets","ShareDatasets",properties.ShareDatasets!=null?cfn_parse().FromCloudFormation.getString(properties.ShareDatasets):void 0),ret.addPropertyResult("shareDataSources","ShareDataSources",properties.ShareDataSources!=null?cfn_parse().FromCloudFormation.getString(properties.ShareDataSources):void 0),ret.addPropertyResult("shareFactSetAction","ShareFactSetAction",properties.ShareFactSetAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareFactSetAction):void 0),ret.addPropertyResult("shareGenericHttpAction","ShareGenericHTTPAction",properties.ShareGenericHTTPAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareGenericHTTPAction):void 0),ret.addPropertyResult("shareGithubAction","ShareGithubAction",properties.ShareGithubAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareGithubAction):void 0),ret.addPropertyResult("shareGoogleCalendarAction","ShareGoogleCalendarAction",properties.ShareGoogleCalendarAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareGoogleCalendarAction):void 0),ret.addPropertyResult("shareHubspotAction","ShareHubspotAction",properties.ShareHubspotAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareHubspotAction):void 0),ret.addPropertyResult("shareHuggingFaceAction","ShareHuggingFaceAction",properties.ShareHuggingFaceAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareHuggingFaceAction):void 0),ret.addPropertyResult("shareIntercomAction","ShareIntercomAction",properties.ShareIntercomAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareIntercomAction):void 0),ret.addPropertyResult("shareJiraAction","ShareJiraAction",properties.ShareJiraAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareJiraAction):void 0),ret.addPropertyResult("shareKnowledgeBases","ShareKnowledgeBases",properties.ShareKnowledgeBases!=null?cfn_parse().FromCloudFormation.getString(properties.ShareKnowledgeBases):void 0),ret.addPropertyResult("shareLinearAction","ShareLinearAction",properties.ShareLinearAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareLinearAction):void 0),ret.addPropertyResult("shareMcpAction","ShareMCPAction",properties.ShareMCPAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareMCPAction):void 0),ret.addPropertyResult("shareMondayAction","ShareMondayAction",properties.ShareMondayAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareMondayAction):void 0),ret.addPropertyResult("shareMsExchangeAction","ShareMSExchangeAction",properties.ShareMSExchangeAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareMSExchangeAction):void 0),ret.addPropertyResult("shareMsTeamsAction","ShareMSTeamsAction",properties.ShareMSTeamsAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareMSTeamsAction):void 0),ret.addPropertyResult("shareNewRelicAction","ShareNewRelicAction",properties.ShareNewRelicAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareNewRelicAction):void 0),ret.addPropertyResult("shareNotionAction","ShareNotionAction",properties.ShareNotionAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareNotionAction):void 0),ret.addPropertyResult("shareOneDriveAction","ShareOneDriveAction",properties.ShareOneDriveAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareOneDriveAction):void 0),ret.addPropertyResult("shareOpenApiAction","ShareOpenAPIAction",properties.ShareOpenAPIAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareOpenAPIAction):void 0),ret.addPropertyResult("sharePagerDutyAction","SharePagerDutyAction",properties.SharePagerDutyAction!=null?cfn_parse().FromCloudFormation.getString(properties.SharePagerDutyAction):void 0),ret.addPropertyResult("sharePointAction","SharePointAction",properties.SharePointAction!=null?cfn_parse().FromCloudFormation.getString(properties.SharePointAction):void 0),ret.addPropertyResult("shareSalesforceAction","ShareSalesforceAction",properties.ShareSalesforceAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSalesforceAction):void 0),ret.addPropertyResult("shareSandPGlobalEnergyAction","ShareSandPGlobalEnergyAction",properties.ShareSandPGlobalEnergyAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSandPGlobalEnergyAction):void 0),ret.addPropertyResult("shareSandPgmiAction","ShareSandPGMIAction",properties.ShareSandPGMIAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSandPGMIAction):void 0),ret.addPropertyResult("shareSapBillOfMaterialAction","ShareSAPBillOfMaterialAction",properties.ShareSAPBillOfMaterialAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSAPBillOfMaterialAction):void 0),ret.addPropertyResult("shareSapBusinessPartnerAction","ShareSAPBusinessPartnerAction",properties.ShareSAPBusinessPartnerAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSAPBusinessPartnerAction):void 0),ret.addPropertyResult("shareSapMaterialStockAction","ShareSAPMaterialStockAction",properties.ShareSAPMaterialStockAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSAPMaterialStockAction):void 0),ret.addPropertyResult("shareSapPhysicalInventoryAction","ShareSAPPhysicalInventoryAction",properties.ShareSAPPhysicalInventoryAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSAPPhysicalInventoryAction):void 0),ret.addPropertyResult("shareSapProductMasterDataAction","ShareSAPProductMasterDataAction",properties.ShareSAPProductMasterDataAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSAPProductMasterDataAction):void 0),ret.addPropertyResult("shareServiceNowAction","ShareServiceNowAction",properties.ShareServiceNowAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareServiceNowAction):void 0),ret.addPropertyResult("shareSharePointAction","ShareSharePointAction",properties.ShareSharePointAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSharePointAction):void 0),ret.addPropertyResult("shareSlackAction","ShareSlackAction",properties.ShareSlackAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSlackAction):void 0),ret.addPropertyResult("shareSmartsheetAction","ShareSmartsheetAction",properties.ShareSmartsheetAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareSmartsheetAction):void 0),ret.addPropertyResult("shareTextractAction","ShareTextractAction",properties.ShareTextractAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareTextractAction):void 0),ret.addPropertyResult("shareZendeskAction","ShareZendeskAction",properties.ShareZendeskAction!=null?cfn_parse().FromCloudFormation.getString(properties.ShareZendeskAction):void 0),ret.addPropertyResult("slackAction","SlackAction",properties.SlackAction!=null?cfn_parse().FromCloudFormation.getString(properties.SlackAction):void 0),ret.addPropertyResult("smartsheetAction","SmartsheetAction",properties.SmartsheetAction!=null?cfn_parse().FromCloudFormation.getString(properties.SmartsheetAction):void 0),ret.addPropertyResult("space","Space",properties.Space!=null?cfn_parse().FromCloudFormation.getString(properties.Space):void 0),ret.addPropertyResult("subscribeDashboardEmailReports","SubscribeDashboardEmailReports",properties.SubscribeDashboardEmailReports!=null?cfn_parse().FromCloudFormation.getString(properties.SubscribeDashboardEmailReports):void 0),ret.addPropertyResult("textractAction","TextractAction",properties.TextractAction!=null?cfn_parse().FromCloudFormation.getString(properties.TextractAction):void 0),ret.addPropertyResult("topic","Topic",properties.Topic!=null?cfn_parse().FromCloudFormation.getString(properties.Topic):void 0),ret.addPropertyResult("useAgentWebSearch","UseAgentWebSearch",properties.UseAgentWebSearch!=null?cfn_parse().FromCloudFormation.getString(properties.UseAgentWebSearch):void 0),ret.addPropertyResult("useAmazonBedrockArsAction","UseAmazonBedrockARSAction",properties.UseAmazonBedrockARSAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseAmazonBedrockARSAction):void 0),ret.addPropertyResult("useAmazonBedrockFsAction","UseAmazonBedrockFSAction",properties.UseAmazonBedrockFSAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseAmazonBedrockFSAction):void 0),ret.addPropertyResult("useAmazonBedrockKrsAction","UseAmazonBedrockKRSAction",properties.UseAmazonBedrockKRSAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseAmazonBedrockKRSAction):void 0),ret.addPropertyResult("useAmazonSThreeAction","UseAmazonSThreeAction",properties.UseAmazonSThreeAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseAmazonSThreeAction):void 0),ret.addPropertyResult("useAsanaAction","UseAsanaAction",properties.UseAsanaAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseAsanaAction):void 0),ret.addPropertyResult("useBambooHrAction","UseBambooHRAction",properties.UseBambooHRAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseBambooHRAction):void 0),ret.addPropertyResult("useBedrockModels","UseBedrockModels",properties.UseBedrockModels!=null?cfn_parse().FromCloudFormation.getString(properties.UseBedrockModels):void 0),ret.addPropertyResult("useBoxAgentAction","UseBoxAgentAction",properties.UseBoxAgentAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseBoxAgentAction):void 0),ret.addPropertyResult("useCanvaAgentAction","UseCanvaAgentAction",properties.UseCanvaAgentAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseCanvaAgentAction):void 0),ret.addPropertyResult("useComprehendAction","UseComprehendAction",properties.UseComprehendAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseComprehendAction):void 0),ret.addPropertyResult("useComprehendMedicalAction","UseComprehendMedicalAction",properties.UseComprehendMedicalAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseComprehendMedicalAction):void 0),ret.addPropertyResult("useConfluenceAction","UseConfluenceAction",properties.UseConfluenceAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseConfluenceAction):void 0),ret.addPropertyResult("useFactSetAction","UseFactSetAction",properties.UseFactSetAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseFactSetAction):void 0),ret.addPropertyResult("useGenericHttpAction","UseGenericHTTPAction",properties.UseGenericHTTPAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseGenericHTTPAction):void 0),ret.addPropertyResult("useGithubAction","UseGithubAction",properties.UseGithubAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseGithubAction):void 0),ret.addPropertyResult("useGoogleCalendarAction","UseGoogleCalendarAction",properties.UseGoogleCalendarAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseGoogleCalendarAction):void 0),ret.addPropertyResult("useHubspotAction","UseHubspotAction",properties.UseHubspotAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseHubspotAction):void 0),ret.addPropertyResult("useHuggingFaceAction","UseHuggingFaceAction",properties.UseHuggingFaceAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseHuggingFaceAction):void 0),ret.addPropertyResult("useIntercomAction","UseIntercomAction",properties.UseIntercomAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseIntercomAction):void 0),ret.addPropertyResult("useJiraAction","UseJiraAction",properties.UseJiraAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseJiraAction):void 0),ret.addPropertyResult("useLinearAction","UseLinearAction",properties.UseLinearAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseLinearAction):void 0),ret.addPropertyResult("useMcpAction","UseMCPAction",properties.UseMCPAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseMCPAction):void 0),ret.addPropertyResult("useMondayAction","UseMondayAction",properties.UseMondayAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseMondayAction):void 0),ret.addPropertyResult("useMsExchangeAction","UseMSExchangeAction",properties.UseMSExchangeAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseMSExchangeAction):void 0),ret.addPropertyResult("useMsTeamsAction","UseMSTeamsAction",properties.UseMSTeamsAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseMSTeamsAction):void 0),ret.addPropertyResult("useNewRelicAction","UseNewRelicAction",properties.UseNewRelicAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseNewRelicAction):void 0),ret.addPropertyResult("useNotionAction","UseNotionAction",properties.UseNotionAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseNotionAction):void 0),ret.addPropertyResult("useOneDriveAction","UseOneDriveAction",properties.UseOneDriveAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseOneDriveAction):void 0),ret.addPropertyResult("useOpenApiAction","UseOpenAPIAction",properties.UseOpenAPIAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseOpenAPIAction):void 0),ret.addPropertyResult("usePagerDutyAction","UsePagerDutyAction",properties.UsePagerDutyAction!=null?cfn_parse().FromCloudFormation.getString(properties.UsePagerDutyAction):void 0),ret.addPropertyResult("useSalesforceAction","UseSalesforceAction",properties.UseSalesforceAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSalesforceAction):void 0),ret.addPropertyResult("useSandPGlobalEnergyAction","UseSandPGlobalEnergyAction",properties.UseSandPGlobalEnergyAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSandPGlobalEnergyAction):void 0),ret.addPropertyResult("useSandPgmiAction","UseSandPGMIAction",properties.UseSandPGMIAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSandPGMIAction):void 0),ret.addPropertyResult("useSapBillOfMaterialAction","UseSAPBillOfMaterialAction",properties.UseSAPBillOfMaterialAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSAPBillOfMaterialAction):void 0),ret.addPropertyResult("useSapBusinessPartnerAction","UseSAPBusinessPartnerAction",properties.UseSAPBusinessPartnerAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSAPBusinessPartnerAction):void 0),ret.addPropertyResult("useSapMaterialStockAction","UseSAPMaterialStockAction",properties.UseSAPMaterialStockAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSAPMaterialStockAction):void 0),ret.addPropertyResult("useSapPhysicalInventoryAction","UseSAPPhysicalInventoryAction",properties.UseSAPPhysicalInventoryAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSAPPhysicalInventoryAction):void 0),ret.addPropertyResult("useSapProductMasterDataAction","UseSAPProductMasterDataAction",properties.UseSAPProductMasterDataAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSAPProductMasterDataAction):void 0),ret.addPropertyResult("useServiceNowAction","UseServiceNowAction",properties.UseServiceNowAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseServiceNowAction):void 0),ret.addPropertyResult("useSharePointAction","UseSharePointAction",properties.UseSharePointAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSharePointAction):void 0),ret.addPropertyResult("useSlackAction","UseSlackAction",properties.UseSlackAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSlackAction):void 0),ret.addPropertyResult("useSmartsheetAction","UseSmartsheetAction",properties.UseSmartsheetAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseSmartsheetAction):void 0),ret.addPropertyResult("useTextractAction","UseTextractAction",properties.UseTextractAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseTextractAction):void 0),ret.addPropertyResult("useZendeskAction","UseZendeskAction",properties.UseZendeskAction!=null?cfn_parse().FromCloudFormation.getString(properties.UseZendeskAction):void 0),ret.addPropertyResult("viewAccountSpiceCapacity","ViewAccountSPICECapacity",properties.ViewAccountSPICECapacity!=null?cfn_parse().FromCloudFormation.getString(properties.ViewAccountSPICECapacity):void 0),ret.addPropertyResult("zendeskAction","ZendeskAction",properties.ZendeskAction!=null?cfn_parse().FromCloudFormation.getString(properties.ZendeskAction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCustomPermissionsPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsAccountId",cdk().requiredValidator)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("capabilities",CfnCustomPermissionsCapabilitiesPropertyValidator)(properties.capabilities)),errors.collect(cdk().propertyValidator("customPermissionsName",cdk().requiredValidator)(properties.customPermissionsName)),errors.collect(cdk().propertyValidator("customPermissionsName",cdk().validateString)(properties.customPermissionsName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnCustomPermissionsProps"')}function convertCfnCustomPermissionsPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCustomPermissionsPropsValidator(properties).assertSuccess(),{AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),Capabilities:convertCfnCustomPermissionsCapabilitiesPropertyToCloudFormation(properties.capabilities),CustomPermissionsName:cdk().stringToCloudFormation(properties.customPermissionsName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnCustomPermissionsPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("capabilities","Capabilities",properties.Capabilities!=null?CfnCustomPermissionsCapabilitiesPropertyFromCloudFormation(properties.Capabilities):void 0),ret.addPropertyResult("customPermissionsName","CustomPermissionsName",properties.CustomPermissionsName!=null?cfn_parse().FromCloudFormation.getString(properties.CustomPermissionsName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFolder extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_quicksight.CfnFolder",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::QuickSight::Folder";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFolderPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFolder(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnFolder(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFolder.CFN_RESOURCE_TYPE_NAME}static arnForFolder(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_quicksight_IFolderRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFolder),error}return resource.folderRef.folderArn}_awsAccountId;cdkTagManager;_folderId;_folderType;_name;_parentFolderArn;_permissions;_sharingModel;_tags;cfnPropertyNames={awsAccountId:"AwsAccountId",tags:"Tags",folderId:"FolderId",folderType:"FolderType",name:"Name",parentFolderArn:"ParentFolderArn",permissions:"Permissions",sharingModel:"SharingModel"};constructor(scope,id,props={}){super(scope,id,{type:CfnFolder.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_quicksight_CfnFolderProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFolder),error}this._awsAccountId=props.awsAccountId,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::QuickSight::Folder",void 0,{tagPropertyName:"tags"}),this._folderId=props.folderId,this._folderType=props.folderType,this._name=props.name,this._parentFolderArn=props.parentFolderArn,this._permissions=props.permissions,this._sharingModel=props.sharingModel,this._tags=props.tags}get folderRef(){return{awsAccountId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),folderId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),folderArn:this.attrArn}}get awsAccountId(){return this._awsAccountId}set awsAccountId(value){cdk().traceProperty(this.node,"AwsAccountId"),this._awsAccountId=value}get folderId(){return this._folderId}set folderId(value){cdk().traceProperty(this.node,"FolderId"),this._folderId=value}get folderType(){return this._folderType}set folderType(value){cdk().traceProperty(this.node,"FolderType"),this._folderType=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get parentFolderArn(){return this._parentFolderArn}set parentFolderArn(value){cdk().traceProperty(this.node,"ParentFolderArn"),this._parentFolderArn=value}get permissions(){return this._permissions}set permissions(value){cdk().traceProperty(this.node,"Permissions"),this._permissions=value}get sharingModel(){return this._sharingModel}set sharingModel(value){cdk().traceProperty(this.node,"SharingModel"),this._sharingModel=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{awsAccountId:this._awsAccountId,tags:this.cdkTagManager.renderTags(this._tags),folderId:this._folderId,folderType:this._folderType,name:this._name,parentFolderArn:this._parentFolderArn,permissions:this._permissions,sharingModel:this._sharingModel}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnFolder.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFolderPropsToCloudFormation(props)}}exports.CfnFolder=CfnFolder;function CfnFolderResourcePermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("principal",cdk().requiredValidator)(properties.principal)),errors.collect(cdk().propertyValidator("principal",cdk().validateString)(properties.principal)),errors.wrap('supplied properties not correct for "ResourcePermissionProperty"')}function convertCfnFolderResourcePermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFolderResourcePermissionPropertyValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),Principal:cdk().stringToCloudFormation(properties.principal)}):properties}function CfnFolderResourcePermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("principal","Principal",properties.Principal!=null?cfn_parse().FromCloudFormation.getString(properties.Principal):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFolderPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("awsAccountId",cdk().validateString)(properties.awsAccountId)),errors.collect(cdk().propertyValidator("folderId",cdk().validateString)(properties.folderId)),errors.collect(cdk().propertyValidator("folderType",cdk().validateString)(properties.folderType)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parentFolderArn",cdk().validateString)(properties.parentFolderArn)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(CfnFolderResourcePermissionPropertyValidator))(properties.permissions)),errors.collect(cdk().propertyValidator("sharingModel",cdk().validateString)(properties.sharingModel)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnFolderProps"')}function convertCfnFolderPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFolderPropsValidator(properties).assertSuccess(),{AwsAccountId:cdk().stringToCloudFormation(properties.awsAccountId),FolderId:cdk().stringToCloudFormation(properties.folderId),FolderType:cdk().stringToCloudFormation(properties.folderType),Name:cdk().stringToCloudFormation(properties.name),ParentFolderArn:cdk().stringToCloudFormation(properties.parentFolderArn),Permissions:cdk().listMapper(convertCfnFolderResourcePermissionPropertyToCloudFormation)(properties.permissions),SharingModel:cdk().stringToCloudFormation(properties.sharingModel),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnFolderPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("awsAccountId","AwsAccountId",properties.AwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AwsAccountId):void 0),ret.addPropertyResult("folderId","FolderId",properties.FolderId!=null?cfn_parse().FromCloudFormation.getString(properties.FolderId):void 0),ret.addPropertyResult("folderType","FolderType",properties.FolderType!=null?cfn_parse().FromCloudFormation.getString(properties.FolderType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parentFolderArn","ParentFolderArn",properties.ParentFolderArn!=null?cfn_parse().FromCloudFormation.getString(properties.ParentFolderArn):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(CfnFolderResourcePermissionPropertyFromCloudFormation)(properties.Permissions):void 0),ret.addPropertyResult("sharingModel","SharingModel",properties.SharingModel!=null?cfn_parse().FromCloudFormation.getString(properties.SharingModel):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}