@osdk/maker 0.14.0-beta.4 → 0.14.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/build/browser/api/action/DefaultFormat.js +2 -0
- package/build/browser/api/action/DefaultFormat.js.map +1 -0
- package/build/browser/api/action/TableConfiguration.js +2 -0
- package/build/browser/api/action/TableConfiguration.js.map +1 -0
- package/build/browser/api/defineAction.js +11 -2
- package/build/browser/api/defineAction.js.map +1 -1
- package/build/browser/api/defineCreateInterfaceObjectAction.js +22 -6
- package/build/browser/api/defineCreateInterfaceObjectAction.js.map +1 -1
- package/build/browser/api/defineCreateObjectAction.js +4 -2
- package/build/browser/api/defineCreateObjectAction.js.map +1 -1
- package/build/browser/api/defineCreateOrModifyObjectAction.js +4 -2
- package/build/browser/api/defineCreateOrModifyObjectAction.js.map +1 -1
- package/build/browser/api/defineModifyInterfaceObjectAction.js +22 -6
- package/build/browser/api/defineModifyInterfaceObjectAction.js.map +1 -1
- package/build/browser/api/defineModifyObjectAction.js +4 -2
- package/build/browser/api/defineModifyObjectAction.js.map +1 -1
- package/build/browser/api/test/actions.test.js +3261 -4027
- package/build/browser/api/test/actions.test.js.map +1 -1
- package/build/browser/cli/main.js +1 -1
- package/build/cjs/index.cjs +64 -17
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +19 -4
- package/build/esm/api/action/DefaultFormat.js +2 -0
- package/build/esm/api/action/DefaultFormat.js.map +1 -0
- package/build/esm/api/action/TableConfiguration.js +2 -0
- package/build/esm/api/action/TableConfiguration.js.map +1 -0
- package/build/esm/api/defineAction.js +11 -2
- package/build/esm/api/defineAction.js.map +1 -1
- package/build/esm/api/defineCreateInterfaceObjectAction.js +22 -6
- package/build/esm/api/defineCreateInterfaceObjectAction.js.map +1 -1
- package/build/esm/api/defineCreateObjectAction.js +4 -2
- package/build/esm/api/defineCreateObjectAction.js.map +1 -1
- package/build/esm/api/defineCreateOrModifyObjectAction.js +4 -2
- package/build/esm/api/defineCreateOrModifyObjectAction.js.map +1 -1
- package/build/esm/api/defineModifyInterfaceObjectAction.js +22 -6
- package/build/esm/api/defineModifyInterfaceObjectAction.js.map +1 -1
- package/build/esm/api/defineModifyObjectAction.js +4 -2
- package/build/esm/api/defineModifyObjectAction.js.map +1 -1
- package/build/esm/api/test/actions.test.js +3261 -4027
- package/build/esm/api/test/actions.test.js.map +1 -1
- package/build/esm/cli/main.js +1 -1
- package/build/types/api/action/DefaultFormat.d.ts +1 -0
- package/build/types/api/action/DefaultFormat.d.ts.map +1 -0
- package/build/types/api/action/TableConfiguration.d.ts +8 -0
- package/build/types/api/action/TableConfiguration.d.ts.map +1 -0
- package/build/types/api/defineAction.d.ts +12 -4
- package/build/types/api/defineAction.d.ts.map +1 -1
- package/build/types/api/defineCreateInterfaceObjectAction.d.ts.map +1 -1
- package/build/types/api/defineModifyInterfaceObjectAction.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.test.js","names":["beforeEach","describe","expect","it","OntologyEntityTypeEnum","CREATE_INTERFACE_OBJECT_PARAMETER","CREATE_OR_MODIFY_OBJECT_PARAMETER","defineAction","MODIFY_INTERFACE_OBJECT_PARAMETER","MODIFY_OBJECT_PARAMETER","defineCreateInterfaceObjectAction","defineCreateObjectAction","defineCreateOrModifyObjectAction","defineDeleteObjectAction","defineInterface","defineModifyInterfaceObjectAction","defineModifyObjectAction","defineObject","defineOntology","dumpOntologyFullMetadata","defineSharedPropertyType","importOntologyEntity","apiName","displayName","properties","status","rules","type","addInterfaceRule","interfaceApiName","objectTypeParameter","sharedPropertyValues","parameters","id","validation","required","allowedValues","toMatchInlineSnapshot","exampleStructPropertyType","structDefinition","simpleProperty","mySpt","exampleInterface","icon","color","locator","property1","property2","exampleObjectType","titlePropertyApiName","pluralDisplayName","primaryKeyPropertyApiName","implementsInterfaces","implements","propertyMapping","interfaceProperty","mapsTo","interfaceType","objectType","property3","parameterConfiguration","conditionalOverrides","condition","conditions","name","parameterId","matches","staticValue","string","defaultValue","description","excludedProperties","parameterOrdering","spt","importedInterface","extends","interfaceReference","interfaceTypeRid","modifyInterfaceRule","interfaceObjectToModifyParameter","double","other","toThrowErrorMatchingInlineSnapshot","not","toThrow","pulseRepetitionIntervalSecs","SHARED_PROPERTY_TYPE","addOrModifyObjectRuleV2","objectToModify","propertyValues","structFieldValues","actionLevelValidation","displayMetadata","failureMessage","typeClasses","defaultFormat","enableLayoutSwitch","submissionMetadata","successMessage","undoButtonConfiguration","submitButtonDisplayMetadata","intent","text","primaryKeyOption","nonParameterMappings","sampleObject","sampleInterface","boolean","toThrowError","modifyObjectRule","employeeObject","defaultVisibility","interfaceTypes","managerObject","editsEnabled","customParameterType","objectReference","objectTypeId","objectParameterPropertyValue","propertyTypeId","comparison","operator","left","userProperty","userId","currentUser","propertyValue","organizationMarkingIds","right","stringList","strings","objectWithArrays","array","sections"],"sources":["actions.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { beforeEach, describe, expect, it } from \"vitest\";\nimport { OntologyEntityTypeEnum } from \"../common/OntologyEntityTypeEnum.js\";\nimport {\n CREATE_INTERFACE_OBJECT_PARAMETER,\n CREATE_OR_MODIFY_OBJECT_PARAMETER,\n defineAction,\n MODIFY_INTERFACE_OBJECT_PARAMETER,\n MODIFY_OBJECT_PARAMETER,\n} from \"../defineAction.js\";\nimport { defineCreateInterfaceObjectAction } from \"../defineCreateInterfaceObjectAction.js\";\nimport { defineCreateObjectAction } from \"../defineCreateObjectAction.js\";\nimport { defineCreateOrModifyObjectAction } from \"../defineCreateOrModifyObjectAction.js\";\nimport { defineDeleteObjectAction } from \"../defineDeleteObjectAction.js\";\nimport { defineInterface } from \"../defineInterface.js\";\nimport { defineModifyInterfaceObjectAction } from \"../defineModifyInterfaceObjectAction.js\";\nimport { defineModifyObjectAction } from \"../defineModifyObjectAction.js\";\nimport { defineObject } from \"../defineObject.js\";\nimport { defineOntology, dumpOntologyFullMetadata } from \"../defineOntology.js\";\nimport { defineSharedPropertyType } from \"../defineSpt.js\";\nimport { importOntologyEntity } from \"../importOntologyEntity.js\";\nimport { type InterfaceType } from \"../interface/InterfaceType.js\";\nimport { type SharedPropertyType } from \"../properties/SharedPropertyType.js\";\n\ndescribe(\"Action Types\", () => {\n beforeEach(async () => {\n await defineOntology(\"com.palantir.\", () => {}, \"/tmp/\");\n });\n describe(\"Interface Actions\", () => {\n it(\"Interface actions are properly defined\", () => {\n const foo = defineInterface({\n apiName: \"foo\",\n displayName: \"foo\",\n properties: {},\n });\n const exampleAction = defineAction({\n apiName: \"foo\",\n displayName: \"exampleAction\",\n status: \"active\",\n rules: [{\n type: \"addInterfaceRule\",\n addInterfaceRule: {\n interfaceApiName: \"foo\",\n objectTypeParameter: \"param1\",\n sharedPropertyValues: {},\n },\n }],\n parameters: [{\n id: \"param1\",\n displayName: \"param1\",\n type: \"boolean\",\n validation: { required: true, allowedValues: { type: \"boolean\" } },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.foo\",\n \"objectTypeParameter\": \"param1\",\n \"sharedPropertyValues\": {},\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"param1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"checkbox\": {},\n \"type\": \"checkbox\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"boolean\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"type\": \"boolean\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"exampleAction\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"param1\",\n ],\n \"parameters\": {\n \"param1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"param1\",\n \"typeClasses\": [],\n },\n \"id\": \"param1\",\n \"type\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.foo\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": \"foo\",\n \"displayName\": \"foo\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {},\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Simple interface actions (with object types) are properly defined\", () => {\n const exampleStructPropertyType = defineSharedPropertyType({\n apiName: \"property2\",\n type: {\n type: \"struct\",\n structDefinition: {\n simpleProperty: \"string\",\n },\n },\n });\n const mySpt = defineSharedPropertyType({\n apiName: \"mySpt\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n icon: { color: \"#c7cdd6ff\", locator: \"globe\" },\n properties: {\n mySpt,\n property1: \"string\",\n property2: exampleStructPropertyType,\n },\n });\n\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"bar\",\n properties: {\n \"bar\": { type: \"string\" },\n \"property1\": { type: \"string\" },\n \"property2\": {\n type: {\n type: \"struct\",\n structDefinition: { simpleProperty: \"string\" },\n },\n },\n },\n implementsInterfaces: [{\n implements: exampleInterface,\n propertyMapping: [\n {\n interfaceProperty: \"com.palantir.mySpt\",\n mapsTo: \"bar\",\n },\n {\n interfaceProperty: \"com.palantir.property1\",\n mapsTo: \"property1\",\n },\n {\n interfaceProperty: \"com.palantir.property2\",\n mapsTo: \"property2\",\n },\n ],\n }],\n });\n\n const createActionWithObjectType = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n objectType: exampleObjectType,\n });\n\n const modifyAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n objectType: exampleObjectType,\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-example-interface-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.mySpt\": {\n \"parameterId\": \"com.palantir.mySpt\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.mySpt\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"oneOf\": {\n \"oneOf\": {\n \"labelledValues\": [\n {\n \"label\": \"exampleObjectType\",\n \"value\": {\n \"objectType\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectType\",\n },\n },\n ],\n \"otherValueAllowed\": {\n \"allowed\": false,\n },\n },\n \"type\": \"oneOf\",\n },\n \"type\": \"oneOf\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-example-interface-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n \"com.palantir.mySpt\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.mySpt\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"mySpt\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.mySpt\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-example-interface-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.mySpt\": {\n \"parameterId\": \"com.palantir.mySpt\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.mySpt\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"oneOf\": {\n \"oneOf\": {\n \"labelledValues\": [\n {\n \"label\": \"exampleObjectType\",\n \"value\": {\n \"objectType\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectType\",\n },\n },\n ],\n \"otherValueAllowed\": {\n \"allowed\": false,\n },\n },\n \"type\": \"oneOf\",\n },\n \"type\": \"oneOf\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-example-interface-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n \"com.palantir.mySpt\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.mySpt\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"mySpt\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.mySpt\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#c7cdd6ff\",\n \"locator\": \"globe\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.mySpt\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.mySpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"mySpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"property1\": {\n \"column\": \"property1\",\n \"type\": \"column\",\n },\n \"property2\": {\n \"struct\": {\n \"column\": \"property2\",\n \"mapping\": {\n \"simpleProperty\": {\n \"apiName\": \"simpleProperty\",\n \"mappings\": {},\n },\n },\n },\n \"type\": \"struct\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"exampleObjectType\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"exampleObjectTypes\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [\n {\n \"interfaceTypeApiName\": \"com.palantir.exampleInterface\",\n \"linksV2\": {},\n \"properties\": {\n \"com.palantir.mySpt\": {\n \"propertyTypeRid\": \"bar\",\n },\n \"com.palantir.property1\": {\n \"propertyTypeRid\": \"property1\",\n },\n \"com.palantir.property2\": {\n \"propertyTypeRid\": \"property2\",\n },\n },\n \"propertiesV2\": {},\n },\n ],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"property1\": {\n \"apiName\": \"property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Property1\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"property2\": {\n \"apiName\": \"property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Property2\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {\n \"com.palantir.mySpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.mySpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"mySpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Simple interface actions (without object types) are properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: \"string\",\n },\n });\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n });\n const modifyAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"interfaceObjectQuery\": {\n \"interfaceObjectQuery\": {},\n \"type\": \"interfaceObjectQuery\",\n },\n \"type\": \"interfaceObjectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Interface actions with customizations are properly defined\", () => {\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const property2 = defineSharedPropertyType({\n apiName: \"property2\",\n type: \"string\",\n });\n const property3 = defineSharedPropertyType({\n apiName: \"property3\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1,\n property2,\n property3,\n },\n });\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"custom-api-name-1\",\n displayName: \"Custom Create Action\",\n status: \"experimental\",\n parameterConfiguration: {\n [property3.apiName]: {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: property1.apiName,\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [property2.apiName],\n parameterOrdering: [property1.apiName, property3.apiName],\n });\n const modifyAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"custom-api-name-2\",\n displayName: \"Custom Modify Action\",\n status: \"experimental\",\n parameterConfiguration: {\n [property3.apiName]: {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: property1.apiName,\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [property2.apiName],\n parameterOrdering: [property1.apiName, property3.apiName],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.custom-api-name-1\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.property3\": {\n \"parameterId\": \"com.palantir.property3\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"com.palantir.property3\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.custom-api-name-1\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Custom Create Action\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n \"com.palantir.property1\",\n \"com.palantir.property3\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"com.palantir.property3\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property3\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"experimental\": {},\n \"type\": \"experimental\",\n },\n },\n },\n },\n \"com.palantir.custom-api-name-2\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.property3\": {\n \"parameterId\": \"com.palantir.property3\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"com.palantir.property3\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"interfaceObjectQuery\": {\n \"interfaceObjectQuery\": {},\n \"type\": \"interfaceObjectQuery\",\n },\n \"type\": \"interfaceObjectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.custom-api-name-2\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Custom Modify Action\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n \"com.palantir.property1\",\n \"com.palantir.property3\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"com.palantir.property3\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property3\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"experimental\": {},\n \"type\": \"experimental\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property3\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property3\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property3\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property3\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property3\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property3\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Interface actions validate SPT existence\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"spt\",\n type: \"string\",\n });\n const importedInterface: InterfaceType = {\n \"apiName\": \"com.palantir.other.ontology.event.Event\",\n \"displayMetadata\": {\n \"displayName\": \"Event\",\n \"description\": \"Event\",\n \"icon\": {\n \"type\": \"blueprint\",\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"timeline-events\",\n },\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"status\": {\n \"type\": \"active\",\n \"active\": {},\n },\n \"propertiesV2\": {\n \"com.palantir.other.ontology.types.id\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"displayName\": \"Id\",\n \"apiName\": \"com.palantir.other.ontology.types.id\",\n \"type\": \"string\",\n \"nonNameSpacedApiName\": \"id\",\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"__type\": \"SHARED_PROPERTY_TYPE\",\n },\n },\n },\n \"searchable\": false,\n \"__type\": \"INTERFACE_TYPE\",\n } as unknown as InterfaceType;\n importOntologyEntity(importedInterface);\n const interfaceType = defineInterface({\n apiName: \"interfaceType\",\n properties: {\n spt,\n },\n extends: importedInterface,\n });\n expect(() =>\n defineAction({\n apiName: \"action\",\n displayName: \"action\",\n status: \"active\",\n parameters: [{\n id: \"interfaceObjectToModifyParameter\",\n displayName: \"Interface object to modify\",\n type: {\n type: \"interfaceReference\",\n interfaceReference: {\n interfaceTypeRid: interfaceType.apiName,\n },\n },\n validation: {\n required: true,\n allowedValues: { type: \"interfaceObjectQuery\" },\n },\n }, {\n id: \"sptParameter\",\n displayName: \"SPT\",\n type: \"string\",\n validation: {\n required: true,\n allowedValues: { type: \"text\" },\n },\n }, {\n id: \"otherParameter\",\n displayName: \"Other parameter\",\n type: \"string\",\n validation: {\n required: true,\n allowedValues: { type: \"text\" },\n },\n }],\n rules: [{\n type: \"modifyInterfaceRule\",\n modifyInterfaceRule: {\n interfaceObjectToModifyParameter:\n \"interfaceObjectToModifyParameter\",\n sharedPropertyValues: {\n spt: {\n type: \"parameterId\",\n parameterId: \"sptParameter\",\n },\n \"com.palantir.other.invalid.spt\": {\n type: \"staticValue\",\n staticValue: {\n type: \"double\",\n double: 4,\n },\n },\n other: {\n type: \"parameterId\",\n parameterId: \"otherParameter\",\n },\n },\n },\n }],\n })\n ).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.other.invalid.spt does not exist in interface type com.palantir.interfaceType]`,\n );\n expect(() =>\n defineCreateInterfaceObjectAction({ interfaceType: interfaceType })\n ).not\n .toThrow();\n });\n\n it(\"Interface actions validate SPT existence on the interface\", () => {\n expect(() => {\n const spt = defineSharedPropertyType({\n apiName: \"spt\",\n type: \"string\",\n });\n const pulseRepetitionIntervalSecs: SharedPropertyType = {\n \"apiName\": \"com.palantir.other.ontology.pulseRepetitionIntervalSecs\",\n \"displayName\": \"Pulse Repetition Interval (s)\",\n \"description\": \"Pulse Repetition Interval in seconds.\",\n \"type\": \"double\",\n \"nonNameSpacedApiName\": \"pulseRepetitionIntervalSecs\",\n \"typeClasses\": [],\n \"__type\": OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE,\n } as unknown as SharedPropertyType;\n importOntologyEntity(pulseRepetitionIntervalSecs);\n const interfaceType = defineInterface({\n apiName: \"interfaceType\",\n properties: {\n spt,\n },\n });\n const action = defineAction({\n apiName: \"action\",\n displayName: \"action\",\n status: \"active\",\n parameters: [{\n id: \"interfaceObjectToModifyParameter\",\n displayName: \"Interface object to modify\",\n type: {\n type: \"interfaceReference\",\n interfaceReference: {\n interfaceTypeRid: interfaceType.apiName,\n },\n },\n validation: {\n required: true,\n allowedValues: { type: \"interfaceObjectQuery\" },\n },\n }, {\n id: \"sptParameter\",\n displayName: \"SPT\",\n type: \"string\",\n validation: {\n required: true,\n allowedValues: { type: \"text\" },\n },\n }],\n rules: [{\n type: \"modifyInterfaceRule\",\n modifyInterfaceRule: {\n interfaceObjectToModifyParameter:\n \"interfaceObjectToModifyParameter\",\n sharedPropertyValues: {\n spt: {\n type: \"parameterId\",\n parameterId: \"sptParameter\",\n },\n [pulseRepetitionIntervalSecs.apiName]: {\n type: \"staticValue\",\n staticValue: {\n type: \"double\",\n double: 4,\n },\n },\n },\n },\n }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.other.ontology.pulseRepetitionIntervalSecs does not exist in interface type com.palantir.interfaceType]`,\n );\n });\n\n it(\"Concrete actions are properly defined\", () => {\n const exampleAction = defineAction({\n apiName: \"foo\",\n displayName: \"exampleAction\",\n status: \"active\",\n rules: [{\n type: \"addOrModifyObjectRuleV2\",\n addOrModifyObjectRuleV2: {\n objectToModify: \"objectToModifyParameter\",\n propertyValues: {\n \"bar\": {\n type: \"parameterId\",\n parameterId: \"param1\",\n },\n },\n structFieldValues: {},\n },\n }],\n parameters: [{\n id: \"param1\",\n displayName: \"param1\",\n type: \"boolean\",\n validation: { required: true, allowedValues: { type: \"boolean\" } },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"param1\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"param1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"checkbox\": {},\n \"type\": \"checkbox\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"boolean\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"type\": \"boolean\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"exampleAction\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"param1\",\n ],\n \"parameters\": {\n \"param1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"param1\",\n \"typeClasses\": [],\n },\n \"id\": \"param1\",\n \"type\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n });\n\n describe(\"Object Actions\", () => {\n it(\"Simple concrete actions are properly defined\", () => {\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"bar\",\n properties: {\n \"bar\": { type: \"string\" },\n \"structProp\": {\n type: {\n type: \"struct\",\n structDefinition: { simpleProperty: \"string\" },\n },\n },\n \"optionalProp\": { type: \"string\" },\n },\n });\n\n const createObjectActionType = defineCreateObjectAction(\n {\n objectType: exampleObjectType,\n },\n );\n const modifyObjectActionType = defineModifyObjectAction(\n {\n objectType: exampleObjectType,\n },\n );\n const deleteObjectActionType = defineDeleteObjectAction(\n {\n objectType: exampleObjectType,\n },\n );\n const createOrModifyObjectActionType = defineCreateOrModifyObjectAction(\n {\n objectType: exampleObjectType,\n },\n );\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.foo\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"optionalProp\": {\n \"parameterId\": \"optionalProp\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"optionalProp\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"bar\",\n \"optionalProp\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"optionalProp\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"OptionalProp\",\n \"typeClasses\": [],\n },\n \"id\": \"optionalProp\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-or-modify-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToCreateOrModifyParameter\",\n \"propertyValues\": {\n \"optionalProp\": {\n \"parameterId\": \"optionalProp\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToCreateOrModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"optionalProp\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToCreateOrModifyParameter\",\n \"propertyTypeId\": \"optionalProp\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-or-modify-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create or Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToCreateOrModifyParameter\",\n \"optionalProp\",\n ],\n \"parameters\": {\n \"objectToCreateOrModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Create or modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToCreateOrModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"maybeCreateObjectOption\": {\n \"autoGenerated\": {},\n \"type\": \"autoGenerated\",\n },\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n \"optionalProp\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"OptionalProp\",\n \"typeClasses\": [],\n },\n \"id\": \"optionalProp\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.delete-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"deleteObjectRule\": {\n \"objectToDelete\": \"objectToDeleteParameter\",\n },\n \"type\": \"deleteObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToDeleteParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.delete-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Delete exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"optionalProp\": {\n \"parameterId\": \"optionalProp\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"optionalProp\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"optionalProp\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n \"optionalProp\",\n ],\n \"parameters\": {\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n \"optionalProp\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"OptionalProp\",\n \"typeClasses\": [],\n },\n \"id\": \"optionalProp\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"optionalProp\": {\n \"column\": \"optionalProp\",\n \"type\": \"column\",\n },\n \"structProp\": {\n \"struct\": {\n \"column\": \"structProp\",\n \"mapping\": {\n \"simpleProperty\": {\n \"apiName\": \"simpleProperty\",\n \"mappings\": {},\n },\n },\n },\n \"type\": \"struct\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"exampleObjectType\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"exampleObjectTypes\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"optionalProp\": {\n \"apiName\": \"optionalProp\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"OptionalProp\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"structProp\": {\n \"apiName\": \"structProp\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"StructProp\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Customizations on CRUD object type actions are properly defined\", () => {\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"primary\",\n properties: {\n \"bar\": { type: \"string\" },\n \"fizz\": { type: \"string\" },\n \"buzz\": { type: \"string\" },\n \"primary\": { type: \"string\" },\n },\n });\n\n const createObjectActionType = defineCreateObjectAction(\n {\n objectType: exampleObjectType,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"actionLevelGroup\",\n },\n }, {\n condition: {\n type: \"group\",\n name: \"actionLevelGroup2\",\n },\n displayMetadata: {\n failureMessage: \"Different custom failure message\",\n typeClasses: [],\n },\n }],\n parameterOrdering: [\"bar\", \"fizz\", \"primary\"],\n parameterConfiguration: {\n \"fizz\": {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: \"bar\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [\"buzz\"],\n defaultFormat: \"TABLE\",\n enableLayoutSwitch: true,\n submissionMetadata: {\n successMessage: \"Custom success message\",\n undoButtonConfiguration: true,\n submitButtonDisplayMetadata: {\n intent: \"DANGER\",\n text: \"Custom button\",\n },\n },\n },\n );\n\n const modifyObjectActionType = defineModifyObjectAction(\n {\n objectType: exampleObjectType,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"actionLevelGroup\",\n },\n }, {\n condition: {\n type: \"group\",\n name: \"actionLevelGroup2\",\n },\n displayMetadata: {\n failureMessage: \"Different custom failure message\",\n typeClasses: [],\n },\n }],\n parameterOrdering: [\"bar\", \"fizz\"],\n parameterConfiguration: {\n \"fizz\": {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: \"bar\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [\"buzz\"],\n defaultFormat: \"TABLE\",\n enableLayoutSwitch: true,\n submissionMetadata: {\n successMessage: \"Custom success message\",\n undoButtonConfiguration: true,\n submitButtonDisplayMetadata: {\n intent: \"DANGER\",\n text: \"Custom button\",\n },\n },\n },\n );\n\n const createOrModifyObjectActionType = defineCreateOrModifyObjectAction(\n {\n objectType: exampleObjectType,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"actionLevelGroup\",\n },\n }, {\n condition: {\n type: \"group\",\n name: \"actionLevelGroup2\",\n },\n displayMetadata: {\n failureMessage: \"Different custom failure message\",\n typeClasses: [],\n },\n }],\n parameterOrdering: [\"bar\", \"fizz\"],\n parameterConfiguration: {\n \"fizz\": {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: \"bar\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [\"buzz\"],\n defaultFormat: \"TABLE\",\n enableLayoutSwitch: true,\n submissionMetadata: {\n successMessage: \"Custom success message\",\n undoButtonConfiguration: true,\n submitButtonDisplayMetadata: {\n intent: \"DANGER\",\n text: \"Custom button\",\n },\n },\n primaryKeyOption: \"userInput\",\n },\n );\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.foo\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"fizz\": {\n \"parameterId\": \"fizz\",\n \"type\": \"parameterId\",\n },\n \"primary\": {\n \"parameterId\": \"primary\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n \"1\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup2\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Different custom failure message\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizz\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"primary\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"TABLE\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": true,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"submitButtonDisplayMetadata\": {\n \"intent\": \"DANGER\",\n \"text\": \"Custom button\",\n },\n \"successMessage\": [\n {\n \"message\": \"Custom success message\",\n \"type\": \"message\",\n },\n ],\n \"typeClasses\": [],\n \"undoButtonConfiguration\": true,\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"bar\",\n \"fizz\",\n \"primary\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizz\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"fizz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"primary\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Primary\",\n \"typeClasses\": [],\n },\n \"id\": \"primary\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-or-modify-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToCreateOrModifyParameter\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"fizz\": {\n \"parameterId\": \"fizz\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n \"1\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup2\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Different custom failure message\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToCreateOrModifyParameter\",\n \"propertyTypeId\": \"bar\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizz\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectToCreateOrModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-or-modify-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"TABLE\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": true,\n },\n \"description\": \"\",\n \"displayName\": \"Create or Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"submitButtonDisplayMetadata\": {\n \"intent\": \"DANGER\",\n \"text\": \"Custom button\",\n },\n \"successMessage\": [\n {\n \"message\": \"Custom success message\",\n \"type\": \"message\",\n },\n ],\n \"typeClasses\": [],\n \"undoButtonConfiguration\": true,\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToCreateOrModifyParameter\",\n \"bar\",\n \"fizz\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizz\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"fizz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectToCreateOrModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Create or modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToCreateOrModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"maybeCreateObjectOption\": {\n \"type\": \"userInput\",\n \"userInput\": {},\n },\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"fizz\": {\n \"parameterId\": \"fizz\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n \"1\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup2\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Different custom failure message\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"bar\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizz\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"TABLE\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": true,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"submitButtonDisplayMetadata\": {\n \"intent\": \"DANGER\",\n \"text\": \"Custom button\",\n },\n \"successMessage\": [\n {\n \"message\": \"Custom success message\",\n \"type\": \"message\",\n },\n ],\n \"typeClasses\": [],\n \"undoButtonConfiguration\": true,\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n \"bar\",\n \"fizz\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizz\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"fizz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {\n \"com.palantir.create-object-foo\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n \"com.palantir.create-or-modify-foo\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n \"com.palantir.modify-object-foo\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"buzz\": {\n \"column\": \"buzz\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n \"primary\": {\n \"column\": \"primary\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"exampleObjectType\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"exampleObjectTypes\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"primary\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"buzz\": {\n \"apiName\": \"buzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Buzz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"primary\": {\n \"apiName\": \"primary\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Primary\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Non-parameter mapped properties are properly defined\", () => {\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"bar\",\n properties: {\n \"bar\": { type: \"string\" },\n \"fizz\": { type: \"string\" },\n \"buzz\": { type: \"timestamp\" },\n },\n });\n\n const createObjectActionType = defineCreateObjectAction(\n {\n objectType: exampleObjectType,\n nonParameterMappings: {\n \"fizz\": {\n type: \"currentUser\",\n },\n \"buzz\": {\n type: \"currentTime\",\n },\n },\n },\n );\n const modifyObjectActionType = defineModifyObjectAction(\n {\n objectType: exampleObjectType,\n nonParameterMappings: {\n \"fizz\": {\n type: \"currentUser\",\n },\n \"buzz\": {\n type: \"currentTime\",\n },\n },\n },\n );\n const createOrModifyObjectActionType = defineCreateOrModifyObjectAction(\n {\n objectType: exampleObjectType,\n nonParameterMappings: {\n \"fizz\": {\n type: \"currentUser\",\n },\n \"buzz\": {\n type: \"currentTime\",\n },\n },\n },\n );\n\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const property2 = defineSharedPropertyType({\n apiName: \"property2\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1,\n property2,\n },\n });\n const createInterfaceObjectAction = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n nonParameterMappings: {\n [property1.apiName]: {\n type: \"currentUser\",\n },\n [property2.apiName]: {\n type: \"currentTime\",\n },\n },\n });\n const modifyInterfaceObjectAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n nonParameterMappings: {\n [property1.apiName]: {\n type: \"currentUser\",\n },\n [property2.apiName]: {\n type: \"currentTime\",\n },\n },\n });\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n \"com.palantir.property2\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n ],\n \"parameters\": {\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.foo\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"buzz\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"fizz\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"bar\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-or-modify-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToCreateOrModifyParameter\",\n \"propertyValues\": {\n \"buzz\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"fizz\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToCreateOrModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-or-modify-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create or Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToCreateOrModifyParameter\",\n ],\n \"parameters\": {\n \"objectToCreateOrModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Create or modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToCreateOrModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"maybeCreateObjectOption\": {\n \"autoGenerated\": {},\n \"type\": \"autoGenerated\",\n },\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n \"com.palantir.property2\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"interfaceObjectQuery\": {\n \"interfaceObjectQuery\": {},\n \"type\": \"interfaceObjectQuery\",\n },\n \"type\": \"interfaceObjectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n ],\n \"parameters\": {\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"buzz\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"fizz\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n ],\n \"parameters\": {\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"buzz\": {\n \"column\": \"buzz\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"exampleObjectType\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"exampleObjectTypes\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"buzz\": {\n \"apiName\": \"buzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Buzz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"timestamp\": {},\n \"type\": \"timestamp\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Parameter configuration, property mapping, and excluded property validations work\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": { type: \"string\" },\n \"id\": { type: \"string\" },\n },\n });\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n parameterConfiguration: {\n \"name\": {\n displayName: \"Name\",\n },\n \"custom_parameter\": {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Parameter custom_parameter does not exist as a property on com.palantir.sampleObject and its type is not explicitly defined]`,\n );\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n nonParameterMappings: {\n \"custom_parameter\": {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"custom_value\",\n },\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Property custom_parameter does not exist as a property on com.palantir.sampleObject]`,\n );\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n excludedProperties: [\"custom_parameter\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Property custom_parameter does not exist as a property on com.palantir.sampleObject]`,\n );\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n actionLevelValidation: [\n {\n condition: {\n type: \"or\",\n conditions: [\n {\n type: \"parameter\",\n parameterId: \"non_existent_parameter\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"value\",\n },\n },\n },\n ],\n },\n },\n ],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter condition references unknown parameter non_existent_parameter]`,\n );\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const sampleInterface = defineInterface({\n apiName: \"sampleInterface\",\n properties: {\n property1,\n },\n });\n expect(() => {\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: sampleInterface,\n parameterConfiguration: {\n \"property\": {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Parameter com.palantir.property does not exist as a property on com.palantir.sampleInterface and its type is not explicitly defined]`,\n );\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n parameterConfiguration: {\n \"property\": {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Parameter com.palantir.property does not exist as a property on com.palantir.sampleInterface and its type is not explicitly defined]`,\n );\n });\n\n it(\"Static default action parameters must match type\", () => {\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"primary\",\n properties: {\n \"bar\": { type: \"string\" },\n \"fizz\": { type: \"string\" },\n \"buzz\": { type: \"string\" },\n \"primary\": { type: \"string\" },\n },\n });\n expect(() =>\n defineCreateObjectAction({\n objectType: exampleObjectType,\n parameterConfiguration: {\n \"buzz\": {\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"boolean\",\n boolean: true,\n },\n },\n },\n },\n })\n ).toThrowError(\n \"Invariant failed: Default static value for parameter buzz does not match type\",\n );\n });\n\n it(\"ModifyObjectRule requires objectToModify parameter\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": {\n type: \"string\",\n description: \"The name of the test object\",\n },\n \"id\": { type: \"string\", description: \"The ID of the test object\" },\n },\n });\n expect(() =>\n defineAction({\n apiName: \"foo\",\n displayName: \"exampleAction\",\n status: \"active\",\n rules: [{\n type: \"modifyObjectRule\",\n modifyObjectRule: {\n objectToModify: \"sampleObject\",\n propertyValues: {\n \"name\": {\n type: \"parameterId\",\n parameterId: \"name\",\n },\n },\n structFieldValues: {},\n },\n }],\n parameters: [{\n id: \"name\",\n displayName: \"Name\",\n type: \"string\",\n validation: { required: true, allowedValues: { type: \"text\" } },\n }],\n })\n ).toThrowError(\n \"Invariant failed: Object to modify parameter must be defined in parameters\",\n );\n });\n\n it(\"Target object parameters are configurable\", () => {\n const employeeObject = defineObject({\n apiName: \"employee\",\n displayName: \"Employee\",\n pluralDisplayName: \"Employees\",\n titlePropertyApiName: \"id\",\n primaryKeyPropertyApiName: \"id\",\n properties: {\n \"id\": { type: \"string\", displayName: \"ID\", description: \"dummy\" },\n \"managedBy\": { type: \"string\" },\n },\n });\n defineModifyObjectAction({\n objectType: employeeObject,\n parameterConfiguration: {\n [MODIFY_OBJECT_PARAMETER]: {\n displayName: \"Chose a manager to modify\",\n description: \"Description\",\n conditionalOverrides: [{\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"supervisors\",\n },\n }],\n },\n },\n });\n defineCreateOrModifyObjectAction({\n objectType: employeeObject,\n parameterConfiguration: {\n [CREATE_OR_MODIFY_OBJECT_PARAMETER]: {\n displayName: \"Chose a manager to modify or create a new one\",\n description: \"Description\",\n conditionalOverrides: [{\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"supervisors\",\n },\n }],\n },\n },\n });\n\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1,\n },\n });\n defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n parameterConfiguration: {\n [CREATE_INTERFACE_OBJECT_PARAMETER]: {\n displayName: \"Choose an object to create\",\n description: \"Description\",\n conditionalOverrides: [{\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"supervisors\",\n },\n }],\n },\n },\n });\n defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n parameterConfiguration: {\n [MODIFY_INTERFACE_OBJECT_PARAMETER]: {\n displayName: \"Choose an object to modify\",\n description: \"Description\",\n conditionalOverrides: [{\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"supervisors\",\n },\n }],\n },\n },\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"supervisors\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Choose an object to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-or-modify-employee\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToCreateOrModifyParameter\",\n \"propertyValues\": {\n \"managedBy\": {\n \"parameterId\": \"managedBy\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"managedBy\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToCreateOrModifyParameter\",\n \"propertyTypeId\": \"managedBy\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectToCreateOrModifyParameter\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"supervisors\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-or-modify-employee\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create or Modify Employee\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.employee\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToCreateOrModifyParameter\",\n \"managedBy\",\n ],\n \"parameters\": {\n \"managedBy\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ManagedBy\",\n \"typeClasses\": [],\n },\n \"id\": \"managedBy\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectToCreateOrModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Chose a manager to modify or create a new one\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToCreateOrModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"maybeCreateObjectOption\": {\n \"autoGenerated\": {},\n \"type\": \"autoGenerated\",\n },\n \"objectTypeId\": \"com.palantir.employee\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"supervisors\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"interfaceObjectQuery\": {\n \"interfaceObjectQuery\": {},\n \"type\": \"interfaceObjectQuery\",\n },\n \"type\": \"interfaceObjectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Choose an object to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-employee\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"managedBy\": {\n \"parameterId\": \"managedBy\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"managedBy\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"managedBy\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"supervisors\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-employee\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify Employee\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.employee\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n \"managedBy\",\n ],\n \"parameters\": {\n \"managedBy\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ManagedBy\",\n \"typeClasses\": [],\n },\n \"id\": \"managedBy\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Chose a manager to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.employee\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.employee\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.employee\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"managedBy\": {\n \"column\": \"managedBy\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.employee\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.employee\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Employee\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Employees\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"dummy\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"managedBy\": {\n \"apiName\": \"managedBy\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"ManagedBy\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"id\",\n },\n },\n },\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Conditional overrides on actions are properly defined\", () => {\n const exampleAction = defineAction({\n apiName: \"foo\",\n displayName: \"exampleAction\",\n status: \"active\",\n rules: [{\n type: \"modifyObjectRule\",\n modifyObjectRule: {\n objectToModify: \"objectToModifyParameter\",\n propertyValues: {\n \"bar\": {\n type: \"parameterId\",\n parameterId: \"param1\",\n },\n },\n structFieldValues: {},\n },\n }],\n parameters: [{\n id: \"param1\",\n displayName: \"param1\",\n type: \"boolean\",\n validation: {\n required: true,\n allowedValues: { type: \"boolean\" },\n defaultVisibility: \"editable\",\n conditionalOverrides: [\n {\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"myGroup\",\n },\n },\n ],\n },\n }, {\n id: \"objectToModifyParameter\",\n displayName: \"objectToModifyParameter\",\n type: \"objectTypeReference\",\n validation: {\n required: true,\n allowedValues: { type: \"objectTypeReference\", interfaceTypes: [] },\n defaultVisibility: \"editable\",\n },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"param1\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"param1\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"myGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"hidden\": {},\n \"type\": \"hidden\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"checkbox\": {},\n \"type\": \"checkbox\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"boolean\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"type\": \"boolean\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"exampleAction\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"param1\",\n \"objectToModifyParameter\",\n ],\n \"parameters\": {\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"objectToModifyParameter\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectTypeReference\": {},\n \"type\": \"objectTypeReference\",\n },\n },\n \"param1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"param1\",\n \"typeClasses\": [],\n },\n \"id\": \"param1\",\n \"type\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"OAC defined object references as parameters are properly defined\", () => {\n // This test defines an action that creates an OAC-defined employee object type and also adds an additional parameter\n // for an objectReference to a manager object type that is also defined in OAC. The action shows how you can use this\n // objectReference parameter elsewhere in the action - in this case we are prefilling the managedBy property to be the\n // id of the selected manager object type.\n const employeeObject = defineObject({\n apiName: \"employee\",\n displayName: \"Employee\",\n pluralDisplayName: \"Employees\",\n titlePropertyApiName: \"id\",\n primaryKeyPropertyApiName: \"id\",\n properties: {\n \"id\": { type: \"string\", displayName: \"ID\", description: \"dummy\" },\n \"managedBy\": { type: \"string\" },\n },\n });\n\n const managerObject = defineObject({\n apiName: \"manager\",\n displayName: \"Manager\",\n pluralDisplayName: \"Managers\",\n titlePropertyApiName: \"id\",\n primaryKeyPropertyApiName: \"id\",\n properties: {\n \"id\": { type: \"string\", displayName: \"ID\", description: \"dummy\" },\n },\n editsEnabled: true,\n });\n\n defineCreateObjectAction({\n objectType: employeeObject,\n parameterOrdering: [\"myManager\", \"id\", \"managedBy\"],\n parameterConfiguration: {\n \"myManager\": {\n customParameterType: {\n type: \"objectReference\",\n objectReference: {\n objectTypeId: managerObject.apiName,\n },\n },\n },\n \"managedBy\": {\n defaultValue: {\n type: \"objectParameterPropertyValue\",\n objectParameterPropertyValue: {\n parameterId: \"myManager\",\n propertyTypeId: \"id\",\n },\n },\n },\n },\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-employee\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.employee\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"managedBy\": {\n \"parameterId\": \"managedBy\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"managedBy\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"myManager\",\n \"propertyTypeId\": \"id\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"myManager\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-employee\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Employee\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.employee\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"myManager\",\n \"id\",\n \"managedBy\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ID\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"managedBy\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ManagedBy\",\n \"typeClasses\": [],\n },\n \"id\": \"managedBy\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"myManager\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"MyManager\",\n \"typeClasses\": [],\n },\n \"id\": \"myManager\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.manager\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.employee\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.employee\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"managedBy\": {\n \"column\": \"managedBy\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.employee\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.employee\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Employee\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Employees\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"dummy\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"managedBy\": {\n \"apiName\": \"managedBy\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"ManagedBy\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"id\",\n },\n },\n \"com.palantir.manager\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.manager\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.manager\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": true,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.manager\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Manager\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Managers\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"dummy\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"id\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Actions with group permissions are properly defined\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": {\n type: \"string\",\n description: \"The name of the test object\",\n },\n \"id\": {\n type: \"string\",\n displayName: \"ID\",\n description: \"The ID of the test object\",\n },\n },\n });\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"testGroup\",\n },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.sampleObject\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"name\": {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"testGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"name\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-sample-object\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Test Object\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.sampleObject\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"name\",\n \"id\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ID\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"name\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Name\",\n \"typeClasses\": [],\n },\n \"id\": \"name\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.sampleObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.sampleObject\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"name\": {\n \"column\": \"name\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.sampleObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.sampleObject\",\n \"displayMetadata\": {\n \"description\": \"Sample object description\",\n \"displayName\": \"Test Object\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"tests\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"The ID of the test object\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"name\": {\n \"apiName\": \"name\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"The name of the test object\",\n \"displayName\": \"Name\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"name\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Actions with custom permissions are properly defined\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": {\n type: \"string\",\n description: \"The name of the test object\",\n },\n \"id\": {\n type: \"string\",\n displayName: \"ID\",\n description: \"The ID of the test object\",\n },\n },\n });\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n actionLevelValidation: [{\n displayMetadata: {\n failureMessage:\n \"Insufficient permissions. Missing organization membership required to submit action\",\n typeClasses: [],\n },\n condition: {\n type: \"comparison\",\n comparison: {\n operator: \"INTERSECTS\",\n left: {\n type: \"userProperty\",\n userProperty: {\n userId: {\n type: \"currentUser\",\n currentUser: {},\n },\n propertyValue: {\n type: \"organizationMarkingIds\",\n organizationMarkingIds: {},\n },\n },\n },\n right: {\n type: \"staticValue\",\n staticValue: {\n type: \"stringList\",\n stringList: {\n strings: [\n \"87ef507e-f954-457e-ad68-e0df71ef7567\",\n ],\n },\n },\n },\n },\n },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.sampleObject\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"name\": {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"organizationMarkingIds\": {},\n \"type\": \"organizationMarkingIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"87ef507e-f954-457e-ad68-e0df71ef7567\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Insufficient permissions. Missing organization membership required to submit action\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"name\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-sample-object\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Test Object\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.sampleObject\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"name\",\n \"id\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ID\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"name\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Name\",\n \"typeClasses\": [],\n },\n \"id\": \"name\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.sampleObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.sampleObject\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"name\": {\n \"column\": \"name\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.sampleObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.sampleObject\",\n \"displayMetadata\": {\n \"description\": \"Sample object description\",\n \"displayName\": \"Test Object\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"tests\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"The ID of the test object\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"name\": {\n \"apiName\": \"name\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"The name of the test object\",\n \"displayName\": \"Name\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"name\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Array property validation is correctly structured for actions\", () => {\n const objectWithArrays = defineObject({\n apiName: \"objectWithArrays\",\n displayName: \"Object With Arrays\",\n primaryKeyPropertyApiName: \"id\",\n titlePropertyApiName: \"id\",\n pluralDisplayName: \"Objects With Arrays\",\n properties: {\n \"id\": { type: \"string\", displayName: \"ID\" },\n \"tags\": { type: \"string\", array: true, displayName: \"Tags\" },\n \"numbers\": { type: \"integer\", array: true, displayName: \"Numbers\" },\n \"singleValue\": { type: \"string\", displayName: \"Single Value\" },\n },\n });\n\n const createAction = defineCreateObjectAction({\n objectType: objectWithArrays,\n });\n const modifyAction = defineModifyObjectAction({\n objectType: objectWithArrays,\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-object-with-arrays\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.objectWithArrays\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"numbers\": {\n \"parameterId\": \"numbers\",\n \"type\": \"parameterId\",\n },\n \"singleValue\": {\n \"parameterId\": \"singleValue\",\n \"type\": \"parameterId\",\n },\n \"tags\": {\n \"parameterId\": \"tags\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"numbers\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"numericInput\": {},\n \"type\": \"numericInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"range\": {\n \"range\": {},\n \"type\": \"range\",\n },\n \"type\": \"range\",\n },\n \"required\": {\n \"listLengthValidation\": {\n \"maxLength\": undefined,\n \"minLength\": undefined,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n \"singleValue\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"tags\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"listLengthValidation\": {\n \"maxLength\": undefined,\n \"minLength\": undefined,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-object-with-arrays\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Object With Arrays\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.objectWithArrays\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"id\",\n \"tags\",\n \"numbers\",\n \"singleValue\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ID\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"numbers\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Numbers\",\n \"typeClasses\": [],\n },\n \"id\": \"numbers\",\n \"type\": {\n \"integerList\": {},\n \"type\": \"integerList\",\n },\n },\n \"singleValue\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Single Value\",\n \"typeClasses\": [],\n },\n \"id\": \"singleValue\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"tags\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Tags\",\n \"typeClasses\": [],\n },\n \"id\": \"tags\",\n \"type\": {\n \"stringList\": {},\n \"type\": \"stringList\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-object-with-arrays\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"numbers\": {\n \"parameterId\": \"numbers\",\n \"type\": \"parameterId\",\n },\n \"singleValue\": {\n \"parameterId\": \"singleValue\",\n \"type\": \"parameterId\",\n },\n \"tags\": {\n \"parameterId\": \"tags\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"numbers\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"numbers\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"numericInput\": {},\n \"type\": \"numericInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"range\": {\n \"range\": {},\n \"type\": \"range\",\n },\n \"type\": \"range\",\n },\n \"required\": {\n \"listLengthValidation\": {\n \"maxLength\": undefined,\n \"minLength\": undefined,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"singleValue\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"singleValue\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"tags\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"tags\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"listLengthValidation\": {\n \"maxLength\": undefined,\n \"minLength\": undefined,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-object-with-arrays\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify Object With Arrays\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.objectWithArrays\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n \"tags\",\n \"numbers\",\n \"singleValue\",\n ],\n \"parameters\": {\n \"numbers\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Numbers\",\n \"typeClasses\": [],\n },\n \"id\": \"numbers\",\n \"type\": {\n \"integerList\": {},\n \"type\": \"integerList\",\n },\n },\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.objectWithArrays\",\n },\n \"type\": \"objectReference\",\n },\n },\n \"singleValue\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Single Value\",\n \"typeClasses\": [],\n },\n \"id\": \"singleValue\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"tags\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Tags\",\n \"typeClasses\": [],\n },\n \"id\": \"tags\",\n \"type\": {\n \"stringList\": {},\n \"type\": \"stringList\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.objectWithArrays\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.objectWithArrays\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"numbers\": {\n \"column\": \"numbers\",\n \"type\": \"column\",\n },\n \"singleValue\": {\n \"column\": \"singleValue\",\n \"type\": \"column\",\n },\n \"tags\": {\n \"column\": \"tags\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.objectWithArrays\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.objectWithArrays\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Object With Arrays\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Objects With Arrays\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"numbers\": {\n \"apiName\": \"numbers\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Numbers\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"array\": {\n \"subtype\": {\n \"integer\": {},\n \"type\": \"integer\",\n },\n },\n \"type\": \"array\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"singleValue\": {\n \"apiName\": \"singleValue\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Single Value\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"tags\": {\n \"apiName\": \"tags\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Tags\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"array\": {\n \"subtype\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n },\n \"type\": \"array\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"id\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Action sections are properly defined\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": { type: \"string\" },\n \"id\": { type: \"string\" },\n },\n });\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n sections: [\n {\n id: \"section1\",\n displayName: \"Section 1\",\n parameters: [\"id\"],\n description: \"Description for Section 1\",\n conditionalOverrides: [\n {\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"testGroup\",\n },\n },\n ],\n },\n ],\n });\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.sampleObject\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"name\": {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"name\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {\n \"section1\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"testGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"sectionBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"hidden\": {},\n \"type\": \"hidden\",\n },\n },\n },\n ],\n },\n ],\n \"defaultDisplayMetadata\": {\n \"visibility\": {\n \"type\": \"visible\",\n \"visible\": {},\n },\n },\n },\n },\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-sample-object\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Test Object\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.sampleObject\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [\n {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n {\n \"sectionId\": \"section1\",\n \"type\": \"sectionId\",\n },\n ],\n \"parameterOrdering\": [\n \"name\",\n \"id\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Id\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"name\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Name\",\n \"typeClasses\": [],\n },\n \"id\": \"name\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {\n \"section1\": {\n \"content\": [\n {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n ],\n \"displayMetadata\": {\n \"collapsedByDefault\": false,\n \"columnCount\": 1,\n \"description\": \"Description for Section 1\",\n \"displayName\": \"Section 1\",\n \"showTitleBar\": true,\n },\n \"id\": \"section1\",\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.sampleObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.sampleObject\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"name\": {\n \"column\": \"name\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.sampleObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.sampleObject\",\n \"displayMetadata\": {\n \"description\": \"Sample object description\",\n \"displayName\": \"Test Object\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"tests\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Id\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"name\": {\n \"apiName\": \"name\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Name\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"name\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Action section parameters must exist\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": { type: \"string\" },\n \"id\": { type: \"string\" },\n },\n });\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n sections: [\n {\n id: \"section1\",\n displayName: \"Section 1\",\n parameters: [\"foo\"],\n },\n ],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Parameters [\"foo\"] were referenced but not defined]`,\n );\n });\n\n it(\"Custom parameter ordering is properly defined\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": { type: \"string\" },\n \"id\": { type: \"string\" },\n \"foo\": { type: \"string\" },\n },\n });\n expect(() => {\n const createBadAction = defineCreateObjectAction({\n objectType: sampleObject,\n parameterOrdering: [\"foo\", \"id\"],\n excludedProperties: [\"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for create-object-sample-object does not match expected parameters. Extraneous parameters in ordering: {id}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineModifyObjectAction({\n objectType: sampleObject,\n // primary keys should not be in modify action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for modify-object-sample-object does not match expected parameters. Extraneous parameters in ordering: {id}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineCreateOrModifyObjectAction({\n objectType: sampleObject,\n // primary keys should not be in create-or-modify action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for create-or-modify-sample-object does not match expected parameters. Extraneous parameters in ordering: {id}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineCreateObjectAction({\n objectType: sampleObject,\n nonParameterMappings: {\n \"foo\": {\n type: \"currentUser\",\n },\n },\n // non-parameter mapped properties should not be in action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for create-object-sample-object does not match expected parameters. Extraneous parameters in ordering: {foo}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineModifyObjectAction({\n objectType: sampleObject,\n nonParameterMappings: {\n \"foo\": {\n type: \"currentUser\",\n },\n },\n // non-parameter mapped properties should not be in action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for modify-object-sample-object does not match expected parameters. Extraneous parameters in ordering: {foo,id}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineCreateOrModifyObjectAction({\n objectType: sampleObject,\n nonParameterMappings: {\n \"foo\": {\n type: \"currentUser\",\n },\n },\n // non-parameter mapped properties should not be in action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for create-or-modify-sample-object does not match expected parameters. Extraneous parameters in ordering: {foo,id}, Missing parameters in ordering: {name}]`,\n );\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n parameterOrdering: [\"foo\", \"name\", \"id\"],\n parameterConfiguration: {\n \"name\": {\n conditionalOverrides: [\n {\n type: \"visibility\",\n condition: {\n type: \"parameter\",\n parameterId: \"foo\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"foo\",\n },\n },\n },\n },\n ],\n },\n },\n });\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.sampleObject\",\n \"propertyValues\": {\n \"foo\": {\n \"parameterId\": \"foo\",\n \"type\": \"parameterId\",\n },\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"name\": {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"foo\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"name\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"foo\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"foo\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-sample-object\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Test Object\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.sampleObject\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"foo\",\n \"name\",\n \"id\",\n ],\n \"parameters\": {\n \"foo\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Foo\",\n \"typeClasses\": [],\n },\n \"id\": \"foo\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Id\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"name\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Name\",\n \"typeClasses\": [],\n },\n \"id\": \"name\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.sampleObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.sampleObject\",\n \"propertyMapping\": {\n \"foo\": {\n \"column\": \"foo\",\n \"type\": \"column\",\n },\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"name\": {\n \"column\": \"name\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.sampleObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.sampleObject\",\n \"displayMetadata\": {\n \"description\": \"Sample object description\",\n \"displayName\": \"Test Object\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"tests\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"foo\": {\n \"apiName\": \"foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Id\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"name\": {\n \"apiName\": \"name\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Name\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"name\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACzD,SAASC,sBAAsB,QAAQ,qCAAqC;AAC5E,SACEC,iCAAiC,EACjCC,iCAAiC,EACjCC,YAAY,EACZC,iCAAiC,EACjCC,uBAAuB,QAClB,oBAAoB;AAC3B,SAASC,iCAAiC,QAAQ,yCAAyC;AAC3F,SAASC,wBAAwB,QAAQ,gCAAgC;AACzE,SAASC,gCAAgC,QAAQ,wCAAwC;AACzF,SAASC,wBAAwB,QAAQ,gCAAgC;AACzE,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,iCAAiC,QAAQ,yCAAyC;AAC3F,SAASC,wBAAwB,QAAQ,gCAAgC;AACzE,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,cAAc,EAAEC,wBAAwB,QAAQ,sBAAsB;AAC/E,SAASC,wBAAwB,QAAQ,iBAAiB;AAC1D,SAASC,oBAAoB,QAAQ,4BAA4B;AAIjEpB,QAAQ,CAAC,cAAc,EAAE,MAAM;EAC7BD,UAAU,CAAC,YAAY;IACrB,MAAMkB,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC;EAC1D,CAAC,CAAC;EACFjB,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IAClCE,EAAE,CAAC,wCAAwC,EAAE,MAAM;MACrCW,eAAe,CAAC;QAC1BQ,OAAO,EAAE,KAAK;QACdC,WAAW,EAAE,KAAK;QAClBC,UAAU,EAAE,CAAC;MACf,CAAC,CAAC;MACoBjB,YAAY,CAAC;QACjCe,OAAO,EAAE,KAAK;QACdC,WAAW,EAAE,eAAe;QAC5BE,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAE,CAAC;UACNC,IAAI,EAAE,kBAAkB;UACxBC,gBAAgB,EAAE;YAChBC,gBAAgB,EAAE,KAAK;YACvBC,mBAAmB,EAAE,QAAQ;YAC7BC,oBAAoB,EAAE,CAAC;UACzB;QACF,CAAC,CAAC;QACFC,UAAU,EAAE,CAAC;UACXC,EAAE,EAAE,QAAQ;UACZV,WAAW,EAAE,QAAQ;UACrBI,IAAI,EAAE,SAAS;UACfO,UAAU,EAAE;YAAEC,QAAQ,EAAE,IAAI;YAAEC,aAAa,EAAE;cAAET,IAAI,EAAE;YAAU;UAAE;QACnE,CAAC;MACH,CAAC,CAAC;MAEFzB,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,mEAAmE,EAAE,MAAM;MAC5E,MAAMmC,yBAAyB,GAAGlB,wBAAwB,CAAC;QACzDE,OAAO,EAAE,WAAW;QACpBK,IAAI,EAAE;UACJA,IAAI,EAAE,QAAQ;UACdY,gBAAgB,EAAE;YAChBC,cAAc,EAAE;UAClB;QACF;MACF,CAAC,CAAC;MACF,MAAMC,KAAK,GAAGrB,wBAAwB,CAAC;QACrCE,OAAO,EAAE,OAAO;QAChBK,IAAI,EAAE;MACR,CAAC,CAAC;MACF,MAAMe,gBAAgB,GAAG5B,eAAe,CAAC;QACvCQ,OAAO,EAAE,kBAAkB;QAC3BqB,IAAI,EAAE;UAAEC,KAAK,EAAE,WAAW;UAAEC,OAAO,EAAE;QAAQ,CAAC;QAC9CrB,UAAU,EAAE;UACViB,KAAK;UACLK,SAAS,EAAE,QAAQ;UACnBC,SAAS,EAAET;QACb;MACF,CAAC,CAAC;MAEF,MAAMU,iBAAiB,GAAG/B,YAAY,CAAC;QACrCgC,oBAAoB,EAAE,KAAK;QAC3B1B,WAAW,EAAE,mBAAmB;QAChC2B,iBAAiB,EAAE,oBAAoB;QACvC5B,OAAO,EAAE,KAAK;QACd6B,yBAAyB,EAAE,KAAK;QAChC3B,UAAU,EAAE;UACV,KAAK,EAAE;YAAEG,IAAI,EAAE;UAAS,CAAC;UACzB,WAAW,EAAE;YAAEA,IAAI,EAAE;UAAS,CAAC;UAC/B,WAAW,EAAE;YACXA,IAAI,EAAE;cACJA,IAAI,EAAE,QAAQ;cACdY,gBAAgB,EAAE;gBAAEC,cAAc,EAAE;cAAS;YAC/C;UACF;QACF,CAAC;QACDY,oBAAoB,EAAE,CAAC;UACrBC,UAAU,EAAEX,gBAAgB;UAC5BY,eAAe,EAAE,CACf;YACEC,iBAAiB,EAAE,oBAAoB;YACvCC,MAAM,EAAE;UACV,CAAC,EACD;YACED,iBAAiB,EAAE,wBAAwB;YAC3CC,MAAM,EAAE;UACV,CAAC,EACD;YACED,iBAAiB,EAAE,wBAAwB;YAC3CC,MAAM,EAAE;UACV,CAAC;QAEL,CAAC;MACH,CAAC,CAAC;MAEiC9C,iCAAiC,CAAC;QACnE+C,aAAa,EAAEf,gBAAgB;QAC/BgB,UAAU,EAAEV;MACd,CAAC,CAAC;MAEmBjC,iCAAiC,CAAC;QACrD0C,aAAa,EAAEf,gBAAgB;QAC/BgB,UAAU,EAAEV;MACd,CAAC,CAAC;MAEF9C,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,sEAAsE,EAAE,MAAM;MAC/E,MAAMuC,gBAAgB,GAAG5B,eAAe,CAAC;QACvCQ,OAAO,EAAE,kBAAkB;QAC3BE,UAAU,EAAE;UACVsB,SAAS,EAAE;QACb;MACF,CAAC,CAAC;MACmBpC,iCAAiC,CAAC;QACrD+C,aAAa,EAAEf;MACjB,CAAC,CAAC;MACmB3B,iCAAiC,CAAC;QACrD0C,aAAa,EAAEf;MACjB,CAAC,CAAC;MAEFxC,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,4DAA4D,EAAE,MAAM;MACrE,MAAM2C,SAAS,GAAG1B,wBAAwB,CAAC;QACzCE,OAAO,EAAE,WAAW;QACpBK,IAAI,EAAE;MACR,CAAC,CAAC;MACF,MAAMoB,SAAS,GAAG3B,wBAAwB,CAAC;QACzCE,OAAO,EAAE,WAAW;QACpBK,IAAI,EAAE;MACR,CAAC,CAAC;MACF,MAAMgC,SAAS,GAAGvC,wBAAwB,CAAC;QACzCE,OAAO,EAAE,WAAW;QACpBK,IAAI,EAAE;MACR,CAAC,CAAC;MACF,MAAMe,gBAAgB,GAAG5B,eAAe,CAAC;QACvCQ,OAAO,EAAE,kBAAkB;QAC3BE,UAAU,EAAE;UACVsB,SAAS;UACTC,SAAS;UACTY;QACF;MACF,CAAC,CAAC;MACmBjD,iCAAiC,CAAC;QACrD+C,aAAa,EAAEf,gBAAgB;QAC/BpB,OAAO,EAAE,mBAAmB;QAC5BC,WAAW,EAAE,sBAAsB;QACnCE,MAAM,EAAE,cAAc;QACtBmC,sBAAsB,EAAE;UACtB,CAACD,SAAS,CAACrC,OAAO,GAAG;YACnBa,QAAQ,EAAE,KAAK;YACf0B,oBAAoB,EAAE,CACpB;cACElC,IAAI,EAAE,UAAU;cAChBmC,SAAS,EAAE;gBACTnC,IAAI,EAAE,KAAK;gBACXoC,UAAU,EAAE,CACV;kBACEpC,IAAI,EAAE,OAAO;kBACbqC,IAAI,EAAE;gBACR,CAAC,EACD;kBACErC,IAAI,EAAE,WAAW;kBACjBsC,WAAW,EAAEnB,SAAS,CAACxB,OAAO;kBAC9B4C,OAAO,EAAE;oBACPvC,IAAI,EAAE,aAAa;oBACnBwC,WAAW,EAAE;sBACXxC,IAAI,EAAE,QAAQ;sBACdyC,MAAM,EAAE;oBACV;kBACF;gBACF,CAAC;cAEL;YACF,CAAC,CACF;YACDC,YAAY,EAAE;cACZ1C,IAAI,EAAE,aAAa;cACnBwC,WAAW,EAAE;gBACXxC,IAAI,EAAE,QAAQ;gBACdyC,MAAM,EAAE;cACV;YACF,CAAC;YACD7C,WAAW,EAAE,cAAc;YAC3B+C,WAAW,EAAE;UACf;QACF,CAAC;QACDC,kBAAkB,EAAE,CAACxB,SAAS,CAACzB,OAAO,CAAC;QACvCkD,iBAAiB,EAAE,CAAC1B,SAAS,CAACxB,OAAO,EAAEqC,SAAS,CAACrC,OAAO;MAC1D,CAAC,CAAC;MACmBP,iCAAiC,CAAC;QACrD0C,aAAa,EAAEf,gBAAgB;QAC/BpB,OAAO,EAAE,mBAAmB;QAC5BC,WAAW,EAAE,sBAAsB;QACnCE,MAAM,EAAE,cAAc;QACtBmC,sBAAsB,EAAE;UACtB,CAACD,SAAS,CAACrC,OAAO,GAAG;YACnBa,QAAQ,EAAE,KAAK;YACf0B,oBAAoB,EAAE,CACpB;cACElC,IAAI,EAAE,UAAU;cAChBmC,SAAS,EAAE;gBACTnC,IAAI,EAAE,KAAK;gBACXoC,UAAU,EAAE,CACV;kBACEpC,IAAI,EAAE,OAAO;kBACbqC,IAAI,EAAE;gBACR,CAAC,EACD;kBACErC,IAAI,EAAE,WAAW;kBACjBsC,WAAW,EAAEnB,SAAS,CAACxB,OAAO;kBAC9B4C,OAAO,EAAE;oBACPvC,IAAI,EAAE,aAAa;oBACnBwC,WAAW,EAAE;sBACXxC,IAAI,EAAE,QAAQ;sBACdyC,MAAM,EAAE;oBACV;kBACF;gBACF,CAAC;cAEL;YACF,CAAC,CACF;YACDC,YAAY,EAAE;cACZ1C,IAAI,EAAE,aAAa;cACnBwC,WAAW,EAAE;gBACXxC,IAAI,EAAE,QAAQ;gBACdyC,MAAM,EAAE;cACV;YACF,CAAC;YACD7C,WAAW,EAAE,cAAc;YAC3B+C,WAAW,EAAE;UACf;QACF,CAAC;QACDC,kBAAkB,EAAE,CAACxB,SAAS,CAACzB,OAAO,CAAC;QACvCkD,iBAAiB,EAAE,CAAC1B,SAAS,CAACxB,OAAO,EAAEqC,SAAS,CAACrC,OAAO;MAC1D,CAAC,CAAC;MAEFpB,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS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CJ,CAAC,CAAC,CAACE,kCAAkC,CACnC,qKACF,CAAC;IACH,CAAC,CAAC;IAEF/E,EAAE,CAAC,uCAAuC,EAAE,MAAM;MAC1BI,YAAY,CAAC;QACjCe,OAAO,EAAE,KAAK;QACdC,WAAW,EAAE,eAAe;QAC5BE,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAE,CAAC;UACNC,IAAI,EAAE,yBAAyB;UAC/B4D,uBAAuB,EAAE;YACvBC,cAAc,EAAE,yBAAyB;YACzCC,cAAc,EAAE;cACd,KAAK,EAAE;gBACL9D,IAAI,EAAE,aAAa;gBACnBsC,WAAW,EAAE;cACf;YACF,CAAC;YACDyB,iBAAiB,EAAE,CAAC;UACtB;QACF,CAAC,CAAC;QACF1D,UAAU,EAAE,CAAC;UACXC,EAAE,EAAE,QAAQ;UACZV,WAAW,EAAE,QAAQ;UACrBI,IAAI,EAAE,SAAS;UACfO,UAAU,EAAE;YAAEC,QAAQ,EAAE,IAAI;YAAEC,aAAa,EAAE;cAAET,IAAI,EAAE;YAAU;UAAE;QACnE,CAAC;MACH,CAAC,CAAC;MAEFzB,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAC/BE,EAAE,CAAC,8CAA8C,EAAE,MAAM;MACvD,MAAM6C,iBAAiB,GAAG/B,YAAY,CAAC;QACrCgC,oBAAoB,EAAE,KAAK;QAC3B1B,WAAW,EAAE,mBAAmB;QAChC2B,iBAAiB,EAAE,oBAAoB;QACvC5B,OAAO,EAAE,KAAK;QACd6B,yBAAyB,EAAE,KAAK;QAChC3B,UAAU,EAAE;UACV,KAAK,EAAE;YAAEG,IAAI,EAAE;UAAS,CAAC;UACzB,YAAY,EAAE;YACZA,IAAI,EAAE;cACJA,IAAI,EAAE,QAAQ;cACdY,gBAAgB,EAAE;gBAAEC,cAAc,EAAE;cAAS;YAC/C;UACF,CAAC;UACD,cAAc,EAAE;YAAEb,IAAI,EAAE;UAAS;QACnC;MACF,CAAC,CAAC;MAE6BhB,wBAAwB,CACrD;QACE+C,UAAU,EAAEV;MACd,CACF,CAAC;MAC8BhC,wBAAwB,CACrD;QACE0C,UAAU,EAAEV;MACd,CACF,CAAC;MAC8BnC,wBAAwB,CACrD;QACE6C,UAAU,EAAEV;MACd,CACF,CAAC;MACsCpC,gCAAgC,CACrE;QACE8C,UAAU,EAAEV;MACd,CACF,CAAC;MAED9C,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,iEAAiE,EAAE,MAAM;MAC1E,MAAM6C,iBAAiB,GAAG/B,YAAY,CAAC;QACrCgC,oBAAoB,EAAE,KAAK;QAC3B1B,WAAW,EAAE,mBAAmB;QAChC2B,iBAAiB,EAAE,oBAAoB;QACvC5B,OAAO,EAAE,KAAK;QACd6B,yBAAyB,EAAE,SAAS;QACpC3B,UAAU,EAAE;UACV,KAAK,EAAE;YAAEG,IAAI,EAAE;UAAS,CAAC;UACzB,MAAM,EAAE;YAAEA,IAAI,EAAE;UAAS,CAAC;UAC1B,MAAM,EAAE;YAAEA,IAAI,EAAE;UAAS,CAAC;UAC1B,SAAS,EAAE;YAAEA,IAAI,EAAE;UAAS;QAC9B;MACF,CAAC,CAAC;MAE6BhB,wBAAwB,CACrD;QACE+C,UAAU,EAAEV,iBAAiB;QAC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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,sDAAsD,EAAE,MAAM;MAC/D,MAAM6C,iBAAiB,GAAG/B,YAAY,CAAC;QACrCgC,oBAAoB,EAAE,KAAK;QAC3B1B,WAAW,EAAE,mBAAmB;QAChC2B,iBAAiB,EAAE,oBAAoB;QACvC5B,OAAO,EAAE,KAAK;QACd6B,yBAAyB,EAAE,KAAK;QAChC3B,UAAU,EAAE;UACV,KAAK,EAAE;YAAEG,IAAI,EAAE;UAAS,CAAC;UACzB,MAAM,EAAE;YAAEA,IAAI,EAAE;UAAS,CAAC;UAC1B,MAAM,EAAE;YAAEA,IAAI,EAAE;UAAY;QAC9B;MACF,CAAC,CAAC;MAE6BhB,wBAAwB,CACrD;QACE+C,UAAU,EAAEV,iBAAiB;QAC7BwD,oBAAoB,EAAE;UACpB,MAAM,EAAE;YACN7E,IAAI,EAAE;UACR,CAAC;UACD,MAAM,EAAE;YACNA,IAAI,EAAE;UACR;QACF;MACF,CACF,CAAC;MAC8BX,wBAAwB,CACrD;QACE0C,UAAU,EAAEV,iBAAiB;QAC7BwD,oBAAoB,EAAE;UACpB,MAAM,EAAE;YACN7E,IAAI,EAAE;UACR,CAAC;UACD,MAAM,EAAE;YACNA,IAAI,EAAE;UACR;QACF;MACF,CACF,CAAC;MACsCf,gCAAgC,CACrE;QACE8C,UAAU,EAAEV,iBAAiB;QAC7BwD,oBAAoB,EAAE;UACpB,MAAM,EAAE;YACN7E,IAAI,EAAE;UACR,CAAC;UACD,MAAM,EAAE;YACNA,IAAI,EAAE;UACR;QACF;MACF,CACF,CAAC;MAED,MAAMmB,SAAS,GAAG1B,wBAAwB,CAAC;QACzCE,OAAO,EAAE,WAAW;QACpBK,IAAI,EAAE;MACR,CAAC,CAAC;MACF,MAAMoB,SAAS,GAAG3B,wBAAwB,CAAC;QACzCE,OAAO,EAAE,WAAW;QACpBK,IAAI,EAAE;MACR,CAAC,CAAC;MACF,MAAMe,gBAAgB,GAAG5B,eAAe,CAAC;QACvCQ,OAAO,EAAE,kBAAkB;QAC3BE,UAAU,EAAE;UACVsB,SAAS;UACTC;QACF;MACF,CAAC,CAAC;MACkCrC,iCAAiC,CAAC;QACpE+C,aAAa,EAAEf,gBAAgB;QAC/B8D,oBAAoB,EAAE;UACpB,CAAC1D,SAAS,CAACxB,OAAO,GAAG;YACnBK,IAAI,EAAE;UACR,CAAC;UACD,CAACoB,SAAS,CAACzB,OAAO,GAAG;YACnBK,IAAI,EAAE;UACR;QACF;MACF,CAAC,CAAC;MACkCZ,iCAAiC,CAAC;QACpE0C,aAAa,EAAEf,gBAAgB;QAC/B8D,oBAAoB,EAAE;UACpB,CAAC1D,SAAS,CAACxB,OAAO,GAAG;YACnBK,IAAI,EAAE;UACR,CAAC;UACD,CAACoB,SAAS,CAACzB,OAAO,GAAG;YACnBK,IAAI,EAAE;UACR;QACF;MACF,CAAC,CAAC;MACFzB,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,mFAAmF,EAAE,MAAM;MAC5F,MAAMsG,YAAY,GAAGxF,YAAY,CAAC;QAChCK,OAAO,EAAE,cAAc;QACvBC,WAAW,EAAE,aAAa;QAC1B+C,WAAW,EAAE,2BAA2B;QACxCnB,yBAAyB,EAAE,IAAI;QAC/BD,iBAAiB,EAAE,OAAO;QAC1BD,oBAAoB,EAAE,MAAM;QAC5BzB,UAAU,EAAE;UACV,MAAM,EAAE;YAAEG,IAAI,EAAE;UAAS,CAAC;UAC1B,IAAI,EAAE;YAAEA,IAAI,EAAE;UAAS;QACzB;MACF,CAAC,CAAC;MACFzB,MAAM,CAAC,MAAM;QACUS,wBAAwB,CAAC;UAC5C+C,UAAU,EAAE+C,YAAY;UACxB7C,sBAAsB,EAAE;YACtB,MAAM,EAAE;cACNrC,WAAW,EAAE;YAC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AC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,uDAAuD,EAAE,MAAM;MAC1CI,YAAY,CAAC;QACjCe,OAAO,EAAE,KAAK;QACdC,WAAW,EAAE,eAAe;QAC5BE,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAE,CAAC;UACNC,IAAI,EAAE,kBAAkB;UACxBkF,gBAAgB,EAAE;YAChBrB,cAAc,EAAE,yBAAyB;YACzCC,cAAc,EAAE;cACd,KAAK,EAAE;gBACL9D,IAAI,EAAE,aAAa;gBACnBsC,WAAW,EAAE;cACf;YACF,CAAC;YACDyB,iBAAiB,EAAE,CAAC;UACtB;QACF,CAAC,CAAC;QACF1D,UAAU,EAAE,CAAC;UACXC,EAAE,EAAE,QAAQ;UACZV,WAAW,EAAE,QAAQ;UACrBI,IAAI,EAAE,SAAS;UACfO,UAAU,EAAE;YACVC,QAAQ,EAAE,IAAI;YACdC,aAAa,EAAE;cAAET,IAAI,EAAE;YAAU,CAAC;YAClCoF,iBAAiB,EAAE,UAAU;YAC7BlD,oBAAoB,EAAE,CACpB;cACElC,IAAI,EAAE,YAAY;cAClBmC,SAAS,EAAE;gBACTnC,IAAI,EAAE,OAAO;gBACbqC,IAAI,EAAE;cACR;YACF,CAAC;UAEL;QACF,CAAC,EAAE;UACD/B,EAAE,EAAE,yBAAyB;UAC7BV,WAAW,EAAE,yBAAyB;UACtCI,IAAI,EAAE,qBAAqB;UAC3BO,UAAU,EAAE;YACVC,QAAQ,EAAE,IAAI;YACdC,aAAa,EAAE;cAAET,IAAI,EAAE,qBAAqB;cAAEqF,cAAc,EAAE;YAAG,CAAC;YAClED,iBAAiB,EAAE;UACrB;QACF,CAAC;MACH,CAAC,CAAC;MAEF7G,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,kEAAkE,EAAE,MAAM;MAC3E;MACA;MACA;MACA;MACA,MAAM2G,cAAc,GAAG7F,YAAY,CAAC;QAClCK,OAAO,EAAE,UAAU;QACnBC,WAAW,EAAE,UAAU;QACvB2B,iBAAiB,EAAE,WAAW;QAC9BD,oBAAoB,EAAE,IAAI;QAC1BE,yBAAyB,EAAE,IAAI;QAC/B3B,UAAU,EAAE;UACV,IAAI,EAAE;YAAEG,IAAI,EAAE,QAAQ;YAAEJ,WAAW,EAAE,IAAI;YAAE+C,WAAW,EAAE;UAAQ,CAAC;UACjE,WAAW,EAAE;YAAE3C,IAAI,EAAE;UAAS;QAChC;MACF,CAAC,CAAC;MAEF,MAAMsF,aAAa,GAAGhG,YAAY,CAAC;QACjCK,OAAO,EAAE,SAAS;QAClBC,WAAW,EAAE,SAAS;QACtB2B,iBAAiB,EAAE,UAAU;QAC7BD,oBAAoB,EAAE,IAAI;QAC1BE,yBAAyB,EAAE,IAAI;QAC/B3B,UAAU,EAAE;UACV,IAAI,EAAE;YAAEG,IAAI,EAAE,QAAQ;YAAEJ,WAAW,EAAE,IAAI;YAAE+C,WAAW,EAAE;UAAQ;QAClE,CAAC;QACD4C,YAAY,EAAE;MAChB,CAAC,CAAC;MAEFvG,wBAAwB,CAAC;QACvB+C,UAAU,EAAEoD,cAAc;QAC1BtC,iBAAiB,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC;QACnDZ,sBAAsB,EAAE;UACtB,WAAW,EAAE;YACXuD,mBAAmB,EAAE;cACnBxF,IAAI,EAAE,iBAAiB;cACvByF,eAAe,EAAE;gBACfC,YAAY,EAAEJ,aAAa,CAAC3F;cAC9B;YACF;UACF,CAAC;UACD,WAAW,EAAE;YACX+C,YAAY,EAAE;cACZ1C,IAAI,EAAE,8BAA8B;cACpC2F,4BAA4B,EAAE;gBAC5BrD,WAAW,EAAE,WAAW;gBACxBsD,cAAc,EAAE;cAClB;YACF;UACF;QACF;MACF,CAAC,CAAC;MAEFrH,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,qDAAqD,EAAE,MAAM;MAC9D,MAAMsG,YAAY,GAAGxF,YAAY,CAAC;QAChCK,OAAO,EAAE,cAAc;QACvBC,WAAW,EAAE,aAAa;QAC1B+C,WAAW,EAAE,2BAA2B;QACxCnB,yBAAyB,EAAE,IAAI;QAC/BD,iBAAiB,EAAE,OAAO;QAC1BD,oBAAoB,EAAE,MAAM;QAC5BzB,UAAU,EAAE;UACV,MAAM,EAAE;YACNG,IAAI,EAAE,QAAQ;YACd2C,WAAW,EAAE;UACf,CAAC;UACD,IAAI,EAAE;YACJ3C,IAAI,EAAE,QAAQ;YACdJ,WAAW,EAAE,IAAI;YACjB+C,WAAW,EAAE;UACf;QACF;MACF,CAAC,CAAC;MACmB3D,wBAAwB,CAAC;QAC5C+C,UAAU,EAAE+C,YAAY;QACxBd,qBAAqB,EAAE,CAAC;UACtB7B,SAAS,EAAE;YACTnC,IAAI,EAAE,OAAO;YACbqC,IAAI,EAAE;UACR;QACF,CAAC;MACH,CAAC,CAAC;MAEF9D,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,sDAAsD,EAAE,MAAM;MAC/D,MAAMsG,YAAY,GAAGxF,YAAY,CAAC;QAChCK,OAAO,EAAE,cAAc;QACvBC,WAAW,EAAE,aAAa;QAC1B+C,WAAW,EAAE,2BAA2B;QACxCnB,yBAAyB,EAAE,IAAI;QAC/BD,iBAAiB,EAAE,OAAO;QAC1BD,oBAAoB,EAAE,MAAM;QAC5BzB,UAAU,EAAE;UACV,MAAM,EAAE;YACNG,IAAI,EAAE,QAAQ;YACd2C,WAAW,EAAE;UACf,CAAC;UACD,IAAI,EAAE;YACJ3C,IAAI,EAAE,QAAQ;YACdJ,WAAW,EAAE,IAAI;YACjB+C,WAAW,EAAE;UACf;QACF;MACF,CAAC,CAAC;MACmB3D,wBAAwB,CAAC;QAC5C+C,UAAU,EAAE+C,YAAY;QACxBd,qBAAqB,EAAE,CAAC;UACtBC,eAAe,EAAE;YACfC,cAAc,EACZ,qFAAqF;YACvFC,WAAW,EAAE;UACf,CAAC;UACDhC,SAAS,EAAE;YACTnC,IAAI,EAAE,YAAY;YAClB6F,UAAU,EAAE;cACVC,QAAQ,EAAE,YAAY;cACtBC,IAAI,EAAE;gBACJ/F,IAAI,EAAE,cAAc;gBACpBgG,YAAY,EAAE;kBACZC,MAAM,EAAE;oBACNjG,IAAI,EAAE,aAAa;oBACnBkG,WAAW,EAAE,CAAC;kBAChB,CAAC;kBACDC,aAAa,EAAE;oBACbnG,IAAI,EAAE,wBAAwB;oBAC9BoG,sBAAsB,EAAE,CAAC;kBAC3B;gBACF;cACF,CAAC;cACDC,KAAK,EAAE;gBACLrG,IAAI,EAAE,aAAa;gBACnBwC,WAAW,EAAE;kBACXxC,IAAI,EAAE,YAAY;kBAClBsG,UAAU,EAAE;oBACVC,OAAO,EAAE,CACP,sCAAsC;kBAE1C;gBACF;cACF;YACF;UACF;QACF,CAAC;MACH,CAAC,CAAC;MAEFhI,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,+DAA+D,EAAE,MAAM;MACxE,MAAMgI,gBAAgB,GAAGlH,YAAY,CAAC;QACpCK,OAAO,EAAE,kBAAkB;QAC3BC,WAAW,EAAE,oBAAoB;QACjC4B,yBAAyB,EAAE,IAAI;QAC/BF,oBAAoB,EAAE,IAAI;QAC1BC,iBAAiB,EAAE,qBAAqB;QACxC1B,UAAU,EAAE;UACV,IAAI,EAAE;YAAEG,IAAI,EAAE,QAAQ;YAAEJ,WAAW,EAAE;UAAK,CAAC;UAC3C,MAAM,EAAE;YAAEI,IAAI,EAAE,QAAQ;YAAEyG,KAAK,EAAE,IAAI;YAAE7G,WAAW,EAAE;UAAO,CAAC;UAC5D,SAAS,EAAE;YAAEI,IAAI,EAAE,SAAS;YAAEyG,KAAK,EAAE,IAAI;YAAE7G,WAAW,EAAE;UAAU,CAAC;UACnE,aAAa,EAAE;YAAEI,IAAI,EAAE,QAAQ;YAAEJ,WAAW,EAAE;UAAe;QAC/D;MACF,CAAC,CAAC;MAEmBZ,wBAAwB,CAAC;QAC5C+C,UAAU,EAAEyE;MACd,CAAC,CAAC;MACmBnH,wBAAwB,CAAC;QAC5C0C,UAAU,EAAEyE;MACd,CAAC,CAAC;MAEFjI,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMsG,YAAY,GAAGxF,YAAY,CAAC;QAChCK,OAAO,EAAE,cAAc;QACvBC,WAAW,EAAE,aAAa;QAC1B+C,WAAW,EAAE,2BAA2B;QACxCnB,yBAAyB,EAAE,IAAI;QAC/BD,iBAAiB,EAAE,OAAO;QAC1BD,oBAAoB,EAAE,MAAM;QAC5BzB,UAAU,EAAE;UACV,MAAM,EAAE;YAAEG,IAAI,EAAE;UAAS,CAAC;UAC1B,IAAI,EAAE;YAAEA,IAAI,EAAE;UAAS;QACzB;MACF,CAAC,CAAC;MACmBhB,wBAAwB,CAAC;QAC5C+C,UAAU,EAAE+C,YAAY;QACxB4B,QAAQ,EAAE,CACR;UACEpG,EAAE,EAAE,UAAU;UACdV,WAAW,EAAE,WAAW;UACxBS,UAAU,EAAE,CAAC,IAAI,CAAC;UAClBsC,WAAW,EAAE,2BAA2B;UACxCT,oBAAoB,EAAE,CACpB;YACElC,IAAI,EAAE,YAAY;YAClBmC,SAAS,EAAE;cACTnC,IAAI,EAAE,OAAO;cACbqC,IAAI,EAAE;YACR;UACF,CAAC;QAEL,CAAC;MAEL,CAAC,CAAC;MACF9D,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlC,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMsG,YAAY,GAAGxF,YAAY,CAAC;QAChCK,OAAO,EAAE,cAAc;QACvBC,WAAW,E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ACXxC,IAAI,EAAE,QAAQ;oBACdyC,MAAM,EAAE;kBACV;gBACF;cACF;YACF,CAAC;UAEL;QACF;MACF,CAAC,CAAC;MACFlE,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"actions.test.js","names":["beforeEach","describe","expect","it","OntologyEntityTypeEnum","CREATE_INTERFACE_OBJECT_PARAMETER","CREATE_OR_MODIFY_OBJECT_PARAMETER","defineAction","MODIFY_INTERFACE_OBJECT_PARAMETER","MODIFY_OBJECT_PARAMETER","defineCreateInterfaceObjectAction","defineCreateObjectAction","defineCreateOrModifyObjectAction","defineDeleteObjectAction","defineInterface","defineModifyInterfaceObjectAction","defineModifyObjectAction","defineObject","defineOntology","dumpOntologyFullMetadata","defineSharedPropertyType","importOntologyEntity","apiName","displayName","status","rules","type","addOrModifyObjectRuleV2","objectToModify","propertyValues","parameterId","structFieldValues","parameters","id","validation","required","allowedValues","toMatchInlineSnapshot","properties","addInterfaceRule","interfaceApiName","objectTypeParameter","sharedPropertyValues","exampleStructPropertyType","structDefinition","simpleProperty","mySpt","exampleInterface","icon","color","locator","property1","property2","exampleObjectType","titlePropertyApiName","pluralDisplayName","primaryKeyPropertyApiName","implementsInterfaces","implements","propertyMapping","interfaceProperty","mapsTo","interfaceType","objectType","property3","actionLevelValidation","condition","name","parameterConfiguration","conditionalOverrides","conditions","matches","staticValue","string","defaultValue","description","excludedProperties","parameterOrdering","enableLayoutSwitch","defaultFormat","tableConfiguration","columnWidthByParameterRid","enableFileImport","fitHorizontally","frozenColumnCount","rowHeightInLines","submissionMetadata","successMessage","undoButtonConfiguration","submitButtonDisplayMetadata","intent","text","spt","importedInterface","extends","interfaceReference","interfaceTypeRid","modifyInterfaceRule","interfaceObjectToModifyParameter","double","other","toThrowErrorMatchingInlineSnapshot","not","toThrow","pulseRepetitionIntervalSecs","SHARED_PROPERTY_TYPE","sampleInterface","customParameterType","nonParameterMappings","sections","displayMetadata","failureMessage","typeClasses","primaryKeyOption","sampleObject","boolean","toThrowError","modifyObjectRule","employeeObject","defaultVisibility","interfaceTypes","managerObject","editsEnabled","objectReference","objectTypeId","objectParameterPropertyValue","propertyTypeId","comparison","operator","left","userProperty","userId","currentUser","propertyValue","organizationMarkingIds","right","stringList","strings","objectWithArrays","array"],"sources":["actions.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { beforeEach, describe, expect, it } from \"vitest\";\nimport { OntologyEntityTypeEnum } from \"../common/OntologyEntityTypeEnum.js\";\nimport {\n CREATE_INTERFACE_OBJECT_PARAMETER,\n CREATE_OR_MODIFY_OBJECT_PARAMETER,\n defineAction,\n MODIFY_INTERFACE_OBJECT_PARAMETER,\n MODIFY_OBJECT_PARAMETER,\n} from \"../defineAction.js\";\nimport { defineCreateInterfaceObjectAction } from \"../defineCreateInterfaceObjectAction.js\";\nimport { defineCreateObjectAction } from \"../defineCreateObjectAction.js\";\nimport { defineCreateOrModifyObjectAction } from \"../defineCreateOrModifyObjectAction.js\";\nimport { defineDeleteObjectAction } from \"../defineDeleteObjectAction.js\";\nimport { defineInterface } from \"../defineInterface.js\";\nimport { defineModifyInterfaceObjectAction } from \"../defineModifyInterfaceObjectAction.js\";\nimport { defineModifyObjectAction } from \"../defineModifyObjectAction.js\";\nimport { defineObject } from \"../defineObject.js\";\nimport { defineOntology, dumpOntologyFullMetadata } from \"../defineOntology.js\";\nimport { defineSharedPropertyType } from \"../defineSpt.js\";\nimport { importOntologyEntity } from \"../importOntologyEntity.js\";\nimport { type InterfaceType } from \"../interface/InterfaceType.js\";\nimport { type SharedPropertyType } from \"../properties/SharedPropertyType.js\";\n\ndescribe(\"Action Types\", () => {\n beforeEach(async () => {\n await defineOntology(\"com.palantir.\", () => {}, \"/tmp/\");\n });\n it(\"Concrete actions are properly defined\", () => {\n const exampleAction = defineAction({\n apiName: \"foo\",\n displayName: \"exampleAction\",\n status: \"active\",\n rules: [{\n type: \"addOrModifyObjectRuleV2\",\n addOrModifyObjectRuleV2: {\n objectToModify: \"objectToModifyParameter\",\n propertyValues: {\n \"bar\": {\n type: \"parameterId\",\n parameterId: \"param1\",\n },\n },\n structFieldValues: {},\n },\n }],\n parameters: [{\n id: \"param1\",\n displayName: \"param1\",\n type: \"boolean\",\n validation: { required: true, allowedValues: { type: \"boolean\" } },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"param1\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"param1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"checkbox\": {},\n \"type\": \"checkbox\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"boolean\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"type\": \"boolean\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"exampleAction\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"param1\",\n ],\n \"parameters\": {\n \"param1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"param1\",\n \"typeClasses\": [],\n },\n \"id\": \"param1\",\n \"type\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n describe(\"Interface Actions\", () => {\n it(\"Interface actions are properly defined\", () => {\n const foo = defineInterface({\n apiName: \"foo\",\n displayName: \"foo\",\n properties: {},\n });\n const exampleAction = defineAction({\n apiName: \"foo\",\n displayName: \"exampleAction\",\n status: \"active\",\n rules: [{\n type: \"addInterfaceRule\",\n addInterfaceRule: {\n interfaceApiName: \"foo\",\n objectTypeParameter: \"param1\",\n sharedPropertyValues: {},\n },\n }],\n parameters: [{\n id: \"param1\",\n displayName: \"param1\",\n type: \"boolean\",\n validation: { required: true, allowedValues: { type: \"boolean\" } },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.foo\",\n \"objectTypeParameter\": \"param1\",\n \"sharedPropertyValues\": {},\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"param1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"checkbox\": {},\n \"type\": \"checkbox\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"boolean\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"type\": \"boolean\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"exampleAction\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"param1\",\n ],\n \"parameters\": {\n \"param1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"param1\",\n \"typeClasses\": [],\n },\n \"id\": \"param1\",\n \"type\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.foo\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": \"foo\",\n \"displayName\": \"foo\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {},\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Simple interface actions (with object types) are properly defined\", () => {\n const exampleStructPropertyType = defineSharedPropertyType({\n apiName: \"property2\",\n type: {\n type: \"struct\",\n structDefinition: {\n simpleProperty: \"string\",\n },\n },\n });\n const mySpt = defineSharedPropertyType({\n apiName: \"mySpt\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n icon: { color: \"#c7cdd6ff\", locator: \"globe\" },\n properties: {\n mySpt,\n property1: \"string\",\n property2: exampleStructPropertyType,\n },\n });\n\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"bar\",\n properties: {\n \"bar\": { type: \"string\" },\n \"property1\": { type: \"string\" },\n \"property2\": {\n type: {\n type: \"struct\",\n structDefinition: { simpleProperty: \"string\" },\n },\n },\n },\n implementsInterfaces: [{\n implements: exampleInterface,\n propertyMapping: [\n {\n interfaceProperty: \"com.palantir.mySpt\",\n mapsTo: \"bar\",\n },\n {\n interfaceProperty: \"com.palantir.property1\",\n mapsTo: \"property1\",\n },\n {\n interfaceProperty: \"com.palantir.property2\",\n mapsTo: \"property2\",\n },\n ],\n }],\n });\n\n const createActionWithObjectType = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n objectType: exampleObjectType,\n });\n\n const modifyAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n objectType: exampleObjectType,\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-example-interface-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.mySpt\": {\n \"parameterId\": \"com.palantir.mySpt\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.mySpt\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"oneOf\": {\n \"oneOf\": {\n \"labelledValues\": [\n {\n \"label\": \"exampleObjectType\",\n \"value\": {\n \"objectType\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectType\",\n },\n },\n ],\n \"otherValueAllowed\": {\n \"allowed\": false,\n },\n },\n \"type\": \"oneOf\",\n },\n \"type\": \"oneOf\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-example-interface-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n \"com.palantir.mySpt\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.mySpt\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"mySpt\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.mySpt\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-example-interface-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.mySpt\": {\n \"parameterId\": \"com.palantir.mySpt\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.mySpt\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"oneOf\": {\n \"oneOf\": {\n \"labelledValues\": [\n {\n \"label\": \"exampleObjectType\",\n \"value\": {\n \"objectType\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectType\",\n },\n },\n ],\n \"otherValueAllowed\": {\n \"allowed\": false,\n },\n },\n \"type\": \"oneOf\",\n },\n \"type\": \"oneOf\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-example-interface-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n \"com.palantir.mySpt\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.mySpt\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"mySpt\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.mySpt\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#c7cdd6ff\",\n \"locator\": \"globe\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.mySpt\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.mySpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"mySpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"property1\": {\n \"column\": \"property1\",\n \"type\": \"column\",\n },\n \"property2\": {\n \"struct\": {\n \"column\": \"property2\",\n \"mapping\": {\n \"simpleProperty\": {\n \"apiName\": \"simpleProperty\",\n \"mappings\": {},\n },\n },\n },\n \"type\": \"struct\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"exampleObjectType\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"exampleObjectTypes\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [\n {\n \"interfaceTypeApiName\": \"com.palantir.exampleInterface\",\n \"linksV2\": {},\n \"properties\": {\n \"com.palantir.mySpt\": {\n \"propertyTypeRid\": \"bar\",\n },\n \"com.palantir.property1\": {\n \"propertyTypeRid\": \"property1\",\n },\n \"com.palantir.property2\": {\n \"propertyTypeRid\": \"property2\",\n },\n },\n \"propertiesV2\": {},\n },\n ],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"property1\": {\n \"apiName\": \"property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Property1\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"property2\": {\n \"apiName\": \"property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Property2\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {\n \"com.palantir.mySpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.mySpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"mySpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Simple interface actions (without object types) are properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: \"string\",\n },\n });\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n });\n const modifyAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"interfaceObjectQuery\": {\n \"interfaceObjectQuery\": {},\n \"type\": \"interfaceObjectQuery\",\n },\n \"type\": \"interfaceObjectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Interface actions with customizations are properly defined\", () => {\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const property2 = defineSharedPropertyType({\n apiName: \"property2\",\n type: \"string\",\n });\n const property3 = defineSharedPropertyType({\n apiName: \"property3\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1,\n property2,\n property3,\n },\n });\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"custom-api-name-1\",\n displayName: \"Custom Create Action\",\n status: \"experimental\",\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"actionLevelGroup\",\n },\n }],\n parameterConfiguration: {\n [property3.apiName]: {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: property1.apiName,\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [property2.apiName],\n parameterOrdering: [property1.apiName, property3.apiName],\n enableLayoutSwitch: true,\n defaultFormat: \"TABLE\",\n tableConfiguration: {\n columnWidthByParameterRid: {},\n enableFileImport: false,\n fitHorizontally: true,\n frozenColumnCount: 1,\n rowHeightInLines: 10,\n },\n submissionMetadata: {\n successMessage: \"Custom success message\",\n undoButtonConfiguration: true,\n submitButtonDisplayMetadata: {\n intent: \"DANGER\",\n text: \"Custom button\",\n },\n },\n });\n const modifyAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"custom-api-name-2\",\n displayName: \"Custom Modify Action\",\n status: \"experimental\",\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"actionLevelGroup\",\n },\n }],\n parameterConfiguration: {\n [property3.apiName]: {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: property1.apiName,\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [property2.apiName],\n parameterOrdering: [property1.apiName, property3.apiName],\n enableLayoutSwitch: true,\n defaultFormat: \"TABLE\",\n tableConfiguration: {\n columnWidthByParameterRid: {},\n enableFileImport: false,\n fitHorizontally: true,\n frozenColumnCount: 1,\n rowHeightInLines: 10,\n },\n submissionMetadata: {\n successMessage: \"Custom success message\",\n undoButtonConfiguration: true,\n submitButtonDisplayMetadata: {\n intent: \"DANGER\",\n text: \"Custom button\",\n },\n },\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.custom-api-name-1\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.property3\": {\n \"parameterId\": \"com.palantir.property3\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"com.palantir.property3\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.custom-api-name-1\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"TABLE\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": false,\n \"fitHorizontally\": true,\n \"frozenColumnCount\": 1,\n \"rowHeightInLines\": 10,\n },\n },\n \"enableLayoutUserSwitch\": true,\n },\n \"description\": \"\",\n \"displayName\": \"Custom Create Action\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"submitButtonDisplayMetadata\": {\n \"intent\": \"DANGER\",\n \"text\": \"Custom button\",\n },\n \"successMessage\": [\n {\n \"message\": \"Custom success message\",\n \"type\": \"message\",\n },\n ],\n \"typeClasses\": [],\n \"undoButtonConfiguration\": true,\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n \"com.palantir.property1\",\n \"com.palantir.property3\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"com.palantir.property3\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property3\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"experimental\": {},\n \"type\": \"experimental\",\n },\n },\n },\n },\n \"com.palantir.custom-api-name-2\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.property3\": {\n \"parameterId\": \"com.palantir.property3\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"com.palantir.property3\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"interfaceObjectQuery\": {\n \"interfaceObjectQuery\": {},\n \"type\": \"interfaceObjectQuery\",\n },\n \"type\": \"interfaceObjectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.custom-api-name-2\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"TABLE\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": false,\n \"fitHorizontally\": true,\n \"frozenColumnCount\": 1,\n \"rowHeightInLines\": 10,\n },\n },\n \"enableLayoutUserSwitch\": true,\n },\n \"description\": \"\",\n \"displayName\": \"Custom Modify Action\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"submitButtonDisplayMetadata\": {\n \"intent\": \"DANGER\",\n \"text\": \"Custom button\",\n },\n \"successMessage\": [\n {\n \"message\": \"Custom success message\",\n \"type\": \"message\",\n },\n ],\n \"typeClasses\": [],\n \"undoButtonConfiguration\": true,\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n \"com.palantir.property1\",\n \"com.palantir.property3\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"com.palantir.property3\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property3\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"experimental\": {},\n \"type\": \"experimental\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {\n \"com.palantir.custom-api-name-1\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n \"com.palantir.custom-api-name-2\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property3\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property3\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property3\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property3\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property3\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property3\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Interface actions validate SPT existence\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"spt\",\n type: \"string\",\n });\n const importedInterface: InterfaceType = {\n \"apiName\": \"com.palantir.other.ontology.event.Event\",\n \"displayMetadata\": {\n \"displayName\": \"Event\",\n \"description\": \"Event\",\n \"icon\": {\n \"type\": \"blueprint\",\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"timeline-events\",\n },\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"status\": {\n \"type\": \"active\",\n \"active\": {},\n },\n \"propertiesV2\": {\n \"com.palantir.other.ontology.types.id\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"displayName\": \"Id\",\n \"apiName\": \"com.palantir.other.ontology.types.id\",\n \"type\": \"string\",\n \"nonNameSpacedApiName\": \"id\",\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"__type\": \"SHARED_PROPERTY_TYPE\",\n },\n },\n },\n \"searchable\": false,\n \"__type\": \"INTERFACE_TYPE\",\n } as unknown as InterfaceType;\n importOntologyEntity(importedInterface);\n const interfaceType = defineInterface({\n apiName: \"interfaceType\",\n properties: {\n spt,\n },\n extends: importedInterface,\n });\n expect(() =>\n defineAction({\n apiName: \"action\",\n displayName: \"action\",\n status: \"active\",\n parameters: [{\n id: \"interfaceObjectToModifyParameter\",\n displayName: \"Interface object to modify\",\n type: {\n type: \"interfaceReference\",\n interfaceReference: {\n interfaceTypeRid: interfaceType.apiName,\n },\n },\n validation: {\n required: true,\n allowedValues: { type: \"interfaceObjectQuery\" },\n },\n }, {\n id: \"sptParameter\",\n displayName: \"SPT\",\n type: \"string\",\n validation: {\n required: true,\n allowedValues: { type: \"text\" },\n },\n }, {\n id: \"otherParameter\",\n displayName: \"Other parameter\",\n type: \"string\",\n validation: {\n required: true,\n allowedValues: { type: \"text\" },\n },\n }],\n rules: [{\n type: \"modifyInterfaceRule\",\n modifyInterfaceRule: {\n interfaceObjectToModifyParameter:\n \"interfaceObjectToModifyParameter\",\n sharedPropertyValues: {\n spt: {\n type: \"parameterId\",\n parameterId: \"sptParameter\",\n },\n \"com.palantir.other.invalid.spt\": {\n type: \"staticValue\",\n staticValue: {\n type: \"double\",\n double: 4,\n },\n },\n other: {\n type: \"parameterId\",\n parameterId: \"otherParameter\",\n },\n },\n },\n }],\n })\n ).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.other.invalid.spt does not exist in interface type com.palantir.interfaceType]`,\n );\n expect(() =>\n defineCreateInterfaceObjectAction({ interfaceType: interfaceType })\n ).not\n .toThrow();\n });\n\n it(\"Interface actions validate SPT existence on the interface\", () => {\n expect(() => {\n const spt = defineSharedPropertyType({\n apiName: \"spt\",\n type: \"string\",\n });\n const pulseRepetitionIntervalSecs: SharedPropertyType = {\n \"apiName\": \"com.palantir.other.ontology.pulseRepetitionIntervalSecs\",\n \"displayName\": \"Pulse Repetition Interval (s)\",\n \"description\": \"Pulse Repetition Interval in seconds.\",\n \"type\": \"double\",\n \"nonNameSpacedApiName\": \"pulseRepetitionIntervalSecs\",\n \"typeClasses\": [],\n \"__type\": OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE,\n } as unknown as SharedPropertyType;\n importOntologyEntity(pulseRepetitionIntervalSecs);\n const interfaceType = defineInterface({\n apiName: \"interfaceType\",\n properties: {\n spt,\n },\n });\n const action = defineAction({\n apiName: \"action\",\n displayName: \"action\",\n status: \"active\",\n parameters: [{\n id: \"interfaceObjectToModifyParameter\",\n displayName: \"Interface object to modify\",\n type: {\n type: \"interfaceReference\",\n interfaceReference: {\n interfaceTypeRid: interfaceType.apiName,\n },\n },\n validation: {\n required: true,\n allowedValues: { type: \"interfaceObjectQuery\" },\n },\n }, {\n id: \"sptParameter\",\n displayName: \"SPT\",\n type: \"string\",\n validation: {\n required: true,\n allowedValues: { type: \"text\" },\n },\n }],\n rules: [{\n type: \"modifyInterfaceRule\",\n modifyInterfaceRule: {\n interfaceObjectToModifyParameter:\n \"interfaceObjectToModifyParameter\",\n sharedPropertyValues: {\n spt: {\n type: \"parameterId\",\n parameterId: \"sptParameter\",\n },\n [pulseRepetitionIntervalSecs.apiName]: {\n type: \"staticValue\",\n staticValue: {\n type: \"double\",\n double: 4,\n },\n },\n },\n },\n }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.other.ontology.pulseRepetitionIntervalSecs does not exist in interface type com.palantir.interfaceType]`,\n );\n });\n\n it(\"Parameter configuration, property mapping, and excluded property validations work\", () => {\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const sampleInterface = defineInterface({\n apiName: \"sampleInterface\",\n properties: {\n property1,\n },\n });\n expect(() => {\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: sampleInterface,\n parameterConfiguration: {\n \"custom_parameter\": {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Parameter custom_parameter does not exist as a property on com.palantir.sampleInterface and its type is not explicitly defined]`,\n );\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n parameterConfiguration: {\n \"custom_parameter\": {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Parameter custom_parameter does not exist as a property on com.palantir.sampleInterface and its type is not explicitly defined]`,\n );\n expect(() => {\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: sampleInterface,\n apiName: \"test-create-interface0\",\n parameterConfiguration: {\n \"custom_parameter\": {\n displayName: \"My Custom Param\",\n customParameterType: \"string\",\n },\n },\n });\n }).not.toThrow();\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n apiName: \"test-modify-interface0\",\n parameterConfiguration: {\n \"custom_parameter\": {\n displayName: \"My Custom Param\",\n customParameterType: \"string\",\n },\n },\n });\n }).not.toThrow();\n expect(() => {\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: sampleInterface,\n parameterConfiguration: {\n \"property1\": {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).not.toThrow();\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n parameterConfiguration: {\n \"property1\": {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).not.toThrow();\n\n expect(() => {\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: sampleInterface,\n nonParameterMappings: {\n \"custom_parameter\": {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"custom_value\",\n },\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Property com.palantir.custom_parameter does not exist as a property on com.palantir.sampleInterface]`,\n );\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n nonParameterMappings: {\n \"custom_parameter\": {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"custom_value\",\n },\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Property com.palantir.custom_parameter does not exist as a property on com.palantir.sampleInterface]`,\n );\n expect(() => {\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: sampleInterface,\n apiName: \"test-create-interface1\",\n nonParameterMappings: {\n \"property1\": {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"custom_value\",\n },\n },\n },\n });\n }).not.toThrow();\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n apiName: \"test-modify-interface1\",\n nonParameterMappings: {\n \"property1\": {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"custom_value\",\n },\n },\n },\n });\n }).not.toThrow();\n\n expect(() => {\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: sampleInterface,\n excludedProperties: [\"custom_parameter\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Property com.palantir.custom_parameter does not exist as a property on com.palantir.sampleInterface]`,\n );\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n excludedProperties: [\"custom_parameter\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Property com.palantir.custom_parameter does not exist as a property on com.palantir.sampleInterface]`,\n );\n expect(() => {\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: sampleInterface,\n apiName: \"test-create-interface2\",\n excludedProperties: [\"property1\"],\n });\n }).not.toThrow();\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n apiName: \"test-modify-interface2\",\n excludedProperties: [\"property1\"],\n });\n }).not.toThrow();\n });\n\n it(\"Action sections are properly defined\", () => {\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const sampleInterface = defineInterface({\n apiName: \"sampleInterface\",\n properties: {\n property1,\n },\n });\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: sampleInterface,\n sections: [\n {\n id: \"section1\",\n displayName: \"Section 1\",\n parameters: [property1.apiName],\n description: \"Description for Section 1\",\n conditionalOverrides: [\n {\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"testGroup\",\n },\n },\n ],\n },\n ],\n });\n const modifyAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n sections: [\n {\n id: \"section1\",\n displayName: \"Section 1\",\n parameters: [\"property1\"],\n description: \"Description for Section 1\",\n conditionalOverrides: [\n {\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"testGroup\",\n },\n },\n ],\n },\n ],\n });\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-sample-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.sampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.sampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {\n \"section1\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"testGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"sectionBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"hidden\": {},\n \"type\": \"hidden\",\n },\n },\n },\n ],\n },\n ],\n \"defaultDisplayMetadata\": {\n \"visibility\": {\n \"type\": \"visible\",\n \"visible\": {},\n },\n },\n },\n },\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-sample-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create sampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.sampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [\n {\n \"parameterId\": \"objectTypeParameter\",\n \"type\": \"parameterId\",\n },\n {\n \"sectionId\": \"section1\",\n \"type\": \"sectionId\",\n },\n ],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.sampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {\n \"section1\": {\n \"content\": [\n {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n ],\n \"displayMetadata\": {\n \"collapsedByDefault\": false,\n \"columnCount\": 1,\n \"description\": \"Description for Section 1\",\n \"displayName\": \"Section 1\",\n \"showTitleBar\": true,\n },\n \"id\": \"section1\",\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-sample-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"interfaceObjectQuery\": {\n \"interfaceObjectQuery\": {},\n \"type\": \"interfaceObjectQuery\",\n },\n \"type\": \"interfaceObjectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {\n \"section1\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"testGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"sectionBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"hidden\": {},\n \"type\": \"hidden\",\n },\n },\n },\n ],\n },\n ],\n \"defaultDisplayMetadata\": {\n \"visibility\": {\n \"type\": \"visible\",\n \"visible\": {},\n },\n },\n },\n },\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-sample-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify sampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.sampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [\n {\n \"parameterId\": \"interfaceObjectToModifyParameter\",\n \"type\": \"parameterId\",\n },\n {\n \"sectionId\": \"section1\",\n \"type\": \"sectionId\",\n },\n ],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.sampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {\n \"section1\": {\n \"content\": [\n {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n ],\n \"displayMetadata\": {\n \"collapsedByDefault\": false,\n \"columnCount\": 1,\n \"description\": \"Description for Section 1\",\n \"displayName\": \"Section 1\",\n \"showTitleBar\": true,\n },\n \"id\": \"section1\",\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.sampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.sampleInterface\",\n \"displayMetadata\": {\n \"description\": \"sampleInterface\",\n \"displayName\": \"sampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n });\n\n describe(\"Object Actions\", () => {\n it(\"Simple concrete actions are properly defined\", () => {\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"bar\",\n properties: {\n \"bar\": { type: \"string\" },\n \"structProp\": {\n type: {\n type: \"struct\",\n structDefinition: { simpleProperty: \"string\" },\n },\n },\n \"optionalProp\": { type: \"string\" },\n },\n });\n\n const createObjectActionType = defineCreateObjectAction(\n {\n objectType: exampleObjectType,\n },\n );\n const modifyObjectActionType = defineModifyObjectAction(\n {\n objectType: exampleObjectType,\n },\n );\n const deleteObjectActionType = defineDeleteObjectAction(\n {\n objectType: exampleObjectType,\n },\n );\n const createOrModifyObjectActionType = defineCreateOrModifyObjectAction(\n {\n objectType: exampleObjectType,\n },\n );\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.foo\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"optionalProp\": {\n \"parameterId\": \"optionalProp\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"optionalProp\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"bar\",\n \"optionalProp\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"optionalProp\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"OptionalProp\",\n \"typeClasses\": [],\n },\n \"id\": \"optionalProp\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-or-modify-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToCreateOrModifyParameter\",\n \"propertyValues\": {\n \"optionalProp\": {\n \"parameterId\": \"optionalProp\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToCreateOrModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"optionalProp\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToCreateOrModifyParameter\",\n \"propertyTypeId\": \"optionalProp\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-or-modify-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create or Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToCreateOrModifyParameter\",\n \"optionalProp\",\n ],\n \"parameters\": {\n \"objectToCreateOrModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Create or modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToCreateOrModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"maybeCreateObjectOption\": {\n \"autoGenerated\": {},\n \"type\": \"autoGenerated\",\n },\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n \"optionalProp\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"OptionalProp\",\n \"typeClasses\": [],\n },\n \"id\": \"optionalProp\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.delete-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"deleteObjectRule\": {\n \"objectToDelete\": \"objectToDeleteParameter\",\n },\n \"type\": \"deleteObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToDeleteParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.delete-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Delete exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"optionalProp\": {\n \"parameterId\": \"optionalProp\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"optionalProp\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"optionalProp\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n \"optionalProp\",\n ],\n \"parameters\": {\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n \"optionalProp\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"OptionalProp\",\n \"typeClasses\": [],\n },\n \"id\": \"optionalProp\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"optionalProp\": {\n \"column\": \"optionalProp\",\n \"type\": \"column\",\n },\n \"structProp\": {\n \"struct\": {\n \"column\": \"structProp\",\n \"mapping\": {\n \"simpleProperty\": {\n \"apiName\": \"simpleProperty\",\n \"mappings\": {},\n },\n },\n },\n \"type\": \"struct\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"exampleObjectType\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"exampleObjectTypes\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"optionalProp\": {\n \"apiName\": \"optionalProp\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"OptionalProp\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"structProp\": {\n \"apiName\": \"structProp\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"StructProp\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Customizations on CRUD object type actions are properly defined\", () => {\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"primary\",\n properties: {\n \"bar\": { type: \"string\" },\n \"fizz\": { type: \"string\" },\n \"buzz\": { type: \"string\" },\n \"primary\": { type: \"string\" },\n },\n });\n\n const createObjectActionType = defineCreateObjectAction(\n {\n objectType: exampleObjectType,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"actionLevelGroup\",\n },\n }, {\n condition: {\n type: \"group\",\n name: \"actionLevelGroup2\",\n },\n displayMetadata: {\n failureMessage: \"Different custom failure message\",\n typeClasses: [],\n },\n }],\n parameterOrdering: [\"bar\", \"fizz\", \"primary\"],\n parameterConfiguration: {\n \"fizz\": {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: \"bar\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [\"buzz\"],\n defaultFormat: \"TABLE\",\n enableLayoutSwitch: true,\n submissionMetadata: {\n successMessage: \"Custom success message\",\n undoButtonConfiguration: true,\n submitButtonDisplayMetadata: {\n intent: \"DANGER\",\n text: \"Custom button\",\n },\n },\n tableConfiguration: {\n columnWidthByParameterRid: {},\n enableFileImport: false,\n fitHorizontally: true,\n frozenColumnCount: 1,\n rowHeightInLines: 10,\n },\n },\n );\n\n const modifyObjectActionType = defineModifyObjectAction(\n {\n objectType: exampleObjectType,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"actionLevelGroup\",\n },\n }, {\n condition: {\n type: \"group\",\n name: \"actionLevelGroup2\",\n },\n displayMetadata: {\n failureMessage: \"Different custom failure message\",\n typeClasses: [],\n },\n }],\n parameterOrdering: [\"bar\", \"fizz\"],\n parameterConfiguration: {\n \"fizz\": {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: \"bar\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [\"buzz\"],\n defaultFormat: \"TABLE\",\n enableLayoutSwitch: true,\n submissionMetadata: {\n successMessage: \"Custom success message\",\n undoButtonConfiguration: true,\n submitButtonDisplayMetadata: {\n intent: \"DANGER\",\n text: \"Custom button\",\n },\n },\n tableConfiguration: {\n columnWidthByParameterRid: {},\n enableFileImport: false,\n fitHorizontally: true,\n frozenColumnCount: 1,\n rowHeightInLines: 10,\n },\n },\n );\n\n const createOrModifyObjectActionType = defineCreateOrModifyObjectAction(\n {\n objectType: exampleObjectType,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"actionLevelGroup\",\n },\n }, {\n condition: {\n type: \"group\",\n name: \"actionLevelGroup2\",\n },\n displayMetadata: {\n failureMessage: \"Different custom failure message\",\n typeClasses: [],\n },\n }],\n parameterOrdering: [\"bar\", \"fizz\"],\n parameterConfiguration: {\n \"fizz\": {\n required: false,\n conditionalOverrides: [\n {\n type: \"required\",\n condition: {\n type: \"and\",\n conditions: [\n {\n type: \"group\",\n name: \"parameterLevelGroup\",\n },\n {\n type: \"parameter\",\n parameterId: \"bar\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"bar\",\n },\n },\n },\n ],\n },\n },\n ],\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"default_fizz\",\n },\n },\n displayName: \"fizz_display\",\n description: \"fizz_description\",\n },\n },\n excludedProperties: [\"buzz\"],\n defaultFormat: \"TABLE\",\n enableLayoutSwitch: true,\n submissionMetadata: {\n successMessage: \"Custom success message\",\n undoButtonConfiguration: true,\n submitButtonDisplayMetadata: {\n intent: \"DANGER\",\n text: \"Custom button\",\n },\n },\n tableConfiguration: {\n columnWidthByParameterRid: {},\n enableFileImport: false,\n fitHorizontally: true,\n frozenColumnCount: 1,\n rowHeightInLines: 10,\n },\n primaryKeyOption: \"userInput\",\n },\n );\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.foo\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"fizz\": {\n \"parameterId\": \"fizz\",\n \"type\": \"parameterId\",\n },\n \"primary\": {\n \"parameterId\": \"primary\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n \"1\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup2\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Different custom failure message\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizz\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"primary\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"TABLE\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": false,\n \"fitHorizontally\": true,\n \"frozenColumnCount\": 1,\n \"rowHeightInLines\": 10,\n },\n },\n \"enableLayoutUserSwitch\": true,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"submitButtonDisplayMetadata\": {\n \"intent\": \"DANGER\",\n \"text\": \"Custom button\",\n },\n \"successMessage\": [\n {\n \"message\": \"Custom success message\",\n \"type\": \"message\",\n },\n ],\n \"typeClasses\": [],\n \"undoButtonConfiguration\": true,\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"bar\",\n \"fizz\",\n \"primary\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizz\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"fizz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"primary\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Primary\",\n \"typeClasses\": [],\n },\n \"id\": \"primary\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-or-modify-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToCreateOrModifyParameter\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"fizz\": {\n \"parameterId\": \"fizz\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n \"1\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup2\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Different custom failure message\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToCreateOrModifyParameter\",\n \"propertyTypeId\": \"bar\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizz\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectToCreateOrModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-or-modify-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"TABLE\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": false,\n \"fitHorizontally\": true,\n \"frozenColumnCount\": 1,\n \"rowHeightInLines\": 10,\n },\n },\n \"enableLayoutUserSwitch\": true,\n },\n \"description\": \"\",\n \"displayName\": \"Create or Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"submitButtonDisplayMetadata\": {\n \"intent\": \"DANGER\",\n \"text\": \"Custom button\",\n },\n \"successMessage\": [\n {\n \"message\": \"Custom success message\",\n \"type\": \"message\",\n },\n ],\n \"typeClasses\": [],\n \"undoButtonConfiguration\": true,\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToCreateOrModifyParameter\",\n \"bar\",\n \"fizz\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizz\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"fizz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectToCreateOrModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Create or modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToCreateOrModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"maybeCreateObjectOption\": {\n \"type\": \"userInput\",\n \"userInput\": {},\n },\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"fizz\": {\n \"parameterId\": \"fizz\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n \"1\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"actionLevelGroup2\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Different custom failure message\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"bar\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizz\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"and\": {\n \"conditions\": [\n {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"parameterLevelGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"bar\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n ],\n },\n \"type\": \"and\",\n },\n \"parameterBlockOverrides\": [\n {\n \"parameterRequired\": {\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n \"type\": \"parameterRequired\",\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"staticValue\": {\n \"string\": \"default_fizz\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"TABLE\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": false,\n \"fitHorizontally\": true,\n \"frozenColumnCount\": 1,\n \"rowHeightInLines\": 10,\n },\n },\n \"enableLayoutUserSwitch\": true,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"submitButtonDisplayMetadata\": {\n \"intent\": \"DANGER\",\n \"text\": \"Custom button\",\n },\n \"successMessage\": [\n {\n \"message\": \"Custom success message\",\n \"type\": \"message\",\n },\n ],\n \"typeClasses\": [],\n \"undoButtonConfiguration\": true,\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n \"bar\",\n \"fizz\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizz\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"fizz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {\n \"com.palantir.create-object-foo\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n \"com.palantir.create-or-modify-foo\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n \"com.palantir.modify-object-foo\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"buzz\": {\n \"column\": \"buzz\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n \"primary\": {\n \"column\": \"primary\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"exampleObjectType\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"exampleObjectTypes\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"primary\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"buzz\": {\n \"apiName\": \"buzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Buzz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"primary\": {\n \"apiName\": \"primary\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Primary\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Non-parameter mapped properties are properly defined\", () => {\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"bar\",\n properties: {\n \"bar\": { type: \"string\" },\n \"fizz\": { type: \"string\" },\n \"buzz\": { type: \"timestamp\" },\n },\n });\n\n const createObjectActionType = defineCreateObjectAction(\n {\n objectType: exampleObjectType,\n nonParameterMappings: {\n \"fizz\": {\n type: \"currentUser\",\n },\n \"buzz\": {\n type: \"currentTime\",\n },\n },\n },\n );\n const modifyObjectActionType = defineModifyObjectAction(\n {\n objectType: exampleObjectType,\n nonParameterMappings: {\n \"fizz\": {\n type: \"currentUser\",\n },\n \"buzz\": {\n type: \"currentTime\",\n },\n },\n },\n );\n const createOrModifyObjectActionType = defineCreateOrModifyObjectAction(\n {\n objectType: exampleObjectType,\n nonParameterMappings: {\n \"fizz\": {\n type: \"currentUser\",\n },\n \"buzz\": {\n type: \"currentTime\",\n },\n },\n },\n );\n\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const property2 = defineSharedPropertyType({\n apiName: \"property2\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1,\n property2,\n },\n });\n const createInterfaceObjectAction = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n nonParameterMappings: {\n [property1.apiName]: {\n type: \"currentUser\",\n },\n [property2.apiName]: {\n type: \"currentTime\",\n },\n },\n });\n const modifyInterfaceObjectAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n nonParameterMappings: {\n [property1.apiName]: {\n type: \"currentUser\",\n },\n [property2.apiName]: {\n type: \"currentTime\",\n },\n },\n });\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n \"com.palantir.property2\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n ],\n \"parameters\": {\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.foo\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n \"buzz\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"fizz\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"bar\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"bar\",\n ],\n \"parameters\": {\n \"bar\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Bar\",\n \"typeClasses\": [],\n },\n \"id\": \"bar\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-or-modify-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToCreateOrModifyParameter\",\n \"propertyValues\": {\n \"buzz\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"fizz\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToCreateOrModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-or-modify-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create or Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToCreateOrModifyParameter\",\n ],\n \"parameters\": {\n \"objectToCreateOrModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Create or modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToCreateOrModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"maybeCreateObjectOption\": {\n \"autoGenerated\": {},\n \"type\": \"autoGenerated\",\n },\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n \"com.palantir.property2\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"interfaceObjectQuery\": {\n \"interfaceObjectQuery\": {},\n \"type\": \"interfaceObjectQuery\",\n },\n \"type\": \"interfaceObjectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n ],\n \"parameters\": {\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Object type to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"buzz\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"fizz\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleObjectType\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.foo\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n ],\n \"parameters\": {\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.foo\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"buzz\": {\n \"column\": \"buzz\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.foo\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"exampleObjectType\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"exampleObjectTypes\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"buzz\": {\n \"apiName\": \"buzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Buzz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"timestamp\": {},\n \"type\": \"timestamp\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Parameter configuration, property mapping, and excluded property validations work\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": { type: \"string\" },\n \"id\": { type: \"string\" },\n },\n });\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n parameterConfiguration: {\n \"name\": {\n displayName: \"Name\",\n },\n \"custom_parameter\": {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Parameter custom_parameter does not exist as a property on com.palantir.sampleObject and its type is not explicitly defined]`,\n );\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n nonParameterMappings: {\n \"custom_parameter\": {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"custom_value\",\n },\n },\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Property custom_parameter does not exist as a property on com.palantir.sampleObject]`,\n );\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n excludedProperties: [\"custom_parameter\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Property custom_parameter does not exist as a property on com.palantir.sampleObject]`,\n );\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n actionLevelValidation: [\n {\n condition: {\n type: \"or\",\n conditions: [\n {\n type: \"parameter\",\n parameterId: \"non_existent_parameter\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"value\",\n },\n },\n },\n ],\n },\n },\n ],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter condition references unknown parameter non_existent_parameter]`,\n );\n });\n\n it(\"Static default action parameters must match type\", () => {\n const exampleObjectType = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"exampleObjectType\",\n pluralDisplayName: \"exampleObjectTypes\",\n apiName: \"foo\",\n primaryKeyPropertyApiName: \"primary\",\n properties: {\n \"bar\": { type: \"string\" },\n \"fizz\": { type: \"string\" },\n \"buzz\": { type: \"string\" },\n \"primary\": { type: \"string\" },\n },\n });\n expect(() =>\n defineCreateObjectAction({\n objectType: exampleObjectType,\n parameterConfiguration: {\n \"buzz\": {\n defaultValue: {\n type: \"staticValue\",\n staticValue: {\n type: \"boolean\",\n boolean: true,\n },\n },\n },\n },\n })\n ).toThrowError(\n \"Invariant failed: Default static value for parameter buzz does not match type\",\n );\n });\n\n it(\"ModifyObjectRule requires objectToModify parameter\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": {\n type: \"string\",\n description: \"The name of the test object\",\n },\n \"id\": { type: \"string\", description: \"The ID of the test object\" },\n },\n });\n expect(() =>\n defineAction({\n apiName: \"foo\",\n displayName: \"exampleAction\",\n status: \"active\",\n rules: [{\n type: \"modifyObjectRule\",\n modifyObjectRule: {\n objectToModify: \"sampleObject\",\n propertyValues: {\n \"name\": {\n type: \"parameterId\",\n parameterId: \"name\",\n },\n },\n structFieldValues: {},\n },\n }],\n parameters: [{\n id: \"name\",\n displayName: \"Name\",\n type: \"string\",\n validation: { required: true, allowedValues: { type: \"text\" } },\n }],\n })\n ).toThrowError(\n \"Invariant failed: Object to modify parameter must be defined in parameters\",\n );\n });\n\n it(\"Target object parameters are configurable\", () => {\n const employeeObject = defineObject({\n apiName: \"employee\",\n displayName: \"Employee\",\n pluralDisplayName: \"Employees\",\n titlePropertyApiName: \"id\",\n primaryKeyPropertyApiName: \"id\",\n properties: {\n \"id\": { type: \"string\", displayName: \"ID\", description: \"dummy\" },\n \"managedBy\": { type: \"string\" },\n },\n });\n defineModifyObjectAction({\n objectType: employeeObject,\n parameterConfiguration: {\n [MODIFY_OBJECT_PARAMETER]: {\n displayName: \"Chose a manager to modify\",\n description: \"Description\",\n conditionalOverrides: [{\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"supervisors\",\n },\n }],\n },\n },\n });\n defineCreateOrModifyObjectAction({\n objectType: employeeObject,\n parameterConfiguration: {\n [CREATE_OR_MODIFY_OBJECT_PARAMETER]: {\n displayName: \"Chose a manager to modify or create a new one\",\n description: \"Description\",\n conditionalOverrides: [{\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"supervisors\",\n },\n }],\n },\n },\n });\n\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1,\n },\n });\n defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n parameterConfiguration: {\n [CREATE_INTERFACE_OBJECT_PARAMETER]: {\n displayName: \"Choose an object to create\",\n description: \"Description\",\n conditionalOverrides: [{\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"supervisors\",\n },\n }],\n },\n },\n });\n defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n parameterConfiguration: {\n [MODIFY_INTERFACE_OBJECT_PARAMETER]: {\n displayName: \"Choose an object to modify\",\n description: \"Description\",\n conditionalOverrides: [{\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"supervisors\",\n },\n }],\n },\n },\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"addInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"objectTypeParameter\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"supervisors\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectTypeParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectTypeParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Choose an object to create\",\n \"typeClasses\": [],\n },\n \"id\": \"objectTypeParameter\",\n \"type\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [\n \"com.palantir.exampleInterface\",\n ],\n },\n \"type\": \"objectTypeReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.create-or-modify-employee\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addOrModifyObjectRuleV2\": {\n \"objectToModify\": \"objectToCreateOrModifyParameter\",\n \"propertyValues\": {\n \"managedBy\": {\n \"parameterId\": \"managedBy\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addOrModifyObjectRuleV2\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"managedBy\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToCreateOrModifyParameter\",\n \"propertyTypeId\": \"managedBy\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectToCreateOrModifyParameter\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"supervisors\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-or-modify-employee\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create or Modify Employee\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.employee\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToCreateOrModifyParameter\",\n \"managedBy\",\n ],\n \"parameters\": {\n \"managedBy\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ManagedBy\",\n \"typeClasses\": [],\n },\n \"id\": \"managedBy\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectToCreateOrModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Chose a manager to modify or create a new one\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToCreateOrModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"maybeCreateObjectOption\": {\n \"autoGenerated\": {},\n \"type\": \"autoGenerated\",\n },\n \"objectTypeId\": \"com.palantir.employee\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.property1\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n },\n },\n \"type\": \"modifyInterfaceRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"com.palantir.property1\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"supervisors\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"interfaceObjectQuery\": {\n \"interfaceObjectQuery\": {},\n \"type\": \"interfaceObjectQuery\",\n },\n \"type\": \"interfaceObjectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-example-interface\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [\n \"com.palantir.exampleInterface\",\n ],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"interfaceObjectToModifyParameter\",\n \"com.palantir.property1\",\n ],\n \"parameters\": {\n \"com.palantir.property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"property1\",\n \"typeClasses\": [],\n },\n \"id\": \"com.palantir.property1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"interfaceObjectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Choose an object to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"interfaceObjectToModifyParameter\",\n \"type\": {\n \"interfaceReference\": {\n \"interfaceTypeRid\": \"com.palantir.exampleInterface\",\n },\n \"type\": \"interfaceReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-employee\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"managedBy\": {\n \"parameterId\": \"managedBy\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"managedBy\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"managedBy\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"supervisors\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-employee\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify Employee\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.employee\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n \"managedBy\",\n ],\n \"parameters\": {\n \"managedBy\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ManagedBy\",\n \"typeClasses\": [],\n },\n \"id\": \"managedBy\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Chose a manager to modify\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.employee\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.exampleInterface\": {\n \"interfaceType\": {\n \"apiName\": \"com.palantir.exampleInterface\",\n \"displayMetadata\": {\n \"description\": \"exampleInterface\",\n \"displayName\": \"exampleInterface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#4C90F0\",\n \"locator\": \"layout-hierarchy\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"propertiesV3\": {},\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.employee\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.employee\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"managedBy\": {\n \"column\": \"managedBy\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.employee\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.employee\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Employee\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Employees\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"dummy\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"managedBy\": {\n \"apiName\": \"managedBy\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"ManagedBy\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"id\",\n },\n },\n },\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Conditional overrides on actions are properly defined\", () => {\n const exampleAction = defineAction({\n apiName: \"foo\",\n displayName: \"exampleAction\",\n status: \"active\",\n rules: [{\n type: \"modifyObjectRule\",\n modifyObjectRule: {\n objectToModify: \"objectToModifyParameter\",\n propertyValues: {\n \"bar\": {\n type: \"parameterId\",\n parameterId: \"param1\",\n },\n },\n structFieldValues: {},\n },\n }],\n parameters: [{\n id: \"param1\",\n displayName: \"param1\",\n type: \"boolean\",\n validation: {\n required: true,\n allowedValues: { type: \"boolean\" },\n defaultVisibility: \"editable\",\n conditionalOverrides: [\n {\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"myGroup\",\n },\n },\n ],\n },\n }, {\n id: \"objectToModifyParameter\",\n displayName: \"objectToModifyParameter\",\n type: \"objectTypeReference\",\n validation: {\n required: true,\n allowedValues: { type: \"objectTypeReference\", interfaceTypes: [] },\n defaultVisibility: \"editable\",\n },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"bar\": {\n \"parameterId\": \"param1\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectTypeReference\": {\n \"objectTypeReference\": {\n \"interfaceTypeRids\": [],\n },\n \"type\": \"objectTypeReference\",\n },\n \"type\": \"objectTypeReference\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"param1\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"myGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"hidden\": {},\n \"type\": \"hidden\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"checkbox\": {},\n \"type\": \"checkbox\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"boolean\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"type\": \"boolean\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"exampleAction\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"param1\",\n \"objectToModifyParameter\",\n ],\n \"parameters\": {\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"objectToModifyParameter\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectTypeReference\": {},\n \"type\": \"objectTypeReference\",\n },\n },\n \"param1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"param1\",\n \"typeClasses\": [],\n },\n \"id\": \"param1\",\n \"type\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"OAC defined object references as parameters are properly defined\", () => {\n // This test defines an action that creates an OAC-defined employee object type and also adds an additional parameter\n // for an objectReference to a manager object type that is also defined in OAC. The action shows how you can use this\n // objectReference parameter elsewhere in the action - in this case we are prefilling the managedBy property to be the\n // id of the selected manager object type.\n const employeeObject = defineObject({\n apiName: \"employee\",\n displayName: \"Employee\",\n pluralDisplayName: \"Employees\",\n titlePropertyApiName: \"id\",\n primaryKeyPropertyApiName: \"id\",\n properties: {\n \"id\": { type: \"string\", displayName: \"ID\", description: \"dummy\" },\n \"managedBy\": { type: \"string\" },\n },\n });\n\n const managerObject = defineObject({\n apiName: \"manager\",\n displayName: \"Manager\",\n pluralDisplayName: \"Managers\",\n titlePropertyApiName: \"id\",\n primaryKeyPropertyApiName: \"id\",\n properties: {\n \"id\": { type: \"string\", displayName: \"ID\", description: \"dummy\" },\n },\n editsEnabled: true,\n });\n\n defineCreateObjectAction({\n objectType: employeeObject,\n parameterOrdering: [\"myManager\", \"id\", \"managedBy\"],\n parameterConfiguration: {\n \"myManager\": {\n customParameterType: {\n type: \"objectReference\",\n objectReference: {\n objectTypeId: managerObject.apiName,\n },\n },\n },\n \"managedBy\": {\n defaultValue: {\n type: \"objectParameterPropertyValue\",\n objectParameterPropertyValue: {\n parameterId: \"myManager\",\n propertyTypeId: \"id\",\n },\n },\n },\n },\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-employee\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.employee\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"managedBy\": {\n \"parameterId\": \"managedBy\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"managedBy\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"myManager\",\n \"propertyTypeId\": \"id\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"myManager\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-employee\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Employee\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.employee\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"myManager\",\n \"id\",\n \"managedBy\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ID\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"managedBy\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ManagedBy\",\n \"typeClasses\": [],\n },\n \"id\": \"managedBy\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"myManager\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"MyManager\",\n \"typeClasses\": [],\n },\n \"id\": \"myManager\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.manager\",\n },\n \"type\": \"objectReference\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.employee\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.employee\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"managedBy\": {\n \"column\": \"managedBy\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.employee\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.employee\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Employee\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Employees\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"dummy\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"managedBy\": {\n \"apiName\": \"managedBy\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"ManagedBy\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"id\",\n },\n },\n \"com.palantir.manager\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.manager\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.manager\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": true,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.manager\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Manager\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Managers\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"dummy\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"id\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Actions with group permissions are properly defined\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": {\n type: \"string\",\n description: \"The name of the test object\",\n },\n \"id\": {\n type: \"string\",\n displayName: \"ID\",\n description: \"The ID of the test object\",\n },\n },\n });\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"testGroup\",\n },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.sampleObject\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"name\": {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"testGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Did not satisfy validation\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"name\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-sample-object\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Test Object\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.sampleObject\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"name\",\n \"id\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ID\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"name\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Name\",\n \"typeClasses\": [],\n },\n \"id\": \"name\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.sampleObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.sampleObject\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"name\": {\n \"column\": \"name\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.sampleObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.sampleObject\",\n \"displayMetadata\": {\n \"description\": \"Sample object description\",\n \"displayName\": \"Test Object\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"tests\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"The ID of the test object\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"name\": {\n \"apiName\": \"name\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"The name of the test object\",\n \"displayName\": \"Name\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"name\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Actions with custom permissions are properly defined\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": {\n type: \"string\",\n description: \"The name of the test object\",\n },\n \"id\": {\n type: \"string\",\n displayName: \"ID\",\n description: \"The ID of the test object\",\n },\n },\n });\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n actionLevelValidation: [{\n displayMetadata: {\n failureMessage:\n \"Insufficient permissions. Missing organization membership required to submit action\",\n typeClasses: [],\n },\n condition: {\n type: \"comparison\",\n comparison: {\n operator: \"INTERSECTS\",\n left: {\n type: \"userProperty\",\n userProperty: {\n userId: {\n type: \"currentUser\",\n currentUser: {},\n },\n propertyValue: {\n type: \"organizationMarkingIds\",\n organizationMarkingIds: {},\n },\n },\n },\n right: {\n type: \"staticValue\",\n staticValue: {\n type: \"stringList\",\n stringList: {\n strings: [\n \"87ef507e-f954-457e-ad68-e0df71ef7567\",\n ],\n },\n },\n },\n },\n },\n }],\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.sampleObject\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"name\": {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"organizationMarkingIds\": {},\n \"type\": \"organizationMarkingIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"87ef507e-f954-457e-ad68-e0df71ef7567\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"Insufficient permissions. Missing organization membership required to submit action\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"name\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-sample-object\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Test Object\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.sampleObject\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"name\",\n \"id\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ID\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"name\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Name\",\n \"typeClasses\": [],\n },\n \"id\": \"name\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"restrictionStatus\": {\n \"hasRolesApplied\": true,\n \"ontologyPackageRid\": null,\n \"publicProject\": false,\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.sampleObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.sampleObject\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"name\": {\n \"column\": \"name\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.sampleObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.sampleObject\",\n \"displayMetadata\": {\n \"description\": \"Sample object description\",\n \"displayName\": \"Test Object\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"tests\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"The ID of the test object\",\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"name\": {\n \"apiName\": \"name\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": \"The name of the test object\",\n \"displayName\": \"Name\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"name\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Array property validation is correctly structured for actions\", () => {\n const objectWithArrays = defineObject({\n apiName: \"objectWithArrays\",\n displayName: \"Object With Arrays\",\n primaryKeyPropertyApiName: \"id\",\n titlePropertyApiName: \"id\",\n pluralDisplayName: \"Objects With Arrays\",\n properties: {\n \"id\": { type: \"string\", displayName: \"ID\" },\n \"tags\": { type: \"string\", array: true, displayName: \"Tags\" },\n \"numbers\": { type: \"integer\", array: true, displayName: \"Numbers\" },\n \"singleValue\": { type: \"string\", displayName: \"Single Value\" },\n },\n });\n\n const createAction = defineCreateObjectAction({\n objectType: objectWithArrays,\n });\n const modifyAction = defineModifyObjectAction({\n objectType: objectWithArrays,\n });\n\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-object-with-arrays\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.objectWithArrays\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"numbers\": {\n \"parameterId\": \"numbers\",\n \"type\": \"parameterId\",\n },\n \"singleValue\": {\n \"parameterId\": \"singleValue\",\n \"type\": \"parameterId\",\n },\n \"tags\": {\n \"parameterId\": \"tags\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"numbers\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"numericInput\": {},\n \"type\": \"numericInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"range\": {\n \"range\": {},\n \"type\": \"range\",\n },\n \"type\": \"range\",\n },\n \"required\": {\n \"listLengthValidation\": {\n \"maxLength\": undefined,\n \"minLength\": undefined,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n \"singleValue\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"tags\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"listLengthValidation\": {\n \"maxLength\": undefined,\n \"minLength\": undefined,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-object-with-arrays\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Object With Arrays\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.objectWithArrays\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"id\",\n \"tags\",\n \"numbers\",\n \"singleValue\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"ID\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"numbers\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Numbers\",\n \"typeClasses\": [],\n },\n \"id\": \"numbers\",\n \"type\": {\n \"integerList\": {},\n \"type\": \"integerList\",\n },\n },\n \"singleValue\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Single Value\",\n \"typeClasses\": [],\n },\n \"id\": \"singleValue\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"tags\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Tags\",\n \"typeClasses\": [],\n },\n \"id\": \"tags\",\n \"type\": {\n \"stringList\": {},\n \"type\": \"stringList\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"com.palantir.modify-object-object-with-arrays\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyObjectRule\": {\n \"objectToModify\": \"objectToModifyParameter\",\n \"propertyValues\": {\n \"numbers\": {\n \"parameterId\": \"numbers\",\n \"type\": \"parameterId\",\n },\n \"singleValue\": {\n \"parameterId\": \"singleValue\",\n \"type\": \"parameterId\",\n },\n \"tags\": {\n \"parameterId\": \"tags\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"modifyObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"numbers\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"numbers\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"numericInput\": {},\n \"type\": \"numericInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"range\": {\n \"range\": {},\n \"type\": \"range\",\n },\n \"type\": \"range\",\n },\n \"required\": {\n \"listLengthValidation\": {\n \"maxLength\": undefined,\n \"minLength\": undefined,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n \"objectToModifyParameter\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"dropdown\": {},\n \"type\": \"dropdown\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"objectQuery\": {\n \"objectQuery\": {},\n \"type\": \"objectQuery\",\n },\n \"type\": \"objectQuery\",\n },\n \"required\": {\n \"required\": {},\n \"type\": \"required\",\n },\n },\n },\n },\n \"singleValue\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"singleValue\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"tags\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"prefill\": {\n \"objectParameterPropertyValue\": {\n \"parameterId\": \"objectToModifyParameter\",\n \"propertyTypeId\": \"tags\",\n },\n \"type\": \"objectParameterPropertyValue\",\n },\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"listLengthValidation\": {\n \"maxLength\": undefined,\n \"minLength\": undefined,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-object-object-with-arrays\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Modify Object With Arrays\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.objectWithArrays\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"objectToModifyParameter\",\n \"tags\",\n \"numbers\",\n \"singleValue\",\n ],\n \"parameters\": {\n \"numbers\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Numbers\",\n \"typeClasses\": [],\n },\n \"id\": \"numbers\",\n \"type\": {\n \"integerList\": {},\n \"type\": \"integerList\",\n },\n },\n \"objectToModifyParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Modify object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToModifyParameter\",\n \"type\": {\n \"objectReference\": {\n \"objectTypeId\": \"com.palantir.objectWithArrays\",\n },\n \"type\": \"objectReference\",\n },\n },\n \"singleValue\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Single Value\",\n \"typeClasses\": [],\n },\n \"id\": \"singleValue\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"tags\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Tags\",\n \"typeClasses\": [],\n },\n \"id\": \"tags\",\n \"type\": {\n \"stringList\": {},\n \"type\": \"stringList\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.objectWithArrays\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.objectWithArrays\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"numbers\": {\n \"column\": \"numbers\",\n \"type\": \"column\",\n },\n \"singleValue\": {\n \"column\": \"singleValue\",\n \"type\": \"column\",\n },\n \"tags\": {\n \"column\": \"tags\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.objectWithArrays\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.objectWithArrays\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Object With Arrays\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Objects With Arrays\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"ID\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"numbers\": {\n \"apiName\": \"numbers\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Numbers\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"array\": {\n \"subtype\": {\n \"integer\": {},\n \"type\": \"integer\",\n },\n },\n \"type\": \"array\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"singleValue\": {\n \"apiName\": \"singleValue\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Single Value\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"tags\": {\n \"apiName\": \"tags\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Tags\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"array\": {\n \"subtype\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n },\n \"type\": \"array\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"id\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Action sections are properly defined\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": { type: \"string\" },\n \"id\": { type: \"string\" },\n },\n });\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n sections: [\n {\n id: \"section1\",\n displayName: \"Section 1\",\n parameters: [\"id\"],\n description: \"Description for Section 1\",\n conditionalOverrides: [\n {\n type: \"visibility\",\n condition: {\n type: \"group\",\n name: \"testGroup\",\n },\n },\n ],\n },\n ],\n });\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.sampleObject\",\n \"propertyValues\": {\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"name\": {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"name\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {\n \"section1\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"type\": \"userProperty\",\n \"userProperty\": {\n \"propertyValue\": {\n \"groupIds\": {},\n \"type\": \"groupIds\",\n },\n \"userId\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n },\n },\n \"operator\": \"INTERSECTS\",\n \"right\": {\n \"staticValue\": {\n \"stringList\": {\n \"strings\": [\n \"testGroup\",\n ],\n },\n \"type\": \"stringList\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"sectionBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"hidden\": {},\n \"type\": \"hidden\",\n },\n },\n },\n ],\n },\n ],\n \"defaultDisplayMetadata\": {\n \"visibility\": {\n \"type\": \"visible\",\n \"visible\": {},\n },\n },\n },\n },\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-sample-object\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Test Object\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.sampleObject\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [\n {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n {\n \"sectionId\": \"section1\",\n \"type\": \"sectionId\",\n },\n ],\n \"parameterOrdering\": [\n \"name\",\n \"id\",\n ],\n \"parameters\": {\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Id\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"name\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Name\",\n \"typeClasses\": [],\n },\n \"id\": \"name\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {\n \"section1\": {\n \"content\": [\n {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n ],\n \"displayMetadata\": {\n \"collapsedByDefault\": false,\n \"columnCount\": 1,\n \"description\": \"Description for Section 1\",\n \"displayName\": \"Section 1\",\n \"showTitleBar\": true,\n },\n \"id\": \"section1\",\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.sampleObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.sampleObject\",\n \"propertyMapping\": {\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"name\": {\n \"column\": \"name\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.sampleObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.sampleObject\",\n \"displayMetadata\": {\n \"description\": \"Sample object description\",\n \"displayName\": \"Test Object\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"tests\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Id\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"name\": {\n \"apiName\": \"name\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Name\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"name\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n\n it(\"Action section parameters must exist\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": { type: \"string\" },\n \"id\": { type: \"string\" },\n },\n });\n expect(() => {\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n sections: [\n {\n id: \"section1\",\n displayName: \"Section 1\",\n parameters: [\"foo\"],\n },\n ],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Parameters [\"foo\"] were referenced but not defined]`,\n );\n });\n\n it(\"Custom parameter ordering is properly defined\", () => {\n const sampleObject = defineObject({\n apiName: \"sampleObject\",\n displayName: \"Test Object\",\n description: \"Sample object description\",\n primaryKeyPropertyApiName: \"id\",\n pluralDisplayName: \"tests\",\n titlePropertyApiName: \"name\",\n properties: {\n \"name\": { type: \"string\" },\n \"id\": { type: \"string\" },\n \"foo\": { type: \"string\" },\n },\n });\n expect(() => {\n const createBadAction = defineCreateObjectAction({\n objectType: sampleObject,\n parameterOrdering: [\"foo\", \"id\"],\n excludedProperties: [\"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for create-object-sample-object does not match expected parameters. Extraneous parameters in ordering: {id}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineModifyObjectAction({\n objectType: sampleObject,\n // primary keys should not be in modify action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for modify-object-sample-object does not match expected parameters. Extraneous parameters in ordering: {id}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineCreateOrModifyObjectAction({\n objectType: sampleObject,\n // primary keys should not be in create-or-modify action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for create-or-modify-sample-object does not match expected parameters. Extraneous parameters in ordering: {id}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineCreateObjectAction({\n objectType: sampleObject,\n nonParameterMappings: {\n \"foo\": {\n type: \"currentUser\",\n },\n },\n // non-parameter mapped properties should not be in action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for create-object-sample-object does not match expected parameters. Extraneous parameters in ordering: {foo}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineModifyObjectAction({\n objectType: sampleObject,\n nonParameterMappings: {\n \"foo\": {\n type: \"currentUser\",\n },\n },\n // non-parameter mapped properties should not be in action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for modify-object-sample-object does not match expected parameters. Extraneous parameters in ordering: {foo,id}, Missing parameters in ordering: {name}]`,\n );\n expect(() => {\n const createBadAction = defineCreateOrModifyObjectAction({\n objectType: sampleObject,\n nonParameterMappings: {\n \"foo\": {\n type: \"currentUser\",\n },\n },\n // non-parameter mapped properties should not be in action orderings\n parameterOrdering: [\"foo\", \"id\"],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Action parameter ordering for create-or-modify-sample-object does not match expected parameters. Extraneous parameters in ordering: {foo,id}, Missing parameters in ordering: {name}]`,\n );\n const createAction = defineCreateObjectAction({\n objectType: sampleObject,\n parameterOrdering: [\"foo\", \"name\", \"id\"],\n parameterConfiguration: {\n \"name\": {\n conditionalOverrides: [\n {\n type: \"visibility\",\n condition: {\n type: \"parameter\",\n parameterId: \"foo\",\n matches: {\n type: \"staticValue\",\n staticValue: {\n type: \"string\",\n string: \"foo\",\n },\n },\n },\n },\n ],\n },\n },\n });\n expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`\n {\n \"importedOntology\": {\n \"actionTypes\": {},\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n },\n \"importedValueTypes\": {\n \"valueTypes\": [],\n },\n \"ontology\": {\n \"actionTypes\": {\n \"com.palantir.create-object-sample-object\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addObjectRule\": {\n \"objectTypeId\": \"com.palantir.sampleObject\",\n \"propertyValues\": {\n \"foo\": {\n \"parameterId\": \"foo\",\n \"type\": \"parameterId\",\n },\n \"id\": {\n \"parameterId\": \"id\",\n \"type\": \"parameterId\",\n },\n \"name\": {\n \"parameterId\": \"name\",\n \"type\": \"parameterId\",\n },\n },\n \"structFieldValues\": {},\n },\n \"type\": \"addObjectRule\",\n },\n ],\n },\n \"validation\": {\n \"actionTypeLevelValidation\": {\n \"rules\": {\n \"0\": {\n \"condition\": {\n \"true\": {},\n \"type\": \"true\",\n },\n \"displayMetadata\": {\n \"failureMessage\": \"\",\n \"typeClasses\": [],\n },\n },\n },\n },\n \"parameterValidations\": {\n \"foo\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"id\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"name\": {\n \"conditionalOverrides\": [\n {\n \"condition\": {\n \"comparison\": {\n \"left\": {\n \"parameterId\": \"foo\",\n \"type\": \"parameterId\",\n },\n \"operator\": \"EQUALS\",\n \"right\": {\n \"staticValue\": {\n \"string\": \"foo\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"comparison\",\n },\n \"parameterBlockOverrides\": [\n {\n \"type\": \"visibility\",\n \"visibility\": {\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n },\n ],\n },\n ],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"textInput\": {},\n \"type\": \"textInput\",\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"text\": {\n \"text\": {},\n \"type\": \"text\",\n },\n \"type\": \"text\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-object-sample-object\",\n \"displayMetadata\": {\n \"configuration\": {\n \"defaultLayout\": \"FORM\",\n \"displayAndFormat\": {\n \"table\": {\n \"columnWidthByParameterRid\": {},\n \"enableFileImport\": true,\n \"fitHorizontally\": false,\n \"frozenColumnCount\": 0,\n \"rowHeightInLines\": 1,\n },\n },\n \"enableLayoutUserSwitch\": false,\n },\n \"description\": \"\",\n \"displayName\": \"Create Test Object\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#000000\",\n \"locator\": \"edit\",\n },\n \"type\": \"blueprint\",\n },\n \"successMessage\": [],\n \"typeClasses\": [],\n },\n \"entities\": {\n \"affectedInterfaceTypes\": [],\n \"affectedLinkTypes\": [],\n \"affectedObjectTypes\": [\n \"com.palantir.sampleObject\",\n ],\n \"typeGroups\": [],\n },\n \"formContentOrdering\": [],\n \"parameterOrdering\": [\n \"foo\",\n \"name\",\n \"id\",\n ],\n \"parameters\": {\n \"foo\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Foo\",\n \"typeClasses\": [],\n },\n \"id\": \"foo\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"id\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Id\",\n \"typeClasses\": [],\n },\n \"id\": \"id\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"name\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Name\",\n \"typeClasses\": [],\n },\n \"id\": \"name\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n },\n \"sections\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n },\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.sampleObject\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.sampleObject\",\n \"propertyMapping\": {\n \"foo\": {\n \"column\": \"foo\",\n \"type\": \"column\",\n },\n \"id\": {\n \"column\": \"id\",\n \"type\": \"column\",\n },\n \"name\": {\n \"column\": \"name\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"datasourceName\": \"com.palantir.sampleObject\",\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.sampleObject\",\n \"displayMetadata\": {\n \"description\": \"Sample object description\",\n \"displayName\": \"Test Object\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"tests\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"id\",\n ],\n \"propertyTypes\": {\n \"foo\": {\n \"apiName\": \"foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"id\": {\n \"apiName\": \"id\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Id\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n \"name\": {\n \"apiName\": \"name\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Name\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"name\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n },\n \"randomnessKey\": undefined,\n \"valueTypes\": {\n \"valueTypes\": [],\n },\n }\n `);\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAEA,OAASA,UAAU,CAAEC,QAAQ,CAAEC,MAAM,CAAEC,EAAE,KAAQ,QAAQ,CACzD,OAASC,sBAAsB,KAAQ,qCAAqC,CAC5E,OACEC,iCAAiC,CACjCC,iCAAiC,CACjCC,YAAY,CACZC,iCAAiC,CACjCC,uBAAuB,KAClB,oBAAoB,CAC3B,OAASC,iCAAiC,KAAQ,yCAAyC,CAC3F,OAASC,wBAAwB,KAAQ,gCAAgC,CACzE,OAASC,gCAAgC,KAAQ,wCAAwC,CACzF,OAASC,wBAAwB,KAAQ,gCAAgC,CACzE,OAASC,eAAe,KAAQ,uBAAuB,CACvD,OAASC,iCAAiC,KAAQ,yCAAyC,CAC3F,OAASC,wBAAwB,KAAQ,gCAAgC,CACzE,OAASC,YAAY,KAAQ,oBAAoB,CACjD,OAASC,cAAc,CAAEC,wBAAwB,KAAQ,sBAAsB,CAC/E,OAASC,wBAAwB,KAAQ,iBAAiB,CAC1D,OAASC,oBAAoB,KAAQ,4BAA4B,CAIjEpB,QAAQ,CAAC,cAAc,CAAE,IAAM,CAC7BD,UAAU,CAAC,SAAY,CACrB,KAAM,CAAAkB,cAAc,CAAC,eAAe,CAAE,IAAM,CAAC,CAAC,CAAE,OAAO,CAAC,CAC1D,CAAC,CAAC,CACFf,EAAE,CAAC,uCAAuC,CAAE,IAAM,CAC1BI,YAAY,CAAC,CACjCe,OAAO,CAAE,KAAK,CACdC,WAAW,CAAE,eAAe,CAC5BC,MAAM,CAAE,QAAQ,CAChBC,KAAK,CAAE,CAAC,CACNC,IAAI,CAAE,yBAAyB,CAC/BC,uBAAuB,CAAE,CACvBC,cAAc,CAAE,yBAAyB,CACzCC,cAAc,CAAE,CACd,KAAK,CAAE,CACLH,IAAI,CAAE,aAAa,CACnBI,WAAW,CAAE,QACf,CACF,CAAC,CACDC,iBAAiB,CAAE,CAAC,CACtB,CACF,CAAC,CAAC,CACFC,UAAU,CAAE,CAAC,CACXC,EAAE,CAAE,QAAQ,CACZV,WAAW,CAAE,QAAQ,CACrBG,IAAI,CAAE,SAAS,CACfQ,UAAU,CAAE,CAAEC,QAAQ,CAAE,IAAI,CAAEC,aAAa,CAAE,CAAEV,IAAI,CAAE,SAAU,CAAE,CACnE,CAAC,CACH,CAAC,CAAC,CAEFxB,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACR,CAAC,CAAC,CAEFpC,QAAQ,CAAC,mBAAmB,CAAE,IAAM,CAClCE,EAAE,CAAC,wCAAwC,CAAE,IAAM,CACrCW,eAAe,CAAC,CAC1BQ,OAAO,CAAE,KAAK,CACdC,WAAW,CAAE,KAAK,CAClBe,UAAU,CAAE,CAAC,CACf,CAAC,CAAC,CACoB/B,YAAY,CAAC,CACjCe,OAAO,CAAE,KAAK,CACdC,WAAW,CAAE,eAAe,CAC5BC,MAAM,CAAE,QAAQ,CAChBC,KAAK,CAAE,CAAC,CACNC,IAAI,CAAE,kBAAkB,CACxBa,gBAAgB,CAAE,CAChBC,gBAAgB,CAAE,KAAK,CACvBC,mBAAmB,CAAE,QAAQ,CAC7BC,oBAAoB,CAAE,CAAC,CACzB,CACF,CAAC,CAAC,CACFV,UAAU,CAAE,CAAC,CACXC,EAAE,CAAE,QAAQ,CACZV,WAAW,CAAE,QAAQ,CACrBG,IAAI,CAAE,SAAS,CACfQ,UAAU,CAAE,CAAEC,QAAQ,CAAE,IAAI,CAAEC,aAAa,CAAE,CAAEV,IAAI,CAAE,SAAU,CAAE,CACnE,CAAC,CACH,CAAC,CAAC,CAEFxB,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,mEAAmE,CAAE,IAAM,CAC5E,KAAM,CAAAwC,yBAAyB,CAAGvB,wBAAwB,CAAC,CACzDE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,CACJA,IAAI,CAAE,QAAQ,CACdkB,gBAAgB,CAAE,CAChBC,cAAc,CAAE,QAClB,CACF,CACF,CAAC,CAAC,CACF,KAAM,CAAAC,KAAK,CAAG1B,wBAAwB,CAAC,CACrCE,OAAO,CAAE,OAAO,CAChBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAqB,gBAAgB,CAAGjC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3B0B,IAAI,CAAE,CAAEC,KAAK,CAAE,WAAW,CAAEC,OAAO,CAAE,OAAQ,CAAC,CAC9CZ,UAAU,CAAE,CACVQ,KAAK,CACLK,SAAS,CAAE,QAAQ,CACnBC,SAAS,CAAET,yBACb,CACF,CAAC,CAAC,CAEF,KAAM,CAAAU,iBAAiB,CAAGpC,YAAY,CAAC,CACrCqC,oBAAoB,CAAE,KAAK,CAC3B/B,WAAW,CAAE,mBAAmB,CAChCgC,iBAAiB,CAAE,oBAAoB,CACvCjC,OAAO,CAAE,KAAK,CACdkC,yBAAyB,CAAE,KAAK,CAChClB,UAAU,CAAE,CACV,KAAK,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CACzB,WAAW,CAAE,CAAEA,IAAI,CAAE,QAAS,CAAC,CAC/B,WAAW,CAAE,CACXA,IAAI,CAAE,CACJA,IAAI,CAAE,QAAQ,CACdkB,gBAAgB,CAAE,CAAEC,cAAc,CAAE,QAAS,CAC/C,CACF,CACF,CAAC,CACDY,oBAAoB,CAAE,CAAC,CACrBC,UAAU,CAAEX,gBAAgB,CAC5BY,eAAe,CAAE,CACf,CACEC,iBAAiB,CAAE,oBAAoB,CACvCC,MAAM,CAAE,KACV,CAAC,CACD,CACED,iBAAiB,CAAE,wBAAwB,CAC3CC,MAAM,CAAE,WACV,CAAC,CACD,CACED,iBAAiB,CAAE,wBAAwB,CAC3CC,MAAM,CAAE,WACV,CAAC,CAEL,CAAC,CACH,CAAC,CAAC,CAEiCnD,iCAAiC,CAAC,CACnEoD,aAAa,CAAEf,gBAAgB,CAC/BgB,UAAU,CAAEV,iBACd,CAAC,CAAC,CAEmBtC,iCAAiC,CAAC,CACrD+C,aAAa,CAAEf,gBAAgB,CAC/BgB,UAAU,CAAEV,iBACd,CAAC,CAAC,CAEFnD,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,sEAAsE,CAAE,IAAM,CAC/E,KAAM,CAAA4C,gBAAgB,CAAGjC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVa,SAAS,CAAE,QACb,CACF,CAAC,CAAC,CACmBzC,iCAAiC,CAAC,CACrDoD,aAAa,CAAEf,gBACjB,CAAC,CAAC,CACmBhC,iCAAiC,CAAC,CACrD+C,aAAa,CAAEf,gBACjB,CAAC,CAAC,CAEF7C,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,4DAA4D,CAAE,IAAM,CACrE,KAAM,CAAAgD,SAAS,CAAG/B,wBAAwB,CAAC,CACzCE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAA0B,SAAS,CAAGhC,wBAAwB,CAAC,CACzCE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAsC,SAAS,CAAG5C,wBAAwB,CAAC,CACzCE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAqB,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CAClBC,yBAAyB,CAAE,CAAC,CAAC,CAC7BC,gBAAgB,CAAE,KAAK,CACvBC,eAAe,CAAE,IAAI,CACrBC,iBAAiB,CAAE,CAAC,CACpBC,gBAAgB,CAAE,EACpB,CAAC,CACDC,kBAAkB,CAAE,CAClBC,cAAc,CAAE,wBAAwB,CACxCC,uBAAuB,CAAE,IAAI,CAC7BC,2BAA2B,CAAE,CAC3BC,MAAM,CAAE,QAAQ,CAChBC,IAAI,CAAE,eACR,CACF,CACF,CAAC,CAAC,CAEFzF,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC,CACJ,CAAC,CAAC,CACJ,CAAC,CAAC,CAEFpC,QAAQ,CAAC,gBAAgB,CAAE,IAAM,CAC/BE,EAAE,CAAC,8CAA8C,CAAE,IAAM,CACvD,KAAM,CAAAkD,iBAAiB,CAAGpC,YAAY,CAAC,CACrCqC,oBAAoB,CAAE,KAAK,CAC3B/B,WAAW,CAAE,mBAAmB,CAChCgC,iBAAiB,CAAE,oBAAoB,CACvCjC,OAAO,CAAE,KAAK,CACdkC,yBAAyB,CAAE,KAAK,CAChClB,UAAU,CAAE,CACV,KAAK,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CACzB,YAAY,CAAE,CACZA,IAAI,CAAE,CACJA,IAAI,CAAE,QAAQ,CACdkB,gBAAgB,CAAE,CAAEC,cAAc,CAAE,QAAS,CAC/C,CACF,CAAC,CACD,cAAc,CAAE,CAAEnB,IAAI,CAAE,QAAS,CACnC,CACF,CAAC,CAAC,CAE6Bf,wBAAwB,CACrD,CACEoD,UAAU,CAAEV,iBACd,CACF,CAAC,CAC8BrC,wBAAwB,CACrD,CACE+C,UAAU,CAAEV,iBACd,CACF,CAAC,CAC8BxC,wBAAwB,CACrD,CACEkD,UAAU,CAAEV,iBACd,CACF,CAAC,CACsCzC,gCAAgC,CACrE,CACEmD,UAAU,CAAEV,iBACd,CACF,CAAC,CAEDnD,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,iEAA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E,CACX9C,IAAI,CAAE,QAAQ,CACd+C,MAAM,CAAE,KACV,CACF,CACF,CAAC,CAEL,CACF,CAAC,CACF,CACDC,YAAY,CAAE,CACZhD,IAAI,CAAE,aAAa,CACnB8C,WAAW,CAAE,CACX9C,IAAI,CAAE,QAAQ,CACd+C,MAAM,CAAE,cACV,CACF,CAAC,CACDlD,WAAW,CAAE,cAAc,CAC3BoD,WAAW,CAAE,kBACf,CACF,CAAC,CACDC,kBAAkB,CAAE,CAAC,MAAM,CAAC,CAC5BG,aAAa,CAAE,OAAO,CACtBD,kBAAkB,CAAE,IAAI,CACxBQ,kBAAkB,CAAE,CAClBC,cAAc,CAAE,wBAAwB,CACxCC,uBAAuB,CAAE,IAAI,CAC7BC,2BAA2B,CAAE,CAC3BC,MAAM,CAAE,QAAQ,CAChBC,IAAI,CAAE,eACR,CACF,CAAC,CACDX,kBAAkB,CAAE,CAClBC,yBAAyB,CAAE,CAAC,CAAC,CAC7BC,gBAAgB,CAAE,KAAK,CACvBC,eAAe,CAAE,IAAI,CACrBC,iBAAiB,CAAE,CAAC,CACpBC,gBAAgB,CAAE,EACpB,CAAC,CACD4B,gBAAgB,CAAE,WACpB,CACF,CAAC,CAED/G,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFlC,EAAE,CAAC,sDAAsD,CAAE,IAAM,CAC/D,KAAM,CAAAkD,iBAAiB,CAAGpC,YAAY,CAAC,CACrCqC,oBAAoB,CAAE,KAAK,CAC3B/B,WAAW,CAAE,mBAAmB,CAChCgC,iBAAiB,CAAE,oBAAoB,CACvCjC,OAAO,CAAE,KAAK,CACdkC,yBAAyB,CAAE,KAAK,CAChClB,UAAU,CAAE,CACV,KAAK,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CACzB,MAAM,CAAE,CAAEA,IAAI,CAAE,QAAS,CAAC,CAC1B,MAAM,CAAE,CAAEA,IAAI,CAAE,WAAY,CAC9B,CACF,CAAC,CAAC,CAE6Bf,wBAAwB,CACrD,CACEoD,UAAU,CAAEV,iBAAiB,CAC7BuD,oBAAoB,CAAE,CACpB,MAAM,CAAE,CACNlF,IAAI,CAAE,aACR,CAAC,CACD,MAAM,CAAE,CACNA,IAAI,CAAE,aACR,CACF,CACF,CACF,CAAC,CAC8BV,wBAAwB,CACrD,CACE+C,UAAU,CAAEV,iBAAiB,CAC7BuD,oBAAoB,CAAE,CACpB,MAAM,CAAE,CACNlF,IAAI,CAAE,aACR,CAAC,CACD,MAAM,CAAE,CACNA,IAAI,CAAE,aACR,CACF,CACF,CACF,CAAC,CACsCd,gCAAgC,CACrE,CACEmD,UAAU,CAAEV,iBAAiB,CAC7BuD,oBAAoB,CAAE,CACpB,MAAM,CAAE,CACNlF,IAAI,CAAE,aACR,CAAC,CACD,MAAM,CAAE,CACNA,IAAI,CAAE,aACR,CACF,CACF,CACF,CAAC,CAED,KAAM,CAAAyB,SAAS,CAAG/B,wBAAwB,CAAC,CACzCE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAA0B,SAAS,CAAGhC,wBAAwB,CAAC,CACzCE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAqB,gBAAgB,CAAGjC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVa,SAAS,CACTC,SACF,CACF,CAAC,CAAC,CACkC1C,iCAAiC,CAAC,CACpEoD,aAAa,CAAEf,gBAAgB,CAC/B6D,oBAAoB,CAAE,CACpB,CAACzD,SAAS,CAAC7B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CAAC,CACD,CAAC0B,SAAS,CAAC9B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CACF,CACF,CAAC,CAAC,CACkCX,iCAAiC,CAAC,CACpE+C,aAAa,CAAEf,gBAAgB,CAC/B6D,oBAAoB,CAAE,CACpB,CAACzD,SAAS,CAAC7B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CAAC,CACD,CAAC0B,SAAS,CAAC9B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CACF,CACF,CAAC,CAAC,CACFxB,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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,gBAAgB,CAC/BqB,sBAAsB,CAAE,CACtB,CAAC5D,iCAAiC,EAAG,CACnCe,WAAW,CAAE,4BAA4B,CACzCoD,WAAW,CAAE,aAAa,CAC1BN,oBAAoB,CAAE,CAAC,CACrB3C,IAAI,CAAE,YAAY,CAClBwC,SAAS,CAAE,CACTxC,IAAI,CAAE,OAAO,CACbyC,IAAI,CAAE,aACR,CACF,CAAC,CACH,CACF,CACF,CAAC,CAAC,CAEFjE,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,uDAAuD,CAAE,IAAM,CAC1CI,YAAY,CAAC,CACjCe,OAAO,CAAE,KAAK,CACdC,WAAW,CAAE,eAAe,CAC5BC,MAAM,CAAE,QAAQ,CAChBC,KAAK,CAAE,CAAC,CACNC,IAAI,CAAE,kBAAkB,CACxB2F,gBAAgB,CAAE,CAChBzF,cAAc,CAAE,yBAAyB,CACzCC,cAAc,CAAE,CACd,KAAK,CAAE,CACLH,IAAI,CAAE,aAAa,CACnBI,WAAW,CAAE,QACf,CACF,CAAC,CACDC,iBAAiB,CAAE,CAAC,CACtB,CACF,CAAC,CAAC,CACFC,UAAU,CAAE,CAAC,CACXC,EAAE,CAAE,QAAQ,CACZV,WAAW,CAAE,QAAQ,CACrBG,IAAI,CAAE,SAAS,CACfQ,UAAU,CAAE,CACVC,QAAQ,CAAE,IAAI,CACdC,aAAa,CAAE,CAAEV,IAAI,CAAE,SAAU,CAAC,CAClC6F,iBAAiB,CAAE,UAAU,CAC7BlD,oBAAoB,CAAE,CACpB,CACE3C,IAAI,CAAE,YAAY,CAClBwC,SAAS,CAAE,CACTxC,IAAI,CAAE,OAAO,CACbyC,IAAI,CAAE,SACR,CACF,CAAC,CAEL,CACF,CAAC,CAAE,CACDlC,EAAE,CAAE,yBAAyB,CAC7BV,WAAW,CAAE,yBAAyB,CACtCG,IAAI,CAAE,qBAAqB,CAC3BQ,UAAU,CAAE,CACVC,QAAQ,CAAE,IAAI,CACdC,aAAa,CAAE,CAAEV,IAAI,CAAE,qBAAqB,CAAE8F,cAAc,CAAE,EAAG,CAAC,CAClED,iBAAiB,CAAE,UACrB,CACF,CAAC,CACH,CAAC,CAAC,CAEFrH,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,kEAAkE,CAAE,IAAM,CAC3E;AACA;AACA;AACA;AACA,KAAM,CAAAmH,cAAc,CAAGrG,YAAY,CAAC,CAClCK,OAAO,CAAE,UAAU,CACnBC,WAAW,CAAE,UAAU,CACvBgC,iBAAiB,CAAE,WAAW,CAC9BD,oBAAoB,CAAE,IAAI,CAC1BE,yBAAyB,CAAE,IAAI,CAC/BlB,UAAU,CAAE,CACV,IAAI,CAAE,CAAEZ,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,IAAI,CAAEoD,WAAW,CAAE,OAAQ,CAAC,CACjE,WAAW,CAAE,CAAEjD,IAAI,CAAE,QAAS,CAChC,CACF,CAAC,CAAC,CAEF,KAAM,CAAA+F,aAAa,CAAGxG,YAAY,CAAC,CACjCK,OAAO,CAAE,SAAS,CAClBC,WAAW,CAAE,SAAS,CACtBgC,iBAAiB,CAAE,UAAU,CAC7BD,oBAAoB,CAAE,IAAI,CAC1BE,yBAAyB,CAAE,IAAI,CAC/BlB,UAAU,CAAE,CACV,IAAI,CAAE,CAAEZ,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,IAAI,CAAEoD,WAAW,CAAE,OAAQ,CAClE,CAAC,CACD+C,YAAY,CAAE,IAChB,CAAC,CAAC,CAEF/G,wBAAwB,CAAC,CACvBoD,UAAU,CAAEuD,cAAc,CAC1BzC,iBAAiB,CAAE,CAAC,WAAW,CAAE,IAAI,CAAE,WAAW,CAAC,CACnDT,sBAAsB,CAAE,CACtB,WAAW,CAAE,CACXuC,mBAAmB,CAAE,CACnBjF,IAAI,CAAE,iBAAiB,CACvBiG,eAAe,CAAE,CACfC,YAAY,CAAEH,aAAa,CAACnG,OAC9B,CACF,CACF,CAAC,CACD,WAAW,CAAE,CACXoD,YAAY,CAAE,CACZhD,IAAI,CAAE,8BAA8B,CACpCmG,4BAA4B,CAAE,CAC5B/F,WAAW,CAAE,WAAW,CACxBgG,cAAc,CAAE,IAClB,CACF,CACF,CACF,CACF,CAAC,CAAC,CAEF5H,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,qDAAqD,CAAE,IAAM,CAC9D,KAAM,CAAA+G,YAAY,CAAGjG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BoD,WAAW,CAAE,2BAA2B,CACxCnB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BhB,UAAU,CAAE,CACV,MAAM,CAAE,CACNZ,IAAI,CAAE,QAAQ,CACdiD,WAAW,CAAE,6BACf,CAAC,CACD,IAAI,CAAE,CACJjD,IAAI,CAAE,QAAQ,CACdH,WAAW,CAAE,IAAI,CACjBoD,WAAW,CAAE,2BACf,CACF,CACF,CAAC,CAAC,CACmBhE,wBAAwB,CAAC,CAC5CoD,UAAU,CAAEmD,YAAY,CACxBjD,qBAAqB,CAAE,CAAC,CACtBC,SAAS,CAAE,CACTxC,IAAI,CAAE,OAAO,CACbyC,IAAI,CAAE,WACR,CACF,CAAC,CACH,CAAC,CAAC,CAEFjE,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,sDAAsD,CAAE,IAAM,CAC/D,KAAM,CAAA+G,YAAY,CAAGjG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BoD,WAAW,CAAE,2BAA2B,CACxCnB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BhB,UAAU,CAAE,CACV,MAAM,CAAE,CACNZ,IAAI,CAAE,QAAQ,CACdiD,WAAW,CAAE,6BACf,CAAC,CACD,IAAI,CAAE,CACJjD,IAAI,CAAE,QAAQ,CACdH,WAAW,CAAE,IAAI,CACjBoD,WAAW,CAAE,2BACf,CACF,CACF,CAAC,CAAC,CACmBhE,wBAAwB,CAAC,CAC5CoD,UAAU,CAAEmD,YAAY,CACxBjD,qBAAqB,CAAE,CAAC,CACtB6C,eAAe,CAAE,CACfC,cAAc,CACZ,qFAAqF,CACvFC,WAAW,CAAE,EACf,CAAC,CACD9C,SAAS,CAAE,CACTxC,IAAI,CAAE,YAAY,CAClBqG,UAAU,CAAE,CACVC,QAAQ,CAAE,YAAY,CACtBC,IAAI,CAAE,CACJvG,IAAI,CAAE,cAAc,CACpBwG,YAAY,CAAE,CACZC,MAAM,CAAE,CACNzG,IAAI,CAAE,aAAa,CACnB0G,WAAW,CAAE,CAAC,CAChB,CAAC,CACDC,aAAa,CAAE,CACb3G,IAAI,CAAE,wBAAwB,CAC9B4G,sBAAsB,CAAE,CAAC,CAC3B,CACF,CACF,CAAC,CACDC,KAAK,CAAE,CACL7G,IAAI,CAAE,aAAa,CACnB8C,WAAW,CAAE,CACX9C,IAAI,CAAE,YAAY,CAClB8G,UAAU,CAAE,CACVC,OAAO,CAAE,CACP,sCAAsC,CAE1C,CACF,CACF,CACF,CACF,CACF,CAAC,CACH,CAAC,CAAC,CAEFvI,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,+DAA+D,CAAE,IAAM,CACxE,KAAM,CAAAuI,gBAAgB,CAAGzH,YAAY,CAAC,CACpCK,OAAO,CAAE,kBAAkB,CAC3BC,WAAW,CAAE,oBAAoB,CACjCiC,yBAAyB,CAAE,IAAI,CAC/BF,oBAAoB,CAAE,IAAI,CAC1BC,iBAAiB,CAAE,qBAAqB,CACxCjB,UAAU,CAAE,CACV,IAAI,CAAE,CAAEZ,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,IAAK,CAAC,CAC3C,MAAM,CAAE,CAAEG,IAAI,CAAE,QAAQ,CAAEiH,KAAK,CAAE,IAAI,CAAEpH,WAAW,CAAE,MAAO,CAAC,CAC5D,SAAS,CAAE,CAAEG,IAAI,CAAE,SAAS,CAAEiH,KAAK,CAAE,IAAI,CAAEpH,WAAW,CAAE,SAAU,CAAC,CACnE,aAAa,CAAE,CAAEG,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,cAAe,CAC/D,CACF,CAAC,CAAC,CAEmBZ,wBAAwB,CAAC,CAC5CoD,UAAU,CAAE2E,gBACd,CAAC,CAAC,CACmB1H,wBAAwB,CAAC,CAC5C+C,UAAU,CAAE2E,gBACd,CAAC,CAAC,CAEFxI,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CAEFlC,EAAE,CAAC,sCAAsC,CAAE,IAAM,CAC/C,KAAM,CAAA+G,YAAY,CAAGjG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BoD,WAAW,CAAE,2BAA2B,CACxCnB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BhB,UAAU,CAAE,CACV,MAAM,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CAC1B,IAAI,CAAE,CAAEA,IAAI,CAAE,QAAS,CACzB,CACF,CAAC,CAAC,CACmBf,wBAAwB,CAAC,CAC5CoD,UAAU,CAAEmD,YAAY,CACxBL,QAAQ,CAAE,CACR,CACE5E,EAAE,CAAE,UAAU,CACdV,WAAW,CAAE,WAAW,CACxBS,UAAU,CAAE,CAAC,IAAI,CAAC,CAClB2C,WAAW,CAAE,2BAA2B,CACxCN,oBAAoB,CAAE,CACpB,CACE3C,IAAI,CAAE,YAAY,CAClBwC,SAAS,CAAE,CACTxC,IAAI,CAAE,OAAO,CACbyC,IAAI,CAAE,WACR,CACF,CAAC,CAEL,CAAC,CAEL,CAAC,CAAC,CACFjE,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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BAAwB,CAAC,CAC5CoD,UAAU,CAAEmD,YAAY,CACxBrC,iBAAiB,CAAE,CAAC,KAAK,CAAE,MAAM,CAAE,IAAI,CAAC,CACxCT,sBAAsB,CAAE,CACtB,MAAM,CAAE,CACNC,oBAAoB,CAAE,CACpB,CACE3C,IAAI,CAAE,YAAY,CAClBwC,SAAS,CAAE,CACTxC,IAAI,CAAE,WAAW,CACjBI,WAAW,CAAE,KAAK,CAClByC,OAAO,CAAE,CACP7C,IAAI,CAAE,aAAa,CACnB8C,WAAW,CAAE,CACX9C,IAAI,CAAE,QAAQ,CACd+C,MAAM,CAAE,KACV,CACF,CACF,CACF,CAAC,CAEL,CACF,CACF,CAAC,CAAC,CACFvE,MAAM,CAACiB,wBAAwB,CAAC,CAAC,CAAC,CAACkB,qBAAqB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC,CACN,CAAC,CAAC,CACJ,CAAC,CAAC,CACJ,CAAC,CAAC","ignoreList":[]}
|