@osdk/maker 0.15.0-beta.7 → 0.15.0-beta.9

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.
Files changed (74) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +26 -22
  3. package/build/browser/api/action/ActionParameterConditionalOverride.js.map +1 -1
  4. package/build/browser/api/defineInterface.js.map +1 -1
  5. package/build/browser/api/defineOntology.js +6 -0
  6. package/build/browser/api/defineOntology.js.map +1 -1
  7. package/build/browser/api/defineValueType.js +25 -7
  8. package/build/browser/api/defineValueType.js.map +1 -1
  9. package/build/browser/api/interface/mapSimplifiedStatusToInterfaceTypeStatus.js +5 -0
  10. package/build/browser/api/interface/mapSimplifiedStatusToInterfaceTypeStatus.js.map +1 -1
  11. package/build/browser/api/links/LinkType.js.map +1 -1
  12. package/build/browser/api/object/ObjectTypeStatus.js.map +1 -1
  13. package/build/browser/api/test/actions.test.js +8 -5
  14. package/build/browser/api/test/actions.test.js.map +1 -1
  15. package/build/browser/api/test/interfaces.test.js +12 -0
  16. package/build/browser/api/test/interfaces.test.js.map +1 -1
  17. package/build/browser/api/test/misc.test.js +4 -2
  18. package/build/browser/api/test/misc.test.js.map +1 -1
  19. package/build/browser/api/test/objects.test.js +3 -2
  20. package/build/browser/api/test/objects.test.js.map +1 -1
  21. package/build/browser/api/test/valueTypes.test.js +151 -0
  22. package/build/browser/api/test/valueTypes.test.js.map +1 -1
  23. package/build/browser/cli/main.js +1 -1
  24. package/build/browser/conversion/toMarketplace/convertActionParameterConditionalOverride.js +15 -7
  25. package/build/browser/conversion/toMarketplace/convertActionParameterConditionalOverride.js.map +1 -1
  26. package/build/browser/conversion/toMarketplace/convertLink.js +30 -4
  27. package/build/browser/conversion/toMarketplace/convertLink.js.map +1 -1
  28. package/build/browser/conversion/toMarketplace/convertObject.js +6 -5
  29. package/build/browser/conversion/toMarketplace/convertObject.js.map +1 -1
  30. package/build/cjs/index.cjs +86 -22
  31. package/build/cjs/index.cjs.map +1 -1
  32. package/build/cjs/index.d.cts +29 -5
  33. package/build/esm/api/action/ActionParameterConditionalOverride.js.map +1 -1
  34. package/build/esm/api/defineInterface.js.map +1 -1
  35. package/build/esm/api/defineOntology.js +6 -0
  36. package/build/esm/api/defineOntology.js.map +1 -1
  37. package/build/esm/api/defineValueType.js +25 -7
  38. package/build/esm/api/defineValueType.js.map +1 -1
  39. package/build/esm/api/interface/mapSimplifiedStatusToInterfaceTypeStatus.js +5 -0
  40. package/build/esm/api/interface/mapSimplifiedStatusToInterfaceTypeStatus.js.map +1 -1
  41. package/build/esm/api/links/LinkType.js.map +1 -1
  42. package/build/esm/api/object/ObjectTypeStatus.js.map +1 -1
  43. package/build/esm/api/test/actions.test.js +8 -5
  44. package/build/esm/api/test/actions.test.js.map +1 -1
  45. package/build/esm/api/test/interfaces.test.js +12 -0
  46. package/build/esm/api/test/interfaces.test.js.map +1 -1
  47. package/build/esm/api/test/misc.test.js +4 -2
  48. package/build/esm/api/test/misc.test.js.map +1 -1
  49. package/build/esm/api/test/objects.test.js +3 -2
  50. package/build/esm/api/test/objects.test.js.map +1 -1
  51. package/build/esm/api/test/valueTypes.test.js +151 -0
  52. package/build/esm/api/test/valueTypes.test.js.map +1 -1
  53. package/build/esm/cli/main.js +1 -1
  54. package/build/esm/conversion/toMarketplace/convertActionParameterConditionalOverride.js +15 -7
  55. package/build/esm/conversion/toMarketplace/convertActionParameterConditionalOverride.js.map +1 -1
  56. package/build/esm/conversion/toMarketplace/convertLink.js +30 -4
  57. package/build/esm/conversion/toMarketplace/convertLink.js.map +1 -1
  58. package/build/esm/conversion/toMarketplace/convertObject.js +6 -5
  59. package/build/esm/conversion/toMarketplace/convertObject.js.map +1 -1
  60. package/build/types/api/action/ActionParameterConditionalOverride.d.ts +2 -0
  61. package/build/types/api/action/ActionParameterConditionalOverride.d.ts.map +1 -1
  62. package/build/types/api/defineInterface.d.ts +2 -0
  63. package/build/types/api/defineInterface.d.ts.map +1 -1
  64. package/build/types/api/defineOntology.d.ts.map +1 -1
  65. package/build/types/api/defineValueType.d.ts +10 -0
  66. package/build/types/api/defineValueType.d.ts.map +1 -1
  67. package/build/types/api/links/LinkType.d.ts +16 -4
  68. package/build/types/api/links/LinkType.d.ts.map +1 -1
  69. package/build/types/api/object/ObjectTypeStatus.d.ts +1 -1
  70. package/build/types/api/object/ObjectTypeStatus.d.ts.map +1 -1
  71. package/build/types/conversion/toMarketplace/convertLink.d.ts +3 -2
  72. package/build/types/conversion/toMarketplace/convertLink.d.ts.map +1 -1
  73. package/build/types/conversion/toMarketplace/convertObject.d.ts.map +1 -1
  74. package/package.json +4 -4
@@ -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","DELETE_OBJECT_PARAMETER","MODIFY_INTERFACE_OBJECT_PARAMETER","MODIFY_OBJECT_PARAMETER","defineCreateInterfaceObjectAction","defineCreateObjectAction","defineCreateOrModifyObjectAction","defineDeleteInterfaceObjectAction","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","interfacePropertyValues","exampleStructPropertyType","structDefinition","simpleProperty","mySpt","exampleInterface","icon","color","locator","property1","property2","exampleObjectType","titlePropertyApiName","pluralDisplayName","primaryKeyPropertyApiName","implementsInterfaces","implements","propertyMapping","interfaceProperty","mapsTo","interfaceType","objectType","spt1","spt2","useNonNamespacedParameters","conflictingParameterOverrides","parameterConfiguration","nonNameSpacedApiName","conditionalOverrides","condition","conditions","name","matches","staticValue","string","defaultValue","description","parameterOrdering","actionLevelValidation","renderHint","textArea","excludedProperties","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","listLength","min","max","defaultVisibility","interfaceTypes","managerObject","editsEnabled","objectReference","objectTypeId","objectParameterPropertyValue","propertyTypeId","comparison","operator","left","userProperty","userId","currentUser","propertyValue","organizationMarkingIds","right","stringList","strings","objectWithArrays","array","fromGroups","parameter"],"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 DELETE_OBJECT_PARAMETER,\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 { defineDeleteInterfaceObjectAction } from \"../defineDeleteInterfaceObjectAction.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 interfacePropertyValues: {},\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 \"interfacePropertyValues\": {},\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: { type: \"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: \"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 \"interfacePropertyValues\": {\n \"com.palantir.mySpt\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.mySpt\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.mySpt\": {\n \"parameterId\": \"com.palantir.mySpt\",\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 \"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 \"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 },\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 \"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 \"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 \"property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Property1\",\n \"typeClasses\": [],\n },\n \"id\": \"property1\",\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.modify-example-interface-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.mySpt\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.mySpt\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {\n \"com.palantir.mySpt\": {\n \"parameterId\": \"com.palantir.mySpt\",\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 \"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 \"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 },\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 \"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 \"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 \"property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Property1\",\n \"typeClasses\": [],\n },\n \"id\": \"property1\",\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 \"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.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 \"com.palantir.mySpt\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"com.palantir.property2\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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 \"aliases\": [],\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.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(\"Interface actions with non-namespaced parameter overrides are properly defined\", () => {\n const spt1 = defineSharedPropertyType({\n apiName: \"spt1\",\n displayName: \"spt\",\n type: \"string\",\n });\n\n const spt2 = defineSharedPropertyType({\n apiName: \"spt2\",\n displayName: \"spt\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n spt1,\n spt2,\n },\n });\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n useNonNamespacedParameters: true,\n });\n const createActionWithOverrides = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"create-with-overrides\",\n useNonNamespacedParameters: true,\n conflictingParameterOverrides: { [spt2.apiName]: \"overridden\" },\n parameterConfiguration: {\n [spt1.nonNameSpacedApiName]: {\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: \"overridden\",\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 parameterOrdering: [\"overridden\", spt1.nonNameSpacedApiName],\n });\n\n const modifyAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n useNonNamespacedParameters: true,\n });\n const modifyActionWithOverrides = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"modify-with-overrides\",\n useNonNamespacedParameters: true,\n conflictingParameterOverrides: { [spt2.apiName]: \"overridden\" },\n parameterConfiguration: {\n [spt1.nonNameSpacedApiName]: {\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: \"overridden\",\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 parameterOrdering: [\"overridden\", spt1.nonNameSpacedApiName],\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 \"interfacePropertyValues\": {\n \"com.palantir.spt1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.spt2\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt2\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.spt1\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.spt2\": {\n \"parameterId\": \"spt2\",\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 \"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 \"spt1\": {\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 \"spt2\": {\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-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 \"spt1\",\n \"spt2\",\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 \"spt1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"spt1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"spt2\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"spt2\",\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-with-overrides\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfacePropertyValues\": {\n \"com.palantir.spt1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.spt2\": {\n \"logicRuleValue\": {\n \"parameterId\": \"overridden\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.spt1\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.spt2\": {\n \"parameterId\": \"overridden\",\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 \"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 \"overridden\": {\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 \"spt1\": {\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\": \"overridden\",\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 },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-with-overrides\",\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 \"overridden\",\n \"spt1\",\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 \"overridden\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"overridden\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"spt1\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"spt1\",\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.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.spt1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.spt2\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt2\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {\n \"com.palantir.spt1\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.spt2\": {\n \"parameterId\": \"spt2\",\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 \"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 \"spt1\": {\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 \"spt2\": {\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.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 \"spt1\",\n \"spt2\",\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 \"spt1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"spt1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"spt2\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"spt2\",\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.modify-with-overrides\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.spt1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.spt2\": {\n \"logicRuleValue\": {\n \"parameterId\": \"overridden\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {\n \"com.palantir.spt1\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.spt2\": {\n \"parameterId\": \"overridden\",\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 \"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 \"overridden\": {\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 \"spt1\": {\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\": \"overridden\",\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 },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-with-overrides\",\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 \"overridden\",\n \"spt1\",\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 \"overridden\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"overridden\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"spt1\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"spt1\",\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 \"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.spt1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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.spt2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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 \"com.palantir.spt1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"com.palantir.spt2\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.spt1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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.spt2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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(\"Simple interface actions (without object types) are properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: { type: \"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 \"interfacePropertyValues\": {\n \"property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\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 \"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 \"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 },\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 \"property1\",\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 \"property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Property1\",\n \"typeClasses\": [],\n },\n \"id\": \"property1\",\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.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {},\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 \"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 },\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 \"property1\",\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 \"property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Property1\",\n \"typeClasses\": [],\n },\n \"id\": \"property1\",\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 \"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 \"propertiesV3\": {\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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 delete action is properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: { type: \"string\" },\n },\n });\n const deleteAction = defineDeleteInterfaceObjectAction({\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.delete-interface-object-example-interface\": {\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 \"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.delete-interface-object-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\": \"Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\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 \"propertiesV3\": {\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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(\"Interface delete action with customizations is properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: { type: \"string\" },\n },\n });\n const deleteAction = defineDeleteInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"custom-delete-api-name\",\n displayName: \"Custom Delete Action\",\n status: \"experimental\",\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-delete-api-name\": {\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 \"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-delete-api-name\",\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 Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\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 \"propertiesV3\": {\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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(\"Interface delete action with action level validation is properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: { type: \"string\" },\n },\n });\n const deleteAction = defineDeleteInterfaceObjectAction({\n interfaceType: exampleInterface,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"deleteValidationGroup\",\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.delete-interface-object-example-interface\": {\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 \"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.delete-interface-object-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\": \"Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\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 \"propertiesV3\": {\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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(\"Interface actions with customizations are properly defined\", () => {\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1,\n \"property2\": { type: \"string\" },\n \"property3\": { type: \"string\" },\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\": {\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 renderHint: {\n type: \"textArea\",\n textArea: {},\n },\n },\n },\n excludedProperties: [\"property2\"],\n parameterOrdering: [property1.apiName, \"property3\"],\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\": {\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\"],\n parameterOrdering: [property1.apiName, \"property3\"],\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 \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"property3\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property3\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"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 \"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 \"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 \"textArea\": {},\n \"type\": \"textArea\",\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.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 \"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 \"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 \"property3\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"property3\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\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 \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"property3\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property3\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"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 \"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 \"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 },\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 \"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 \"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 \"property3\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"property3\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\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 },\n \"propertiesV3\": {\n \"com.palantir.property1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"property2\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property2\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n \"property3\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property3\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property3\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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 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 \"propertiesV3\": {\n \"id\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"displayName\": \"Id\",\n \"apiName\": \"com.palantir.core.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 interfaceApiName: \"com.palantir.other.ontology.event.Event\",\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 interfacePropertyValues: {},\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 interfaceApiName: \"com.palantir.other.ontology.event.Event\",\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 interfacePropertyValues: {},\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.apiName]: {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).not.toThrow();\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n parameterConfiguration: {\n [property1.apiName]: {\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 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 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 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 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.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 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 \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"interfaceApiName\": \"com.palantir.sampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"com.palantir.property1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\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 \"aliases\": [],\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 renderHint: {\n type: \"textArea\",\n textArea: {},\n },\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 \"textArea\": {},\n \"type\": \"textArea\",\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 \"aliases\": [],\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 \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.property2\": {\n \"logicRuleValue\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\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 \"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 \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.property2\": {\n \"logicRuleValue\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {},\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 \"com.palantir.property1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"com.palantir.property2\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\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 \"aliases\": [],\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 defineDeleteObjectAction({\n objectType: employeeObject,\n parameterConfiguration: {\n [DELETE_OBJECT_PARAMETER]: {\n displayName: \"Chose managers to delete\",\n description: \"Description\",\n required: {\n listLength: {\n min: 1,\n max: 5,\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 defineDeleteInterfaceObjectAction({\n interfaceType: exampleInterface,\n parameterConfiguration: {\n [DELETE_OBJECT_PARAMETER]: {\n displayName: \"Chose managers to delete\",\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 \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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.delete-interface-object-example-interface\": {\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 \"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.delete-interface-object-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\": \"Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\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.delete-object-employee\": {\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 \"listLengthValidation\": {\n \"maxLength\": 5,\n \"minLength\": 1,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.delete-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\": \"Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Chose managers to delete\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\n \"type\": {\n \"objectReferenceList\": {\n \"objectTypeId\": \"com.palantir.employee\",\n },\n \"type\": \"objectReferenceList\",\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 \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"com.palantir.property1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\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 \"aliases\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 \"reducers\": [],\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 \"reducers\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 it(\"Group and user parameters 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: \"string\" },\n \"fizzbuzz\": { type: \"string\" },\n },\n });\n\n const createObjectActionType = defineCreateObjectAction(\n {\n objectType: exampleObjectType,\n parameterConfiguration: {\n \"bar\": {\n allowedValues: {\n type: \"multipassGroup\",\n },\n },\n \"fizz\": {\n allowedValues: {\n type: \"user\",\n fromGroups: [{\n type: \"parameter\",\n parameter: \"bar\",\n }],\n },\n },\n \"buzz\": {\n allowedValues: {\n type: \"user\",\n },\n },\n \"fizzbuzz\": {\n allowedValues: {\n type: \"user\",\n fromGroups: [\n {\n type: \"static\",\n name: \"inputGroup\",\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-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 \"parameterId\": \"buzz\",\n \"type\": \"parameterId\",\n },\n \"fizz\": {\n \"parameterId\": \"fizz\",\n \"type\": \"parameterId\",\n },\n \"fizzbuzz\": {\n \"parameterId\": \"fizzbuzz\",\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 \"type\": \"userDropdown\",\n \"userDropdown\": {},\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"multipassGroup\": {\n \"group\": {},\n \"type\": \"group\",\n },\n \"type\": \"multipassGroup\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"buzz\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"type\": \"userDropdown\",\n \"userDropdown\": {},\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"type\": \"user\",\n \"user\": {\n \"type\": \"user\",\n \"user\": {\n \"filter\": [],\n },\n },\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizz\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"type\": \"userDropdown\",\n \"userDropdown\": {},\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"type\": \"user\",\n \"user\": {\n \"type\": \"user\",\n \"user\": {\n \"filter\": [\n {\n \"groupFilter\": {\n \"groupId\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n },\n \"type\": \"groupFilter\",\n },\n ],\n },\n },\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizzbuzz\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"type\": \"userDropdown\",\n \"userDropdown\": {},\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"type\": \"user\",\n \"user\": {\n \"type\": \"user\",\n \"user\": {\n \"filter\": [\n {\n \"groupFilter\": {\n \"groupId\": {\n \"staticValue\": {\n \"string\": \"inputGroup\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"groupFilter\",\n },\n ],\n },\n },\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 \"fizz\",\n \"buzz\",\n \"fizzbuzz\",\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 \"buzz\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Buzz\",\n \"typeClasses\": [],\n },\n \"id\": \"buzz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizz\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Fizz\",\n \"typeClasses\": [],\n },\n \"id\": \"fizz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizzbuzz\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Fizzbuzz\",\n \"typeClasses\": [],\n },\n \"id\": \"fizzbuzz\",\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 \"buzz\": {\n \"column\": \"buzz\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n \"fizzbuzz\": {\n \"column\": \"fizzbuzz\",\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 \"aliases\": [],\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 \"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 \"fizzbuzz\": {\n \"apiName\": \"fizzbuzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizzbuzz\",\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});\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,uBAAuB,CACvBC,iCAAiC,CACjCC,uBAAuB,KAClB,oBAAoB,CAC3B,OAASC,iCAAiC,KAAQ,yCAAyC,CAC3F,OAASC,wBAAwB,KAAQ,gCAAgC,CACzE,OAASC,gCAAgC,KAAQ,wCAAwC,CACzF,OAASC,iCAAiC,KAAQ,yCAAyC,CAC3F,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,CAIjEtB,QAAQ,CAAC,cAAc,CAAE,IAAM,CAC7BD,UAAU,CAAC,SAAY,CACrB,KAAM,CAAAoB,cAAc,CAAC,eAAe,CAAE,IAAM,CAAC,CAAC,CAAE,OAAO,CAAC,CAC1D,CAAC,CAAC,CACFjB,EAAE,CAAC,uCAAuC,CAAE,IAAM,CAC1BI,YAAY,CAAC,CACjCiB,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,CAEF1B,MAAM,CAACmB,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,CAEFtC,QAAQ,CAAC,mBAAmB,CAAE,IAAM,CAClCE,EAAE,CAAC,wCAAwC,CAAE,IAAM,CACrCa,eAAe,CAAC,CAC1BQ,OAAO,CAAE,KAAK,CACdC,WAAW,CAAE,KAAK,CAClBe,UAAU,CAAE,CAAC,CACf,CAAC,CAAC,CACoBjC,YAAY,CAAC,CACjCiB,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,CAAC,CACxBC,uBAAuB,CAAE,CAAC,CAC5B,CACF,CAAC,CAAC,CACFX,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,CAEF1B,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,mEAAmE,CAAE,IAAM,CAC5E,KAAM,CAAA2C,yBAAyB,CAAGxB,wBAAwB,CAAC,CACzDE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,CACJA,IAAI,CAAE,QAAQ,CACdmB,gBAAgB,CAAE,CAChBC,cAAc,CAAE,QAClB,CACF,CACF,CAAC,CAAC,CACF,KAAM,CAAAC,KAAK,CAAG3B,wBAAwB,CAAC,CACrCE,OAAO,CAAE,OAAO,CAChBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAsB,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3B2B,IAAI,CAAE,CAAEC,KAAK,CAAE,WAAW,CAAEC,OAAO,CAAE,OAAQ,CAAC,CAC9Cb,UAAU,CAAE,CACVS,KAAK,CACLK,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAAC,CAC7B2B,SAAS,CAAET,yBACb,CACF,CAAC,CAAC,CAEF,KAAM,CAAAU,iBAAiB,CAAGrC,YAAY,CAAC,CACrCsC,oBAAoB,CAAE,KAAK,CAC3BhC,WAAW,CAAE,mBAAmB,CAChCiC,iBAAiB,CAAE,oBAAoB,CACvClC,OAAO,CAAE,KAAK,CACdmC,yBAAyB,CAAE,KAAK,CAChCnB,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,CACdmB,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,WAAW,CAC9BC,MAAM,CAAE,WACV,CAAC,CACD,CACED,iBAAiB,CAAE,wBAAwB,CAC3CC,MAAM,CAAE,WACV,CAAC,CAEL,CAAC,CACH,CAAC,CAAC,CAEiCrD,iCAAiC,CAAC,CACnEsD,aAAa,CAAEf,gBAAgB,CAC/BgB,UAAU,CAAEV,iBACd,CAAC,CAAC,CAEmBvC,iCAAiC,CAAC,CACrDgD,aAAa,CAAEf,gBAAgB,CAC/BgB,UAAU,CAAEV,iBACd,CAAC,CAAC,CAEFtD,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,gFAAgF,CAAE,IAAM,CACzF,KAAM,CAAAgE,IAAI,CAAG7C,wBAAwB,CAAC,CACpCE,OAAO,CAAE,MAAM,CACfC,WAAW,CAAE,KAAK,CAClBG,IAAI,CAAE,QACR,CAAC,CAAC,CAEF,KAAM,CAAAwC,IAAI,CAAG9C,wBAAwB,CAAC,CACpCE,OAAO,CAAE,MAAM,CACfC,WAAW,CAAE,KAAK,CAClBG,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAsB,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACV2B,IAAI,CACJC,IACF,CACF,CAAC,CAAC,CACmBzD,iCAAiC,CAAC,CACrDsD,aAAa,CAAEf,gBAAgB,CAC/BmB,0BAA0B,CAAE,IAC9B,CAAC,CAAC,CACgC1D,iCAAiC,CAAC,CAClEsD,aAAa,CAAEf,gBAAgB,CAC/B1B,OAAO,CAAE,uBAAuB,CAChC6C,0BAA0B,CAAE,IAAI,CAChCC,6BAA6B,CAAE,CAAE,CAACF,IAAI,CAAC5C,OAAO,EAAG,YAAa,CAAC,CAC/D+C,sBAAsB,CAAE,CACtB,CAACJ,IAAI,CAACK,oBAAoB,EAAG,CAC3BnC,QAAQ,CAAE,KAAK,CACfoC,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,UAAU,CAChB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,KAAK,CACX+C,UAAU,CAAE,CACV,CACE/C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,qBACR,CAAC,CACD,CACEhD,IAAI,CAAE,WAAW,CACjBI,WAAW,CAAE,YAAY,CACzB6C,OAAO,CAAE,CACPjD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,KACV,CACF,CACF,CAAC,CAEL,CACF,CAAC,CACF,CACDC,YAAY,CAAE,CACZpD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,cACV,CACF,CAAC,CACDtD,WAAW,CAAE,cAAc,CAC3BwD,WAAW,CAAE,kBACf,CACF,CAAC,CACDC,iBAAiB,CAAE,CAAC,YAAY,CAAEf,IAAI,CAACK,oBAAoB,CAC7D,CAAC,CAAC,CAEmBvD,iCAAiC,CAAC,CACrDgD,aAAa,CAAEf,gBAAgB,CAC/BmB,0BAA0B,CAAE,IAC9B,CAAC,CAAC,CACgCpD,iCAAiC,CAAC,CAClEgD,aAAa,CAAEf,gBAAgB,CAC/B1B,OAAO,CAAE,uBAAuB,CAChC6C,0BAA0B,CAAE,IAAI,CAChCC,6BAA6B,CAAE,CAAE,CAACF,IAAI,CAAC5C,OAAO,EAAG,YAAa,CAAC,CAC/D+C,sBAAsB,CAAE,CACtB,CAACJ,IAAI,CAACK,oBAAoB,EAAG,CAC3BnC,QAAQ,CAAE,KAAK,CACfoC,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,UAAU,CAChB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,KAAK,CACX+C,UAAU,CAAE,CACV,CACE/C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,qBACR,CAAC,CACD,CACEhD,IAAI,CAAE,WAAW,CACjBI,WAAW,CAAE,YAAY,CACzB6C,OAAO,CAAE,CACPjD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,KACV,CACF,CACF,CAAC,CAEL,CACF,CAAC,CACF,CACDC,YAAY,CAAE,CACZpD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,cACV,CACF,CAAC,CACDtD,WAAW,CAAE,cAAc,CAC3BwD,WAAW,CAAE,kBACf,CACF,CAAC,CACDC,iBAAiB,CAAE,CAAC,YAAY,CAAEf,IAAI,CAACK,oBAAoB,CAC7D,CAAC,CAAC,CAEFtE,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sEAAsE,CAAE,IAAM,CAC/E,KAAM,CAAA+C,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAC9B,CACF,CAAC,CAAC,CACmBjB,iCAAiC,CAAC,CACrDsD,aAAa,CAAEf,gBACjB,CAAC,CAAC,CACmBjC,iCAAiC,CAAC,CACrDgD,aAAa,CAAEf,gBACjB,CAAC,CAAC,CAEFhD,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,oDAAoD,CAAE,IAAM,CAC7D,KAAM,CAAA+C,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAC9B,CACF,CAAC,CAAC,CACmBd,iCAAiC,CAAC,CACrDmD,aAAa,CAAEf,gBACjB,CAAC,CAAC,CAEFhD,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,iEAAiE,CAAE,IAAM,CAC1E,KAAM,CAAA+C,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAC9B,CACF,CAAC,CAAC,CACmBd,iCAAiC,CAAC,CACrDmD,aAAa,CAAEf,gBAAgB,CAC/B1B,OAAO,CAAE,wBAAwB,CACjCC,WAAW,CAAE,sBAAsB,CACnCC,MAAM,CAAE,cACV,CAAC,CAAC,CAEFxB,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,0EAA0E,CAAE,IAAM,CACnF,KAAM,CAAA+C,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAC9B,CACF,CAAC,CAAC,CACmBd,iCAAiC,CAAC,CACrDmD,aAAa,CAAEf,gBAAgB,CAC/BiC,qBAAqB,CAAE,CAAC,CACtBT,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,uBACR,CACF,CAAC,CACH,CAAC,CAAC,CAEF1E,MAAM,CAACmB,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;A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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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,0CAA0C,CAAE,IAAM,CACnD,KAAM,CAAAkG,GAAG,CAAG/E,wBAAwB,CAAC,CACnCE,OAAO,CAAE,KAAK,CACdI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAA0E,iBAAgC,CAAG,CACvC,SAAS,CAAE,yCAAyC,CACpD,iBAAiB,CAAE,CACjB,aAAa,CAAE,OAAO,CACtB,aAAa,CAAE,OAAO,CACtB,MAAM,CAAE,CACN,MAAM,CAAE,WAAW,CACnB,WAAW,CAAE,CACX,OAAO,CAAE,SAAS,CAClB,SAAS,CAAE,iBACb,CACF,CACF,CAAC,CACD,mBAAmB,CAAE,EAAE,CACvB,OAAO,CAAE,EAAE,CACX,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B,CAC1BgB,UAAU,CAAE,CACVc,SACF,CACF,CAAC,CAAC,CACmB3C,iCAAiC,CAAC,CACrDsD,aAAa,CAAEkD,eAAe,CAC9BG,QAAQ,CAAE,CACR,CACEnF,EAAE,CAAE,UAAU,CACdV,WAAW,CAAE,WAAW,CACxBS,UAAU,CAAE,CAACoB,SAAS,CAAC9B,OAAO,CAAC,CAC/ByD,WAAW,CAAE,2BAA2B,CACxCR,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,WACR,CACF,CAAC,CAEL,CAAC,CAEL,CAAC,CAAC,CACmB3D,iCAAiC,CAAC,CACrDgD,aAAa,CAAEkD,eAAe,CAC9BG,QAAQ,CAAE,CACR,CACEnF,EAAE,CAAE,UAAU,CACdV,WAAW,CAAE,WAAW,CACxBS,UAAU,CAAE,CAACoB,SAAS,CAAC9B,OAAO,CAAC,CAC/ByD,WAAW,CAAE,2BAA2B,CACxCR,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,WACR,CACF,CAAC,CAEL,CAAC,CAEL,CAAC,CAAC,CACF1E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CACJ,CAAC,CAAC,CAEFtC,QAAQ,CAAC,gBAAgB,CAAE,IAAM,CAC/BE,EAAE,CAAC,8CAA8C,CAAE,IAAM,CACvD,KAAM,CAAAqD,iBAAiB,CAAGrC,YAAY,CAAC,CACrCsC,oBAAoB,CAAE,KAAK,CAC3BhC,WAAW,CAAE,mBAAmB,CAChCiC,iBAAiB,CAAE,oBAAoB,CACvClC,OAAO,CAAE,KAAK,CACdmC,yBAAyB,CAAE,KAAK,CAChCnB,UAAU,CAAE,CACV,KAAK,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CACzB,YAAY,CAAE,CACZA,IAAI,CAAE,CACJA,IAAI,CAAE,QAAQ,CACdmB,gBAAgB,CAAE,CAAEC,cAAc,CAAE,QAAS,CAC/C,CACF,CAAC,CACD,cAAc,CAAE,CAAEpB,IAAI,CAAE,QAAS,CACnC,CACF,CAAC,CAAC,CAE6BhB,wBAAwB,CACrD,CACEsD,UAAU,CAAEV,iBACd,CACF,CAAC,CAC8BtC,wBAAwB,CACrD,CACEgD,UAAU,CAAEV,iBACd,CACF,CAAC,CAC8BzC,wBAAwB,CACrD,CACEmD,UAAU,CAAEV,iBACd,CACF,CAAC,CACsC3C,gCAAgC,CACrE,CACEqD,UAAU,CAAEV,iBACd,CACF,CAAC,CAEDtD,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CA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,CACEhD,IAAI,CAAE,WAAW,CACjBI,WAAW,CAAE,KAAK,CAClB6C,OAAO,CAAE,CACPjD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,KACV,CACF,CACF,CAAC,CAEL,CACF,CAAC,CACF,CACDC,YAAY,CAAE,CACZpD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,cACV,CACF,CAAC,CACDtD,WAAW,CAAE,cAAc,CAC3BwD,WAAW,CAAE,kBACf,CACF,CAAC,CACDK,kBAAkB,CAAE,CAAC,MAAM,CAAC,CAC5BE,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,CAEDxH,MAAM,CAACmB,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;AACA,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sDAAsD,CAAE,IAAM,CAC/D,KAAM,CAAAqD,iBAAiB,CAAGrC,YAAY,CAAC,CACrCsC,oBAAoB,CAAE,KAAK,CAC3BhC,WAAW,CAAE,mBAAmB,CAChCiC,iBAAiB,CAAE,oBAAoB,CACvClC,OAAO,CAAE,KAAK,CACdmC,yBAAyB,CAAE,KAAK,CAChCnB,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,CAE6BhB,wBAAwB,CACrD,CACEsD,UAAU,CAAEV,iBAAiB,CAC7B6D,oBAAoB,CAAE,CACpB,MAAM,CAAE,CACNzF,IAAI,CAAE,aACR,CAAC,CACD,MAAM,CAAE,CACNA,IAAI,CAAE,aACR,CACF,CACF,CACF,CAAC,CAC8BV,wBAAwB,CACrD,CACEgD,UAAU,CAAEV,iBAAiB,CAC7B6D,oBAAoB,CAAE,CACpB,MAAM,CAAE,CACNzF,IAAI,CAAE,aACR,CAAC,CACD,MAAM,CAAE,CACNA,IAAI,CAAE,aACR,CACF,CACF,CACF,CAAC,CACsCf,gCAAgC,CACrE,CACEqD,UAAU,CAAEV,iBAAiB,CAC7B6D,oBAAoB,CAAE,CACpB,MAAM,CAAE,CACNzF,IAAI,CAAE,aACR,CAAC,CACD,MAAM,CAAE,CACNA,IAAI,CAAE,aACR,CACF,CACF,CACF,CAAC,CAED,KAAM,CAAA0B,SAAS,CAAGhC,wBAAwB,CAAC,CACzCE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAA2B,SAAS,CAAGjC,wBAAwB,CAAC,CACzCE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAsB,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CACTC,SACF,CACF,CAAC,CAAC,CACkC5C,iCAAiC,CAAC,CACpEsD,aAAa,CAAEf,gBAAgB,CAC/BmE,oBAAoB,CAAE,CACpB,CAAC/D,SAAS,CAAC9B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CAAC,CACD,CAAC2B,SAAS,CAAC/B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CACF,CACF,CAAC,CAAC,CACkCX,iCAAiC,CAAC,CACpEgD,aAAa,CAAEf,gBAAgB,CAC/BmE,oBAAoB,CAAE,CACpB,CAAC/D,SAAS,CAAC9B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CAAC,CACD,CAAC2B,SAAS,CAAC/B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CACF,CACF,CAAC,CAAC,CACF1B,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,mFAAmF,CAAE,IAAM,CAC5F,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM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CvCwD,WAAW,CAAE,aAAa,CAC1BR,oBAAoB,CAAE,CAAC,CACrB7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,aACR,CACF,CAAC,CACH,CACF,CACF,CAAC,CAAC,CAEF1E,MAAM,CAACmB,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,CAEFpC,EAAE,CAAC,uDAAuD,CAAE,IAAM,CAC1CI,YAAY,CAAC,CACjCiB,OAAO,CAAE,KAAK,CACdC,WAAW,CAAE,eAAe,CAC5BC,MAAM,CAAE,QAAQ,CAChBC,KAAK,CAAE,CAAC,CACNC,IAAI,CAAE,kBAAkB,CACxBkG,gBAAgB,CAAE,CAChBhG,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,CAClCuG,iBAAiB,CAAE,UAAU,CAC7B1D,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,SACR,CACF,CAAC,CAEL,CACF,CAAC,CAAE,CACDzC,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,CAAEwG,cAAc,CAAE,EAAG,CAAC,CAClED,iBAAiB,CAAE,UACrB,CACF,CAAC,CACH,CAAC,CAAC,CAEFjI,MAAM,CAACmB,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,CAEFpC,EAAE,CAAC,kEAAkE,CAAE,IAAM,CAC3E;AACA;AACA;AACA;AACA,KAAM,CAAA4H,cAAc,CAAG5G,YAAY,CAAC,CAClCK,OAAO,CAAE,UAAU,CACnBC,WAAW,CAAE,UAAU,CACvBiC,iBAAiB,CAAE,WAAW,CAC9BD,oBAAoB,CAAE,IAAI,CAC1BE,yBAAyB,CAAE,IAAI,CAC/BnB,UAAU,CAAE,CACV,IAAI,CAAE,CAAEZ,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,IAAI,CAAEwD,WAAW,CAAE,OAAQ,CAAC,CACjE,WAAW,CAAE,CAAErD,IAAI,CAAE,QAAS,CAChC,CACF,CAAC,CAAC,CAEF,KAAM,CAAAyG,aAAa,CAAGlH,YAAY,CAAC,CACjCK,OAAO,CAAE,SAAS,CAClBC,WAAW,CAAE,SAAS,CACtBiC,iBAAiB,CAAE,UAAU,CAC7BD,oBAAoB,CAAE,IAAI,CAC1BE,yBAAyB,CAAE,IAAI,CAC/BnB,UAAU,CAAE,CACV,IAAI,CAAE,CAAEZ,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,IAAI,CAAEwD,WAAW,CAAE,OAAQ,CAClE,CAAC,CACDqD,YAAY,CAAE,IAChB,CAAC,CAAC,CAEF1H,wBAAwB,CAAC,CACvBsD,UAAU,CAAE6D,cAAc,CAC1B7C,iBAAiB,CAAE,CAAC,WAAW,CAAE,IAAI,CAAE,WAAW,CAAC,CACnDX,sBAAsB,CAAE,CACtB,WAAW,CAAE,CACX6C,mBAAmB,CAAE,CACnBxF,IAAI,CAAE,iBAAiB,CACvB2G,eAAe,CAAE,CACfC,YAAY,CAAEH,aAAa,CAAC7G,OAC9B,CACF,CACF,CAAC,CACD,WAAW,CAAE,CACXwD,YAAY,CAAE,CACZpD,IAAI,CAAE,8BAA8B,CACpC6G,4BAA4B,CAAE,CAC5BzG,WAAW,CAAE,WAAW,CACxB0G,cAAc,CAAE,IAClB,CACF,CACF,CACF,CACF,CAAC,CAAC,CAEFxI,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,qDAAqD,CAAE,IAAM,CAC9D,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CACNZ,IAAI,CAAE,QAAQ,CACdqD,WAAW,CAAE,6BACf,CAAC,CACD,IAAI,CAAE,CACJrD,IAAI,CAAE,QAAQ,CACdH,WAAW,CAAE,IAAI,CACjBwD,WAAW,CAAE,2BACf,CACF,CACF,CAAC,CAAC,CACmBrE,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBxC,qBAAqB,CAAE,CAAC,CACtBT,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,WACR,CACF,CAAC,CACH,CAAC,CAAC,CAEF1E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sDAAsD,CAAE,IAAM,CAC/D,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CACNZ,IAAI,CAAE,QAAQ,CACdqD,WAAW,CAAE,6BACf,CAAC,CACD,IAAI,CAAE,CACJrD,IAAI,CAAE,QAAQ,CACdH,WAAW,CAAE,IAAI,CACjBwD,WAAW,CAAE,2BACf,CACF,CACF,CAAC,CAAC,CACmBrE,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBxC,qBAAqB,CAAE,CAAC,CACtBoC,eAAe,CAAE,CACfC,cAAc,CACZ,qFAAqF,CACvFC,WAAW,CAAE,EACf,CAAC,CACD/C,SAAS,CAAE,CACT9C,IAAI,CAAE,YAAY,CAClB+G,UAAU,CAAE,CACVC,QAAQ,CAAE,YAAY,CACtBC,IAAI,CAAE,CACJjH,IAAI,CAAE,cAAc,CACpBkH,YAAY,CAAE,CACZC,MAAM,CAAE,CACNnH,IAAI,CAAE,aAAa,CACnBoH,WAAW,CAAE,CAAC,CAChB,CAAC,CACDC,aAAa,CAAE,CACbrH,IAAI,CAAE,wBAAwB,CAC9BsH,sBAAsB,CAAE,CAAC,CAC3B,CACF,CACF,CAAC,CACDC,KAAK,CAAE,CACLvH,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,YAAY,CAClBwH,UAAU,CAAE,CACVC,OAAO,CAAE,CACP,sCAAsC,CAE1C,CACF,CACF,CACF,CACF,CACF,CAAC,CACH,CAAC,CAAC,CAEFnJ,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,+DAA+D,CAAE,IAAM,CACxE,KAAM,CAAAmJ,gBAAgB,CAAGnI,YAAY,CAAC,CACpCK,OAAO,CAAE,kBAAkB,CAC3BC,WAAW,CAAE,oBAAoB,CACjCkC,yBAAyB,CAAE,IAAI,CAC/BF,oBAAoB,CAAE,IAAI,CAC1BC,iBAAiB,CAAE,qBAAqB,CACxClB,UAAU,CAAE,CACV,IAAI,CAAE,CAAEZ,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,IAAK,CAAC,CAC3C,MAAM,CAAE,CAAEG,IAAI,CAAE,QAAQ,CAAE2H,KAAK,CAAE,IAAI,CAAE9H,WAAW,CAAE,MAAO,CAAC,CAC5D,SAAS,CAAE,CAAEG,IAAI,CAAE,SAAS,CAAE2H,KAAK,CAAE,IAAI,CAAE9H,WAAW,CAAE,SAAU,CAAC,CACnE,aAAa,CAAE,CAAEG,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,cAAe,CAC/D,CACF,CAAC,CAAC,CAEmBb,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEoF,gBACd,CAAC,CAAC,CACmBpI,wBAAwB,CAAC,CAC5CgD,UAAU,CAAEoF,gBACd,CAAC,CAAC,CAEFpJ,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sCAAsC,CAAE,IAAM,CAC/C,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CAC1B,IAAI,CAAE,CAAEA,IAAI,CAAE,QAAS,CACzB,CACF,CAAC,CAAC,CACmBhB,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBL,QAAQ,CAAE,CACR,CACEnF,EAAE,CAAE,UAAU,CACdV,WAAW,CAAE,WAAW,CACxBS,UAAU,CAAE,CAAC,IAAI,CAAC,CAClB+C,WAAW,CAAE,2BAA2B,CACxCR,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,WACR,CACF,CAAC,CAEL,CAAC,CAEL,CAAC,CAAC,CACF1E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sCAAsC,CAAE,IAAM,CAC/C,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CAC1B,IAAI,CAAE,CAAEA,IAAI,CAAE,QAAS,CACzB,CACF,CAAC,CAAC,CACF1B,MAAM,CAAC,IAAM,CACUU,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBL,QAAQ,CAAE,CACR,CACEnF,EAAE,CAAE,UAAU,CACdV,WAAW,CAAE,WAAW,CACxBS,UAAU,CAAE,CAAC,KAAK,CACpB,CAAC,CAEL,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4E,kCAAkC,CACnC,+EACF,CAAC,CACH,CAAC,CAAC,CAEF3G,EAAE,CAAC,+CAA+C,CAAE,IAAM,CACxD,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CAC1B,IAAI,CAAE,CAAEA,IAAI,CAAE,QAAS,CAAC,CACxB,KAAK,CAAE,CAAEA,IAAI,CAAE,QAAS,CAC1B,CACF,CAAC,CAAC,CACF1B,MAAM,CAAC,IAAM,CACaU,wBAAwB,CAAC,CAC/CsD,UAAU,CAAEyD,YAAY,CACxBzC,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CAAC,CAChCI,kBAAkB,CAAE,CAAC,IAAI,CAC3B,CAAC,CAAC,CACJ,CAAC,CAAC,CAACwB,kCAAkC,CACnC,0MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACagB,wBAAwB,CAAC,CAC/CgD,UAAU,CAAEyD,YAAY,CACxB;AACAzC,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,0MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACaW,gCAAgC,CAAC,CACvDqD,UAAU,CAAEyD,YAAY,CACxB;AACAzC,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,6MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACaU,wBAAwB,CAAC,CAC/CsD,UAAU,CAAEyD,YAAY,CACxBN,oBAAoB,CAAE,CACpB,KAAK,CAAE,CACLzF,IAAI,CAAE,aACR,CACF,CAAC,CACD;AACAsD,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,2MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACagB,wBAAwB,CAAC,CAC/CgD,UAAU,CAAEyD,YAAY,CACxBN,oBAAoB,CAAE,CACpB,KAAK,CAAE,CACLzF,IAAI,CAAE,aACR,CACF,CAAC,CACD;AACAsD,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,8MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACaW,gCAAgC,CAAC,CACvDqD,UAAU,CAAEyD,YAAY,CACxBN,oBAAoB,CAAE,CACpB,KAAK,CAAE,CACLzF,IAAI,CAAE,aACR,CACF,CAAC,CACD;AACAsD,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,iNACF,CAAC,CACoBlG,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBzC,iBAAiB,CAAE,CAAC,KAAK,CAAE,MAAM,CAAE,IAAI,CAAC,CACxCX,sBAAsB,CAAE,CACtB,MAAM,CAAE,CACNE,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,WAAW,CACjBI,WAAW,CAAE,KAAK,CAClB6C,OAAO,CAAE,CACPjD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,KACV,CACF,CACF,CACF,CAAC,CAEL,CACF,CACF,CAAC,CAAC,CACF7E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,gDAAgD,CAAE,IAAM,CACzD,KAAM,CAAAqD,iBAAiB,CAAGrC,YAAY,CAAC,CACrCsC,oBAAoB,CAAE,KAAK,CAC3BhC,WAAW,CAAE,mBAAmB,CAChCiC,iBAAiB,CAAE,oBAAoB,CACvClC,OAAO,CAAE,KAAK,CACdmC,yBAAyB,CAAE,KAAK,CAChCnB,UAAU,CAAE,CACV,KAAK,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CACzB,MAAM,CAAE,CAAEA,IAAI,CAAE,QAAS,CAAC,CAC1B,MAAM,CAAE,CAAEA,IAAI,CAAE,QAAS,CAAC,CAC1B,UAAU,CAAE,CAAEA,IAAI,CAAE,QAAS,CAC/B,CACF,CAAC,CAAC,CAE6BhB,wBAAwB,CACrD,CACEsD,UAAU,CAAEV,iBAAiB,CAC7Be,sBAAsB,CAAE,CACtB,KAAK,CAAE,CACLjC,aAAa,CAAE,CACbV,IAAI,CAAE,gBACR,CACF,CAAC,CACD,MAAM,CAAE,CACNU,aAAa,CAAE,CACbV,IAAI,CAAE,MAAM,CACZ4H,UAAU,CAAE,CAAC,CACX5H,IAAI,CAAE,WAAW,CACjB6H,SAAS,CAAE,KACb,CAAC,CACH,CACF,CAAC,CACD,MAAM,CAAE,CACNnH,aAAa,CAAE,CACbV,IAAI,CAAE,MACR,CACF,CAAC,CACD,UAAU,CAAE,CACVU,aAAa,CAAE,CACbV,IAAI,CAAE,MAAM,CACZ4H,UAAU,CAAE,CACV,CACE5H,IAAI,CAAE,QAAQ,CACdgD,IAAI,CAAE,YACR,CAAC,CAEL,CACF,CACF,CACF,CACF,CAAC,CACD1E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CACJ,CAAC,CAAC,CACJ,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","DELETE_OBJECT_PARAMETER","MODIFY_INTERFACE_OBJECT_PARAMETER","MODIFY_OBJECT_PARAMETER","defineCreateInterfaceObjectAction","defineCreateObjectAction","defineCreateOrModifyObjectAction","defineDeleteInterfaceObjectAction","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","interfacePropertyValues","exampleStructPropertyType","structDefinition","simpleProperty","mySpt","exampleInterface","icon","color","locator","property1","property2","exampleObjectType","titlePropertyApiName","pluralDisplayName","primaryKeyPropertyApiName","implementsInterfaces","implements","propertyMapping","interfaceProperty","mapsTo","interfaceType","objectType","spt1","spt2","useNonNamespacedParameters","conflictingParameterOverrides","parameterConfiguration","nonNameSpacedApiName","conditionalOverrides","condition","conditions","name","matches","staticValue","string","defaultValue","description","parameterOrdering","actionLevelValidation","renderHint","textArea","excludedProperties","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","listLength","min","max","defaultVisibility","interfaceTypes","managerObject","editsEnabled","objectReference","objectTypeId","objectParameterPropertyValue","propertyTypeId","comparison","operator","left","userProperty","userId","currentUser","propertyValue","organizationMarkingIds","right","stringList","strings","objectWithArrays","array","fromGroups","parameter"],"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 DELETE_OBJECT_PARAMETER,\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 { defineDeleteInterfaceObjectAction } from \"../defineDeleteInterfaceObjectAction.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 interfacePropertyValues: {},\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 \"interfacePropertyValues\": {},\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: { type: \"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: \"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 \"interfacePropertyValues\": {\n \"com.palantir.mySpt\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.mySpt\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.mySpt\": {\n \"parameterId\": \"com.palantir.mySpt\",\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 \"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 \"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 },\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 \"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 \"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 \"property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Property1\",\n \"typeClasses\": [],\n },\n \"id\": \"property1\",\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.modify-example-interface-foo\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.mySpt\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.mySpt\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {\n \"com.palantir.mySpt\": {\n \"parameterId\": \"com.palantir.mySpt\",\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 \"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 \"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 },\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 \"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 \"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 \"property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Property1\",\n \"typeClasses\": [],\n },\n \"id\": \"property1\",\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 \"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.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 \"com.palantir.mySpt\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"com.palantir.property2\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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 \"aliases\": [],\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 \"propertiesV2\": {\n \"com.palantir.mySpt\": {\n \"propertyTypeRid\": \"bar\",\n \"type\": \"propertyTypeRid\",\n },\n \"com.palantir.property2\": {\n \"propertyTypeRid\": \"property2\",\n \"type\": \"propertyTypeRid\",\n },\n \"property1\": {\n \"propertyTypeRid\": \"property1\",\n \"type\": \"propertyTypeRid\",\n },\n },\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.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(\"Interface actions with non-namespaced parameter overrides are properly defined\", () => {\n const spt1 = defineSharedPropertyType({\n apiName: \"spt1\",\n displayName: \"spt\",\n type: \"string\",\n });\n\n const spt2 = defineSharedPropertyType({\n apiName: \"spt2\",\n displayName: \"spt\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n spt1,\n spt2,\n },\n });\n const createAction = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n useNonNamespacedParameters: true,\n });\n const createActionWithOverrides = defineCreateInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"create-with-overrides\",\n useNonNamespacedParameters: true,\n conflictingParameterOverrides: { [spt2.apiName]: \"overridden\" },\n parameterConfiguration: {\n [spt1.nonNameSpacedApiName]: {\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: \"overridden\",\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 parameterOrdering: [\"overridden\", spt1.nonNameSpacedApiName],\n });\n\n const modifyAction = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n useNonNamespacedParameters: true,\n });\n const modifyActionWithOverrides = defineModifyInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"modify-with-overrides\",\n useNonNamespacedParameters: true,\n conflictingParameterOverrides: { [spt2.apiName]: \"overridden\" },\n parameterConfiguration: {\n [spt1.nonNameSpacedApiName]: {\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: \"overridden\",\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 parameterOrdering: [\"overridden\", spt1.nonNameSpacedApiName],\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 \"interfacePropertyValues\": {\n \"com.palantir.spt1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.spt2\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt2\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.spt1\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.spt2\": {\n \"parameterId\": \"spt2\",\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 \"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 \"spt1\": {\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 \"spt2\": {\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-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 \"spt1\",\n \"spt2\",\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 \"spt1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"spt1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"spt2\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"spt2\",\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-with-overrides\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"addInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfacePropertyValues\": {\n \"com.palantir.spt1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.spt2\": {\n \"logicRuleValue\": {\n \"parameterId\": \"overridden\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\n \"sharedPropertyValues\": {\n \"com.palantir.spt1\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.spt2\": {\n \"parameterId\": \"overridden\",\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 \"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 \"overridden\": {\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 \"spt1\": {\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\": \"overridden\",\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 },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.create-with-overrides\",\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 \"overridden\",\n \"spt1\",\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 \"overridden\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"overridden\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"spt1\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"spt1\",\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.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.spt1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.spt2\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt2\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {\n \"com.palantir.spt1\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.spt2\": {\n \"parameterId\": \"spt2\",\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 \"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 \"spt1\": {\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 \"spt2\": {\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.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 \"spt1\",\n \"spt2\",\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 \"spt1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"spt1\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"spt2\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"spt2\",\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.modify-with-overrides\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.spt1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.spt2\": {\n \"logicRuleValue\": {\n \"parameterId\": \"overridden\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {\n \"com.palantir.spt1\": {\n \"parameterId\": \"spt1\",\n \"type\": \"parameterId\",\n },\n \"com.palantir.spt2\": {\n \"parameterId\": \"overridden\",\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 \"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 \"overridden\": {\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 \"spt1\": {\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\": \"overridden\",\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 },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.modify-with-overrides\",\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 \"overridden\",\n \"spt1\",\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 \"overridden\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"spt\",\n \"typeClasses\": [],\n },\n \"id\": \"overridden\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"spt1\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"spt1\",\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 \"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.spt1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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.spt2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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 \"com.palantir.spt1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"com.palantir.spt2\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\n \"searchable\": true,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.spt1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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.spt2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.spt2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"spt\",\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(\"Simple interface actions (without object types) are properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: { type: \"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 \"interfacePropertyValues\": {\n \"property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\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 \"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 \"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 },\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 \"property1\",\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 \"property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Property1\",\n \"typeClasses\": [],\n },\n \"id\": \"property1\",\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.modify-example-interface\": {\n \"actionType\": {\n \"actionTypeLogic\": {\n \"logic\": {\n \"rules\": [\n {\n \"modifyInterfaceRule\": {\n \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {},\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 \"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 },\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 \"property1\",\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 \"property1\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Property1\",\n \"typeClasses\": [],\n },\n \"id\": \"property1\",\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 \"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 \"propertiesV3\": {\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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 delete action is properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: { type: \"string\" },\n },\n });\n const deleteAction = defineDeleteInterfaceObjectAction({\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.delete-interface-object-example-interface\": {\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 \"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.delete-interface-object-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\": \"Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\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 \"propertiesV3\": {\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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(\"Interface delete action with customizations is properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: { type: \"string\" },\n },\n });\n const deleteAction = defineDeleteInterfaceObjectAction({\n interfaceType: exampleInterface,\n apiName: \"custom-delete-api-name\",\n displayName: \"Custom Delete Action\",\n status: \"experimental\",\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-delete-api-name\": {\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 \"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-delete-api-name\",\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 Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\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 \"propertiesV3\": {\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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(\"Interface delete action with action level validation is properly defined\", () => {\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1: { type: \"string\" },\n },\n });\n const deleteAction = defineDeleteInterfaceObjectAction({\n interfaceType: exampleInterface,\n actionLevelValidation: [{\n condition: {\n type: \"group\",\n name: \"deleteValidationGroup\",\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.delete-interface-object-example-interface\": {\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 \"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.delete-interface-object-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\": \"Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\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 \"propertiesV3\": {\n \"property1\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property1\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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(\"Interface actions with customizations are properly defined\", () => {\n const property1 = defineSharedPropertyType({\n apiName: \"property1\",\n type: \"string\",\n });\n const exampleInterface = defineInterface({\n apiName: \"exampleInterface\",\n properties: {\n property1,\n \"property2\": { type: \"string\" },\n \"property3\": { type: \"string\" },\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\": {\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 renderHint: {\n type: \"textArea\",\n textArea: {},\n },\n },\n },\n excludedProperties: [\"property2\"],\n parameterOrdering: [property1.apiName, \"property3\"],\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\": {\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\"],\n parameterOrdering: [property1.apiName, \"property3\"],\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 \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"property3\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property3\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"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 \"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 \"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 \"textArea\": {},\n \"type\": \"textArea\",\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.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 \"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 \"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 \"property3\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"property3\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\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 \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"property3\": {\n \"logicRuleValue\": {\n \"parameterId\": \"property3\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"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 \"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 \"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 },\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 \"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 \"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 \"property3\": {\n \"displayMetadata\": {\n \"description\": \"fizz_description\",\n \"displayName\": \"fizz_display\",\n \"typeClasses\": [],\n },\n \"id\": \"property3\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\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 },\n \"propertiesV3\": {\n \"com.palantir.property1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"property2\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property2\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n \"property3\": {\n \"interfaceDefinedPropertyType\": {\n \"apiName\": \"property3\",\n \"constraints\": {\n \"dataConstraints\": undefined,\n \"indexedForSearch\": true,\n \"primaryKeyConstraint\": \"NO_RESTRICTION\",\n \"requireImplementation\": true,\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property3\",\n \"visibility\": \"NORMAL\",\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 },\n \"type\": \"interfaceDefinedPropertyType\",\n },\n },\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 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 \"propertiesV3\": {\n \"id\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"displayName\": \"Id\",\n \"apiName\": \"com.palantir.core.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 interfaceApiName: \"com.palantir.other.ontology.event.Event\",\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 interfacePropertyValues: {},\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 interfaceApiName: \"com.palantir.other.ontology.event.Event\",\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 interfacePropertyValues: {},\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.apiName]: {\n displayName: \"My Custom Param\",\n },\n },\n });\n }).not.toThrow();\n expect(() => {\n const createAction = defineModifyInterfaceObjectAction({\n interfaceType: sampleInterface,\n parameterConfiguration: {\n [property1.apiName]: {\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 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 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 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 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.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 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 \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"interfaceApiName\": \"com.palantir.sampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"com.palantir.property1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\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 \"aliases\": [],\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 renderHint: {\n type: \"textArea\",\n textArea: {},\n },\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 \"textArea\": {},\n \"type\": \"textArea\",\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 \"aliases\": [],\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 \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.property2\": {\n \"logicRuleValue\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"objectTypeParameter\": \"objectTypeParameter\",\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 \"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 \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"currentUser\": {},\n \"type\": \"currentUser\",\n },\n \"type\": \"logicRuleValue\",\n },\n \"com.palantir.property2\": {\n \"logicRuleValue\": {\n \"currentTime\": {},\n \"type\": \"currentTime\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\n \"sharedPropertyValues\": {},\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 \"com.palantir.property1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n \"com.palantir.property2\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\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 \"aliases\": [],\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 defineDeleteObjectAction({\n objectType: employeeObject,\n parameterConfiguration: {\n [DELETE_OBJECT_PARAMETER]: {\n displayName: \"Chose managers to delete\",\n description: \"Description\",\n required: {\n listLength: {\n min: 1,\n max: 5,\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 defineDeleteInterfaceObjectAction({\n interfaceType: exampleInterface,\n parameterConfiguration: {\n [DELETE_OBJECT_PARAMETER]: {\n displayName: \"Chose managers to delete\",\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 \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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.delete-interface-object-example-interface\": {\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 \"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.delete-interface-object-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\": \"Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Delete object\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\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.delete-object-employee\": {\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 \"listLengthValidation\": {\n \"maxLength\": 5,\n \"minLength\": 1,\n },\n \"type\": \"listLengthValidation\",\n },\n },\n },\n },\n },\n \"sectionValidations\": {},\n },\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.delete-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\": \"Delete 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 \"objectToDeleteParameter\",\n ],\n \"parameters\": {\n \"objectToDeleteParameter\": {\n \"displayMetadata\": {\n \"description\": \"Description\",\n \"displayName\": \"Chose managers to delete\",\n \"typeClasses\": [],\n },\n \"id\": \"objectToDeleteParameter\",\n \"type\": {\n \"objectReferenceList\": {\n \"objectTypeId\": \"com.palantir.employee\",\n },\n \"type\": \"objectReferenceList\",\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 \"interfaceApiName\": \"com.palantir.exampleInterface\",\n \"interfaceObjectToModifyParameter\": \"interfaceObjectToModifyParameter\",\n \"interfacePropertyValues\": {\n \"com.palantir.property1\": {\n \"logicRuleValue\": {\n \"parameterId\": \"com.palantir.property1\",\n \"type\": \"parameterId\",\n },\n \"type\": \"logicRuleValue\",\n },\n },\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 \"com.palantir.property1\": {\n \"sharedPropertyBasedPropertyType\": {\n \"requireImplementation\": 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 \"type\": \"sharedPropertyBasedPropertyType\",\n },\n },\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 \"aliases\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 \"reducers\": [],\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 \"reducers\": [],\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 \"aliases\": [],\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 \"aliases\": [],\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 it(\"Group and user parameters 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: \"string\" },\n \"fizzbuzz\": { type: \"string\" },\n },\n });\n\n const createObjectActionType = defineCreateObjectAction(\n {\n objectType: exampleObjectType,\n parameterConfiguration: {\n \"bar\": {\n allowedValues: {\n type: \"multipassGroup\",\n },\n },\n \"fizz\": {\n allowedValues: {\n type: \"user\",\n fromGroups: [{\n type: \"parameter\",\n parameter: \"bar\",\n }],\n },\n },\n \"buzz\": {\n allowedValues: {\n type: \"user\",\n },\n },\n \"fizzbuzz\": {\n allowedValues: {\n type: \"user\",\n fromGroups: [\n {\n type: \"static\",\n name: \"inputGroup\",\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-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 \"parameterId\": \"buzz\",\n \"type\": \"parameterId\",\n },\n \"fizz\": {\n \"parameterId\": \"fizz\",\n \"type\": \"parameterId\",\n },\n \"fizzbuzz\": {\n \"parameterId\": \"fizzbuzz\",\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 \"type\": \"userDropdown\",\n \"userDropdown\": {},\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"multipassGroup\": {\n \"group\": {},\n \"type\": \"group\",\n },\n \"type\": \"multipassGroup\",\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"buzz\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"type\": \"userDropdown\",\n \"userDropdown\": {},\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"type\": \"user\",\n \"user\": {\n \"type\": \"user\",\n \"user\": {\n \"filter\": [],\n },\n },\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizz\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"type\": \"userDropdown\",\n \"userDropdown\": {},\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"type\": \"user\",\n \"user\": {\n \"type\": \"user\",\n \"user\": {\n \"filter\": [\n {\n \"groupFilter\": {\n \"groupId\": {\n \"parameterId\": \"bar\",\n \"type\": \"parameterId\",\n },\n },\n \"type\": \"groupFilter\",\n },\n ],\n },\n },\n },\n \"required\": {\n \"notRequired\": {},\n \"type\": \"notRequired\",\n },\n },\n },\n },\n \"fizzbuzz\": {\n \"conditionalOverrides\": [],\n \"defaultValidation\": {\n \"display\": {\n \"renderHint\": {\n \"type\": \"userDropdown\",\n \"userDropdown\": {},\n },\n \"visibility\": {\n \"editable\": {},\n \"type\": \"editable\",\n },\n },\n \"validation\": {\n \"allowedValues\": {\n \"type\": \"user\",\n \"user\": {\n \"type\": \"user\",\n \"user\": {\n \"filter\": [\n {\n \"groupFilter\": {\n \"groupId\": {\n \"staticValue\": {\n \"string\": \"inputGroup\",\n \"type\": \"string\",\n },\n \"type\": \"staticValue\",\n },\n },\n \"type\": \"groupFilter\",\n },\n ],\n },\n },\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 \"fizz\",\n \"buzz\",\n \"fizzbuzz\",\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 \"buzz\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Buzz\",\n \"typeClasses\": [],\n },\n \"id\": \"buzz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizz\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Fizz\",\n \"typeClasses\": [],\n },\n \"id\": \"fizz\",\n \"type\": {\n \"string\": {},\n \"type\": \"string\",\n },\n },\n \"fizzbuzz\": {\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"Fizzbuzz\",\n \"typeClasses\": [],\n },\n \"id\": \"fizzbuzz\",\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 \"buzz\": {\n \"column\": \"buzz\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n \"fizzbuzz\": {\n \"column\": \"fizzbuzz\",\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 \"aliases\": [],\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 \"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 \"fizzbuzz\": {\n \"apiName\": \"fizzbuzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizzbuzz\",\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});\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,uBAAuB,CACvBC,iCAAiC,CACjCC,uBAAuB,KAClB,oBAAoB,CAC3B,OAASC,iCAAiC,KAAQ,yCAAyC,CAC3F,OAASC,wBAAwB,KAAQ,gCAAgC,CACzE,OAASC,gCAAgC,KAAQ,wCAAwC,CACzF,OAASC,iCAAiC,KAAQ,yCAAyC,CAC3F,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,CAIjEtB,QAAQ,CAAC,cAAc,CAAE,IAAM,CAC7BD,UAAU,CAAC,SAAY,CACrB,KAAM,CAAAoB,cAAc,CAAC,eAAe,CAAE,IAAM,CAAC,CAAC,CAAE,OAAO,CAAC,CAC1D,CAAC,CAAC,CACFjB,EAAE,CAAC,uCAAuC,CAAE,IAAM,CAC1BI,YAAY,CAAC,CACjCiB,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,CAEF1B,MAAM,CAACmB,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,CAEFtC,QAAQ,CAAC,mBAAmB,CAAE,IAAM,CAClCE,EAAE,CAAC,wCAAwC,CAAE,IAAM,CACrCa,eAAe,CAAC,CAC1BQ,OAAO,CAAE,KAAK,CACdC,WAAW,CAAE,KAAK,CAClBe,UAAU,CAAE,CAAC,CACf,CAAC,CAAC,CACoBjC,YAAY,CAAC,CACjCiB,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,CAAC,CACxBC,uBAAuB,CAAE,CAAC,CAC5B,CACF,CAAC,CAAC,CACFX,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,CAEF1B,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,mEAAmE,CAAE,IAAM,CAC5E,KAAM,CAAA2C,yBAAyB,CAAGxB,wBAAwB,CAAC,CACzDE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,CACJA,IAAI,CAAE,QAAQ,CACdmB,gBAAgB,CAAE,CAChBC,cAAc,CAAE,QAClB,CACF,CACF,CAAC,CAAC,CACF,KAAM,CAAAC,KAAK,CAAG3B,wBAAwB,CAAC,CACrCE,OAAO,CAAE,OAAO,CAChBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAsB,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3B2B,IAAI,CAAE,CAAEC,KAAK,CAAE,WAAW,CAAEC,OAAO,CAAE,OAAQ,CAAC,CAC9Cb,UAAU,CAAE,CACVS,KAAK,CACLK,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAAC,CAC7B2B,SAAS,CAAET,yBACb,CACF,CAAC,CAAC,CAEF,KAAM,CAAAU,iBAAiB,CAAGrC,YAAY,CAAC,CACrCsC,oBAAoB,CAAE,KAAK,CAC3BhC,WAAW,CAAE,mBAAmB,CAChCiC,iBAAiB,CAAE,oBAAoB,CACvClC,OAAO,CAAE,KAAK,CACdmC,yBAAyB,CAAE,KAAK,CAChCnB,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,CACdmB,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,WAAW,CAC9BC,MAAM,CAAE,WACV,CAAC,CACD,CACED,iBAAiB,CAAE,wBAAwB,CAC3CC,MAAM,CAAE,WACV,CAAC,CAEL,CAAC,CACH,CAAC,CAAC,CAEiCrD,iCAAiC,CAAC,CACnEsD,aAAa,CAAEf,gBAAgB,CAC/BgB,UAAU,CAAEV,iBACd,CAAC,CAAC,CAEmBvC,iCAAiC,CAAC,CACrDgD,aAAa,CAAEf,gBAAgB,CAC/BgB,UAAU,CAAEV,iBACd,CAAC,CAAC,CAEFtD,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,gFAAgF,CAAE,IAAM,CACzF,KAAM,CAAAgE,IAAI,CAAG7C,wBAAwB,CAAC,CACpCE,OAAO,CAAE,MAAM,CACfC,WAAW,CAAE,KAAK,CAClBG,IAAI,CAAE,QACR,CAAC,CAAC,CAEF,KAAM,CAAAwC,IAAI,CAAG9C,wBAAwB,CAAC,CACpCE,OAAO,CAAE,MAAM,CACfC,WAAW,CAAE,KAAK,CAClBG,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAsB,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACV2B,IAAI,CACJC,IACF,CACF,CAAC,CAAC,CACmBzD,iCAAiC,CAAC,CACrDsD,aAAa,CAAEf,gBAAgB,CAC/BmB,0BAA0B,CAAE,IAC9B,CAAC,CAAC,CACgC1D,iCAAiC,CAAC,CAClEsD,aAAa,CAAEf,gBAAgB,CAC/B1B,OAAO,CAAE,uBAAuB,CAChC6C,0BAA0B,CAAE,IAAI,CAChCC,6BAA6B,CAAE,CAAE,CAACF,IAAI,CAAC5C,OAAO,EAAG,YAAa,CAAC,CAC/D+C,sBAAsB,CAAE,CACtB,CAACJ,IAAI,CAACK,oBAAoB,EAAG,CAC3BnC,QAAQ,CAAE,KAAK,CACfoC,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,UAAU,CAChB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,KAAK,CACX+C,UAAU,CAAE,CACV,CACE/C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,qBACR,CAAC,CACD,CACEhD,IAAI,CAAE,WAAW,CACjBI,WAAW,CAAE,YAAY,CACzB6C,OAAO,CAAE,CACPjD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,KACV,CACF,CACF,CAAC,CAEL,CACF,CAAC,CACF,CACDC,YAAY,CAAE,CACZpD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,cACV,CACF,CAAC,CACDtD,WAAW,CAAE,cAAc,CAC3BwD,WAAW,CAAE,kBACf,CACF,CAAC,CACDC,iBAAiB,CAAE,CAAC,YAAY,CAAEf,IAAI,CAACK,oBAAoB,CAC7D,CAAC,CAAC,CAEmBvD,iCAAiC,CAAC,CACrDgD,aAAa,CAAEf,gBAAgB,CAC/BmB,0BAA0B,CAAE,IAC9B,CAAC,CAAC,CACgCpD,iCAAiC,CAAC,CAClEgD,aAAa,CAAEf,gBAAgB,CAC/B1B,OAAO,CAAE,uBAAuB,CAChC6C,0BAA0B,CAAE,IAAI,CAChCC,6BAA6B,CAAE,CAAE,CAACF,IAAI,CAAC5C,OAAO,EAAG,YAAa,CAAC,CAC/D+C,sBAAsB,CAAE,CACtB,CAACJ,IAAI,CAACK,oBAAoB,EAAG,CAC3BnC,QAAQ,CAAE,KAAK,CACfoC,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,UAAU,CAChB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,KAAK,CACX+C,UAAU,CAAE,CACV,CACE/C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,qBACR,CAAC,CACD,CACEhD,IAAI,CAAE,WAAW,CACjBI,WAAW,CAAE,YAAY,CACzB6C,OAAO,CAAE,CACPjD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,KACV,CACF,CACF,CAAC,CAEL,CACF,CAAC,CACF,CACDC,YAAY,CAAE,CACZpD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,cACV,CACF,CAAC,CACDtD,WAAW,CAAE,cAAc,CAC3BwD,WAAW,CAAE,kBACf,CACF,CAAC,CACDC,iBAAiB,CAAE,CAAC,YAAY,CAAEf,IAAI,CAACK,oBAAoB,CAC7D,CAAC,CAAC,CAEFtE,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sEAAsE,CAAE,IAAM,CAC/E,KAAM,CAAA+C,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAC9B,CACF,CAAC,CAAC,CACmBjB,iCAAiC,CAAC,CACrDsD,aAAa,CAAEf,gBACjB,CAAC,CAAC,CACmBjC,iCAAiC,CAAC,CACrDgD,aAAa,CAAEf,gBACjB,CAAC,CAAC,CAEFhD,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,oDAAoD,CAAE,IAAM,CAC7D,KAAM,CAAA+C,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAC9B,CACF,CAAC,CAAC,CACmBd,iCAAiC,CAAC,CACrDmD,aAAa,CAAEf,gBACjB,CAAC,CAAC,CAEFhD,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,iEAAiE,CAAE,IAAM,CAC1E,KAAM,CAAA+C,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAC9B,CACF,CAAC,CAAC,CACmBd,iCAAiC,CAAC,CACrDmD,aAAa,CAAEf,gBAAgB,CAC/B1B,OAAO,CAAE,wBAAwB,CACjCC,WAAW,CAAE,sBAAsB,CACnCC,MAAM,CAAE,cACV,CAAC,CAAC,CAEFxB,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,0EAA0E,CAAE,IAAM,CACnF,KAAM,CAAA+C,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CAAE,CAAE1B,IAAI,CAAE,QAAS,CAC9B,CACF,CAAC,CAAC,CACmBd,iCAAiC,CAAC,CACrDmD,aAAa,CAAEf,gBAAgB,CAC/BiC,qBAAqB,CAAE,CAAC,CACtBT,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,uBACR,CACF,CAAC,CACH,CAAC,CAAC,CAEF1E,MAAM,CAACmB,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;A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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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,0CAA0C,CAAE,IAAM,CACnD,KAAM,CAAAkG,GAAG,CAAG/E,wBAAwB,CAAC,CACnCE,OAAO,CAAE,KAAK,CACdI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAA0E,iBAAgC,CAAG,CACvC,SAAS,CAAE,yCAAyC,CACpD,iBAAiB,CAAE,CACjB,aAAa,CAAE,OAAO,CACtB,aAAa,CAAE,OAAO,CACtB,MAAM,CAAE,CACN,MAAM,CAAE,WAAW,CACnB,WAAW,CAAE,CACX,OAAO,CAAE,SAAS,CAClB,SAAS,CAAE,iBACb,CACF,CACF,CAAC,CACD,mBAAmB,CAAE,EAAE,CACvB,OAAO,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OAAO,CAAE,iBAAiB,CAC1BgB,UAAU,CAAE,CACVc,SACF,CACF,CAAC,CAAC,CACmB3C,iCAAiC,CAAC,CACrDsD,aAAa,CAAEkD,eAAe,CAC9BG,QAAQ,CAAE,CACR,CACEnF,EAAE,CAAE,UAAU,CACdV,WAAW,CAAE,WAAW,CACxBS,UAAU,CAAE,CAACoB,SAAS,CAAC9B,OAAO,CAAC,CAC/ByD,WAAW,CAAE,2BAA2B,CACxCR,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,WACR,CACF,CAAC,CAEL,CAAC,CAEL,CAAC,CAAC,CACmB3D,iCAAiC,CAAC,CACrDgD,aAAa,CAAEkD,eAAe,CAC9BG,QAAQ,CAAE,CACR,CACEnF,EAAE,CAAE,UAAU,CACdV,WAAW,CAAE,WAAW,CACxBS,UAAU,CAAE,CAACoB,SAAS,CAAC9B,OAAO,CAAC,CAC/ByD,WAAW,CAAE,2BAA2B,CACxCR,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,WACR,CACF,CAAC,CAEL,CAAC,CAEL,CAAC,CAAC,CACF1E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CACJ,CAAC,CAAC,CAEFtC,QAAQ,CAAC,gBAAgB,CAAE,IAAM,CAC/BE,EAAE,CAAC,8CAA8C,CAAE,IAAM,CACvD,KAAM,CAAAqD,iBAAiB,CAAGrC,YAAY,CAAC,CACrCsC,oBAAoB,CAAE,KAAK,CAC3BhC,WAAW,CAAE,mBAAmB,CAChCiC,iBAAiB,CAAE,oBAAoB,CACvClC,OAAO,CAAE,KAAK,CACdmC,yBAAyB,CAAE,KAAK,CAChCnB,UAAU,CAAE,CACV,KAAK,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CACzB,YAAY,CAAE,CACZA,IAAI,CAAE,CACJA,IAAI,CAAE,QAAQ,CACdmB,gBAAgB,CAAE,CAAEC,cAAc,CAAE,QAAS,CAC/C,CACF,CAAC,CACD,cAAc,CAAE,CAAEpB,IAAI,CAAE,QAAS,CACnC,CACF,CAAC,CAAC,CAE6BhB,wBAAwB,CACrD,CACEsD,UAAU,CAAEV,iBACd,CACF,CAAC,CAC8BtC,wBAAwB,CACrD,CACEgD,UAAU,CAAEV,iBACd,CACF,CAAC,CAC8BzC,wBAAwB,CACrD,CACEmD,UAAU,CAAEV,iBACd,CACF,CAAC,CACsC3C,gCAAgC,CACrE,CACEqD,UAAU,CAAEV,iBACd,CACF,CAAC,CAEDtD,MAAM,CAACmB,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,OAAO,CA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qBACR,CAAC,CACD,CACEhD,IAAI,CAAE,WAAW,CACjBI,WAAW,CAAE,KAAK,CAClB6C,OAAO,CAAE,CACPjD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,KACV,CACF,CACF,CAAC,CAEL,CACF,CAAC,CACF,CACDC,YAAY,CAAE,CACZpD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,cACV,CACF,CAAC,CACDtD,WAAW,CAAE,cAAc,CAC3BwD,WAAW,CAAE,kBACf,CACF,CAAC,CACDK,kBAAkB,CAAE,CAAC,MAAM,CAAC,CAC5BE,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,CAEDxH,MAAM,CAACmB,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;AACA,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sDAAsD,CAAE,IAAM,CAC/D,KAAM,CAAAqD,iBAAiB,CAAGrC,YAAY,CAAC,CACrCsC,oBAAoB,CAAE,KAAK,CAC3BhC,WAAW,CAAE,mBAAmB,CAChCiC,iBAAiB,CAAE,oBAAoB,CACvClC,OAAO,CAAE,KAAK,CACdmC,yBAAyB,CAAE,KAAK,CAChCnB,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,CAE6BhB,wBAAwB,CACrD,CACEsD,UAAU,CAAEV,iBAAiB,CAC7B6D,oBAAoB,CAAE,CACpB,MAAM,CAAE,CACNzF,IAAI,CAAE,aACR,CAAC,CACD,MAAM,CAAE,CACNA,IAAI,CAAE,aACR,CACF,CACF,CACF,CAAC,CAC8BV,wBAAwB,CACrD,CACEgD,UAAU,CAAEV,iBAAiB,CAC7B6D,oBAAoB,CAAE,CACpB,MAAM,CAAE,CACNzF,IAAI,CAAE,aACR,CAAC,CACD,MAAM,CAAE,CACNA,IAAI,CAAE,aACR,CACF,CACF,CACF,CAAC,CACsCf,gCAAgC,CACrE,CACEqD,UAAU,CAAEV,iBAAiB,CAC7B6D,oBAAoB,CAAE,CACpB,MAAM,CAAE,CACNzF,IAAI,CAAE,aACR,CAAC,CACD,MAAM,CAAE,CACNA,IAAI,CAAE,aACR,CACF,CACF,CACF,CAAC,CAED,KAAM,CAAA0B,SAAS,CAAGhC,wBAAwB,CAAC,CACzCE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAA2B,SAAS,CAAGjC,wBAAwB,CAAC,CACzCE,OAAO,CAAE,WAAW,CACpBI,IAAI,CAAE,QACR,CAAC,CAAC,CACF,KAAM,CAAAsB,gBAAgB,CAAGlC,eAAe,CAAC,CACvCQ,OAAO,CAAE,kBAAkB,CAC3BgB,UAAU,CAAE,CACVc,SAAS,CACTC,SACF,CACF,CAAC,CAAC,CACkC5C,iCAAiC,CAAC,CACpEsD,aAAa,CAAEf,gBAAgB,CAC/BmE,oBAAoB,CAAE,CACpB,CAAC/D,SAAS,CAAC9B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CAAC,CACD,CAAC2B,SAAS,CAAC/B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CACF,CACF,CAAC,CAAC,CACkCX,iCAAiC,CAAC,CACpEgD,aAAa,CAAEf,gBAAgB,CAC/BmE,oBAAoB,CAAE,CACpB,CAAC/D,SAAS,CAAC9B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CAAC,CACD,CAAC2B,SAAS,CAAC/B,OAAO,EAAG,CACnBI,IAAI,CAAE,aACR,CACF,CACF,CAAC,CAAC,CACF1B,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,mFAAmF,CAAE,IAAM,CAC5F,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,o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,CAAE,0BAA0B,CACvCwD,WAAW,CAAE,aAAa,CAC1BR,oBAAoB,CAAE,CAAC,CACrB7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,aACR,CACF,CAAC,CACH,CACF,CACF,CAAC,CAAC,CAEF1E,MAAM,CAACmB,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,CAEFpC,EAAE,CAAC,uDAAuD,CAAE,IAAM,CAC1CI,YAAY,CAAC,CACjCiB,OAAO,CAAE,KAAK,CACdC,WAAW,CAAE,eAAe,CAC5BC,MAAM,CAAE,QAAQ,CAChBC,KAAK,CAAE,CAAC,CACNC,IAAI,CAAE,kBAAkB,CACxBkG,gBAAgB,CAAE,CAChBhG,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,CAClCuG,iBAAiB,CAAE,UAAU,CAC7B1D,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,SACR,CACF,CAAC,CAEL,CACF,CAAC,CAAE,CACDzC,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,CAAEwG,cAAc,CAAE,EAAG,CAAC,CAClED,iBAAiB,CAAE,UACrB,CACF,CAAC,CACH,CAAC,CAAC,CAEFjI,MAAM,CAACmB,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,CAEFpC,EAAE,CAAC,kEAAkE,CAAE,IAAM,CAC3E;AACA;AACA;AACA;AACA,KAAM,CAAA4H,cAAc,CAAG5G,YAAY,CAAC,CAClCK,OAAO,CAAE,UAAU,CACnBC,WAAW,CAAE,UAAU,CACvBiC,iBAAiB,CAAE,WAAW,CAC9BD,oBAAoB,CAAE,IAAI,CAC1BE,yBAAyB,CAAE,IAAI,CAC/BnB,UAAU,CAAE,CACV,IAAI,CAAE,CAAEZ,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,IAAI,CAAEwD,WAAW,CAAE,OAAQ,CAAC,CACjE,WAAW,CAAE,CAAErD,IAAI,CAAE,QAAS,CAChC,CACF,CAAC,CAAC,CAEF,KAAM,CAAAyG,aAAa,CAAGlH,YAAY,CAAC,CACjCK,OAAO,CAAE,SAAS,CAClBC,WAAW,CAAE,SAAS,CACtBiC,iBAAiB,CAAE,UAAU,CAC7BD,oBAAoB,CAAE,IAAI,CAC1BE,yBAAyB,CAAE,IAAI,CAC/BnB,UAAU,CAAE,CACV,IAAI,CAAE,CAAEZ,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,IAAI,CAAEwD,WAAW,CAAE,OAAQ,CAClE,CAAC,CACDqD,YAAY,CAAE,IAChB,CAAC,CAAC,CAEF1H,wBAAwB,CAAC,CACvBsD,UAAU,CAAE6D,cAAc,CAC1B7C,iBAAiB,CAAE,CAAC,WAAW,CAAE,IAAI,CAAE,WAAW,CAAC,CACnDX,sBAAsB,CAAE,CACtB,WAAW,CAAE,CACX6C,mBAAmB,CAAE,CACnBxF,IAAI,CAAE,iBAAiB,CACvB2G,eAAe,CAAE,CACfC,YAAY,CAAEH,aAAa,CAAC7G,OAC9B,CACF,CACF,CAAC,CACD,WAAW,CAAE,CACXwD,YAAY,CAAE,CACZpD,IAAI,CAAE,8BAA8B,CACpC6G,4BAA4B,CAAE,CAC5BzG,WAAW,CAAE,WAAW,CACxB0G,cAAc,CAAE,IAClB,CACF,CACF,CACF,CACF,CAAC,CAAC,CAEFxI,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,qDAAqD,CAAE,IAAM,CAC9D,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CACNZ,IAAI,CAAE,QAAQ,CACdqD,WAAW,CAAE,6BACf,CAAC,CACD,IAAI,CAAE,CACJrD,IAAI,CAAE,QAAQ,CACdH,WAAW,CAAE,IAAI,CACjBwD,WAAW,CAAE,2BACf,CACF,CACF,CAAC,CAAC,CACmBrE,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBxC,qBAAqB,CAAE,CAAC,CACtBT,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,WACR,CACF,CAAC,CACH,CAAC,CAAC,CAEF1E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sDAAsD,CAAE,IAAM,CAC/D,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CACNZ,IAAI,CAAE,QAAQ,CACdqD,WAAW,CAAE,6BACf,CAAC,CACD,IAAI,CAAE,CACJrD,IAAI,CAAE,QAAQ,CACdH,WAAW,CAAE,IAAI,CACjBwD,WAAW,CAAE,2BACf,CACF,CACF,CAAC,CAAC,CACmBrE,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBxC,qBAAqB,CAAE,CAAC,CACtBoC,eAAe,CAAE,CACfC,cAAc,CACZ,qFAAqF,CACvFC,WAAW,CAAE,EACf,CAAC,CACD/C,SAAS,CAAE,CACT9C,IAAI,CAAE,YAAY,CAClB+G,UAAU,CAAE,CACVC,QAAQ,CAAE,YAAY,CACtBC,IAAI,CAAE,CACJjH,IAAI,CAAE,cAAc,CACpBkH,YAAY,CAAE,CACZC,MAAM,CAAE,CACNnH,IAAI,CAAE,aAAa,CACnBoH,WAAW,CAAE,CAAC,CAChB,CAAC,CACDC,aAAa,CAAE,CACbrH,IAAI,CAAE,wBAAwB,CAC9BsH,sBAAsB,CAAE,CAAC,CAC3B,CACF,CACF,CAAC,CACDC,KAAK,CAAE,CACLvH,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,YAAY,CAClBwH,UAAU,CAAE,CACVC,OAAO,CAAE,CACP,sCAAsC,CAE1C,CACF,CACF,CACF,CACF,CACF,CAAC,CACH,CAAC,CAAC,CAEFnJ,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,+DAA+D,CAAE,IAAM,CACxE,KAAM,CAAAmJ,gBAAgB,CAAGnI,YAAY,CAAC,CACpCK,OAAO,CAAE,kBAAkB,CAC3BC,WAAW,CAAE,oBAAoB,CACjCkC,yBAAyB,CAAE,IAAI,CAC/BF,oBAAoB,CAAE,IAAI,CAC1BC,iBAAiB,CAAE,qBAAqB,CACxClB,UAAU,CAAE,CACV,IAAI,CAAE,CAAEZ,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,IAAK,CAAC,CAC3C,MAAM,CAAE,CAAEG,IAAI,CAAE,QAAQ,CAAE2H,KAAK,CAAE,IAAI,CAAE9H,WAAW,CAAE,MAAO,CAAC,CAC5D,SAAS,CAAE,CAAEG,IAAI,CAAE,SAAS,CAAE2H,KAAK,CAAE,IAAI,CAAE9H,WAAW,CAAE,SAAU,CAAC,CACnE,aAAa,CAAE,CAAEG,IAAI,CAAE,QAAQ,CAAEH,WAAW,CAAE,cAAe,CAC/D,CACF,CAAC,CAAC,CAEmBb,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEoF,gBACd,CAAC,CAAC,CACmBpI,wBAAwB,CAAC,CAC5CgD,UAAU,CAAEoF,gBACd,CAAC,CAAC,CAEFpJ,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sCAAsC,CAAE,IAAM,CAC/C,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CAC1B,IAAI,CAAE,CAAEA,IAAI,CAAE,QAAS,CACzB,CACF,CAAC,CAAC,CACmBhB,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBL,QAAQ,CAAE,CACR,CACEnF,EAAE,CAAE,UAAU,CACdV,WAAW,CAAE,WAAW,CACxBS,UAAU,CAAE,CAAC,IAAI,CAAC,CAClB+C,WAAW,CAAE,2BAA2B,CACxCR,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,OAAO,CACbgD,IAAI,CAAE,WACR,CACF,CAAC,CAEL,CAAC,CAEL,CAAC,CAAC,CACF1E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,sCAAsC,CAAE,IAAM,CAC/C,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CAC1B,IAAI,CAAE,CAAEA,IAAI,CAAE,QAAS,CACzB,CACF,CAAC,CAAC,CACF1B,MAAM,CAAC,IAAM,CACUU,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBL,QAAQ,CAAE,CACR,CACEnF,EAAE,CAAE,UAAU,CACdV,WAAW,CAAE,WAAW,CACxBS,UAAU,CAAE,CAAC,KAAK,CACpB,CAAC,CAEL,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4E,kCAAkC,CACnC,+EACF,CAAC,CACH,CAAC,CAAC,CAEF3G,EAAE,CAAC,+CAA+C,CAAE,IAAM,CACxD,KAAM,CAAAwH,YAAY,CAAGxG,YAAY,CAAC,CAChCK,OAAO,CAAE,cAAc,CACvBC,WAAW,CAAE,aAAa,CAC1BwD,WAAW,CAAE,2BAA2B,CACxCtB,yBAAyB,CAAE,IAAI,CAC/BD,iBAAiB,CAAE,OAAO,CAC1BD,oBAAoB,CAAE,MAAM,CAC5BjB,UAAU,CAAE,CACV,MAAM,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CAC1B,IAAI,CAAE,CAAEA,IAAI,CAAE,QAAS,CAAC,CACxB,KAAK,CAAE,CAAEA,IAAI,CAAE,QAAS,CAC1B,CACF,CAAC,CAAC,CACF1B,MAAM,CAAC,IAAM,CACaU,wBAAwB,CAAC,CAC/CsD,UAAU,CAAEyD,YAAY,CACxBzC,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CAAC,CAChCI,kBAAkB,CAAE,CAAC,IAAI,CAC3B,CAAC,CAAC,CACJ,CAAC,CAAC,CAACwB,kCAAkC,CACnC,0MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACagB,wBAAwB,CAAC,CAC/CgD,UAAU,CAAEyD,YAAY,CACxB;AACAzC,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,0MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACaW,gCAAgC,CAAC,CACvDqD,UAAU,CAAEyD,YAAY,CACxB;AACAzC,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,6MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACaU,wBAAwB,CAAC,CAC/CsD,UAAU,CAAEyD,YAAY,CACxBN,oBAAoB,CAAE,CACpB,KAAK,CAAE,CACLzF,IAAI,CAAE,aACR,CACF,CAAC,CACD;AACAsD,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,2MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACagB,wBAAwB,CAAC,CAC/CgD,UAAU,CAAEyD,YAAY,CACxBN,oBAAoB,CAAE,CACpB,KAAK,CAAE,CACLzF,IAAI,CAAE,aACR,CACF,CAAC,CACD;AACAsD,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,8MACF,CAAC,CACD5G,MAAM,CAAC,IAAM,CACaW,gCAAgC,CAAC,CACvDqD,UAAU,CAAEyD,YAAY,CACxBN,oBAAoB,CAAE,CACpB,KAAK,CAAE,CACLzF,IAAI,CAAE,aACR,CACF,CAAC,CACD;AACAsD,iBAAiB,CAAE,CAAC,KAAK,CAAE,IAAI,CACjC,CAAC,CAAC,CACJ,CAAC,CAAC,CAAC4B,kCAAkC,CACnC,iNACF,CAAC,CACoBlG,wBAAwB,CAAC,CAC5CsD,UAAU,CAAEyD,YAAY,CACxBzC,iBAAiB,CAAE,CAAC,KAAK,CAAE,MAAM,CAAE,IAAI,CAAC,CACxCX,sBAAsB,CAAE,CACtB,MAAM,CAAE,CACNE,oBAAoB,CAAE,CACpB,CACE7C,IAAI,CAAE,YAAY,CAClB8C,SAAS,CAAE,CACT9C,IAAI,CAAE,WAAW,CACjBI,WAAW,CAAE,KAAK,CAClB6C,OAAO,CAAE,CACPjD,IAAI,CAAE,aAAa,CACnBkD,WAAW,CAAE,CACXlD,IAAI,CAAE,QAAQ,CACdmD,MAAM,CAAE,KACV,CACF,CACF,CACF,CAAC,CAEL,CACF,CACF,CAAC,CAAC,CACF7E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CAEFpC,EAAE,CAAC,gDAAgD,CAAE,IAAM,CACzD,KAAM,CAAAqD,iBAAiB,CAAGrC,YAAY,CAAC,CACrCsC,oBAAoB,CAAE,KAAK,CAC3BhC,WAAW,CAAE,mBAAmB,CAChCiC,iBAAiB,CAAE,oBAAoB,CACvClC,OAAO,CAAE,KAAK,CACdmC,yBAAyB,CAAE,KAAK,CAChCnB,UAAU,CAAE,CACV,KAAK,CAAE,CAAEZ,IAAI,CAAE,QAAS,CAAC,CACzB,MAAM,CAAE,CAAEA,IAAI,CAAE,QAAS,CAAC,CAC1B,MAAM,CAAE,CAAEA,IAAI,CAAE,QAAS,CAAC,CAC1B,UAAU,CAAE,CAAEA,IAAI,CAAE,QAAS,CAC/B,CACF,CAAC,CAAC,CAE6BhB,wBAAwB,CACrD,CACEsD,UAAU,CAAEV,iBAAiB,CAC7Be,sBAAsB,CAAE,CACtB,KAAK,CAAE,CACLjC,aAAa,CAAE,CACbV,IAAI,CAAE,gBACR,CACF,CAAC,CACD,MAAM,CAAE,CACNU,aAAa,CAAE,CACbV,IAAI,CAAE,MAAM,CACZ4H,UAAU,CAAE,CAAC,CACX5H,IAAI,CAAE,WAAW,CACjB6H,SAAS,CAAE,KACb,CAAC,CACH,CACF,CAAC,CACD,MAAM,CAAE,CACNnH,aAAa,CAAE,CACbV,IAAI,CAAE,MACR,CACF,CAAC,CACD,UAAU,CAAE,CACVU,aAAa,CAAE,CACbV,IAAI,CAAE,MAAM,CACZ4H,UAAU,CAAE,CACV,CACE5H,IAAI,CAAE,QAAQ,CACdgD,IAAI,CAAE,YACR,CAAC,CAEL,CACF,CACF,CACF,CACF,CAAC,CACD1E,MAAM,CAACmB,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,OAAO,CAAC,CACJ,CAAC,CAAC,CACJ,CAAC,CAAC,CACJ,CAAC,CAAC","ignoreList":[]}