cdk-serverless 2.0.3 → 2.1.0

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.
@@ -1 +1 @@
1
- window.searchData = JSON.parse("{\"rows\":[{\"kind\":256,\"name\":\"AssetCdnProps\",\"url\":\"interfaces/AssetCdnProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"domainName\",\"url\":\"interfaces/AssetCdnProps.html#domainName\",\"classes\":\"\",\"parent\":\"AssetCdnProps\"},{\"kind\":1024,\"name\":\"hostName\",\"url\":\"interfaces/AssetCdnProps.html#hostName\",\"classes\":\"\",\"parent\":\"AssetCdnProps\"},{\"kind\":128,\"name\":\"AssetCdn\",\"url\":\"classes/AssetCdn.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/AssetCdn.html#constructor\",\"classes\":\"\",\"parent\":\"AssetCdn\"},{\"kind\":1024,\"name\":\"zone\",\"url\":\"classes/AssetCdn.html#zone\",\"classes\":\"\",\"parent\":\"AssetCdn\"},{\"kind\":1024,\"name\":\"assetBucket\",\"url\":\"classes/AssetCdn.html#assetBucket\",\"classes\":\"\",\"parent\":\"AssetCdn\"},{\"kind\":1024,\"name\":\"assetDomainName\",\"url\":\"classes/AssetCdn.html#assetDomainName\",\"classes\":\"\",\"parent\":\"AssetCdn\"},{\"kind\":256,\"name\":\"ICognitoAuthentication\",\"url\":\"interfaces/ICognitoAuthentication.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"userpool\",\"url\":\"interfaces/ICognitoAuthentication.html#userpool\",\"classes\":\"\",\"parent\":\"ICognitoAuthentication\"},{\"kind\":256,\"name\":\"IJwtAuthentication\",\"url\":\"interfaces/IJwtAuthentication.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"issuerUrl\",\"url\":\"interfaces/IJwtAuthentication.html#issuerUrl\",\"classes\":\"\",\"parent\":\"IJwtAuthentication\"},{\"kind\":1024,\"name\":\"audience\",\"url\":\"interfaces/IJwtAuthentication.html#audience\",\"classes\":\"\",\"parent\":\"IJwtAuthentication\"},{\"kind\":1024,\"name\":\"jwksUrl\",\"url\":\"interfaces/IJwtAuthentication.html#jwksUrl\",\"classes\":\"\",\"parent\":\"IJwtAuthentication\"},{\"kind\":256,\"name\":\"CognitoAuthenticationProps\",\"url\":\"interfaces/CognitoAuthenticationProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"userPoolName\",\"url\":\"interfaces/CognitoAuthenticationProps.html#userPoolName\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":1024,\"name\":\"triggers\",\"url\":\"interfaces/CognitoAuthenticationProps.html#triggers\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/CognitoAuthenticationProps.html#triggers.__type-2\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.triggers\"},{\"kind\":1024,\"name\":\"customMessages\",\"url\":\"interfaces/CognitoAuthenticationProps.html#triggers.__type-2.customMessages\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.triggers.__type\"},{\"kind\":1024,\"name\":\"preTokenGeneration\",\"url\":\"interfaces/CognitoAuthenticationProps.html#triggers.__type-2.preTokenGeneration\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.triggers.__type\"},{\"kind\":1024,\"name\":\"userPoolProps\",\"url\":\"interfaces/CognitoAuthenticationProps.html#userPoolProps\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":1024,\"name\":\"sesEmailSender\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender.__type-1\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.sesEmailSender\"},{\"kind\":1024,\"name\":\"region\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender.__type-1.region\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.sesEmailSender.__type\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender.__type-1.name\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.sesEmailSender.__type\"},{\"kind\":1024,\"name\":\"email\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender.__type-1.email\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.sesEmailSender.__type\"},{\"kind\":1024,\"name\":\"groups\",\"url\":\"interfaces/CognitoAuthenticationProps.html#groups\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/CognitoAuthenticationProps.html#groups.__type\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.groups\"},{\"kind\":128,\"name\":\"CognitoAuthentication\",\"url\":\"classes/CognitoAuthentication.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CognitoAuthentication.html#constructor\",\"classes\":\"\",\"parent\":\"CognitoAuthentication\"},{\"kind\":1024,\"name\":\"userpool\",\"url\":\"classes/CognitoAuthentication.html#userpool\",\"classes\":\"\",\"parent\":\"CognitoAuthentication\"},{\"kind\":1024,\"name\":\"customMessageFunction\",\"url\":\"classes/CognitoAuthentication.html#customMessageFunction\",\"classes\":\"\",\"parent\":\"CognitoAuthentication\"},{\"kind\":1024,\"name\":\"preTokenGenerationFunction\",\"url\":\"classes/CognitoAuthentication.html#preTokenGenerationFunction\",\"classes\":\"\",\"parent\":\"CognitoAuthentication\"},{\"kind\":256,\"name\":\"BaseApiProps\",\"url\":\"interfaces/BaseApiProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"apiName\",\"url\":\"interfaces/BaseApiProps.html#apiName\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"stageName\",\"url\":\"interfaces/BaseApiProps.html#stageName\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"monitoring\",\"url\":\"interfaces/BaseApiProps.html#monitoring\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"singleTableDatastore\",\"url\":\"interfaces/BaseApiProps.html#singleTableDatastore\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"authentication\",\"url\":\"interfaces/BaseApiProps.html#authentication\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"assetCdn\",\"url\":\"interfaces/BaseApiProps.html#assetCdn\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"additionalEnv\",\"url\":\"interfaces/BaseApiProps.html#additionalEnv\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/BaseApiProps.html#additionalEnv.__type\",\"classes\":\"\",\"parent\":\"BaseApiProps.additionalEnv\"},{\"kind\":1024,\"name\":\"lambdaOptions\",\"url\":\"interfaces/BaseApiProps.html#lambdaOptions\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"lambdaTracing\",\"url\":\"interfaces/BaseApiProps.html#lambdaTracing\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":128,\"name\":\"BaseApi\",\"url\":\"classes/BaseApi.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/BaseApi.html#constructor\",\"classes\":\"\",\"parent\":\"BaseApi\"},{\"kind\":4194304,\"name\":\"LambdaOptions\",\"url\":\"types/LambdaOptions.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"LambdaTracingOptions\",\"url\":\"interfaces/LambdaTracingOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"xRayTracing\",\"url\":\"interfaces/LambdaTracingOptions.html#xRayTracing\",\"classes\":\"\",\"parent\":\"LambdaTracingOptions\"},{\"kind\":256,\"name\":\"LambdaFunctionProps\",\"url\":\"interfaces/LambdaFunctionProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"stageName\",\"url\":\"interfaces/LambdaFunctionProps.html#stageName\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"entry\",\"url\":\"interfaces/LambdaFunctionProps.html#entry\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"handler\",\"url\":\"interfaces/LambdaFunctionProps.html#handler\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"description\",\"url\":\"interfaces/LambdaFunctionProps.html#description\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"table\",\"url\":\"interfaces/LambdaFunctionProps.html#table\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"tableWrites\",\"url\":\"interfaces/LambdaFunctionProps.html#tableWrites\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"userPool\",\"url\":\"interfaces/LambdaFunctionProps.html#userPool\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"jwt\",\"url\":\"interfaces/LambdaFunctionProps.html#jwt\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"assetBucket\",\"url\":\"interfaces/LambdaFunctionProps.html#assetBucket\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"assetDomainName\",\"url\":\"interfaces/LambdaFunctionProps.html#assetDomainName\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"includeSDK\",\"url\":\"interfaces/LambdaFunctionProps.html#includeSDK\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"additionalEnv\",\"url\":\"interfaces/LambdaFunctionProps.html#additionalEnv\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/LambdaFunctionProps.html#additionalEnv.__type\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps.additionalEnv\"},{\"kind\":1024,\"name\":\"lambdaOptions\",\"url\":\"interfaces/LambdaFunctionProps.html#lambdaOptions\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"lambdaTracing\",\"url\":\"interfaces/LambdaFunctionProps.html#lambdaTracing\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":128,\"name\":\"LambdaFunction\",\"url\":\"classes/LambdaFunction.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/LambdaFunction.html#constructor\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":1024,\"name\":\"props\",\"url\":\"classes/LambdaFunction.html#props\",\"classes\":\"tsd-is-private\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"setTable\",\"url\":\"classes/LambdaFunction.html#setTable\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"setUserPool\",\"url\":\"classes/LambdaFunction.html#setUserPool\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantTableWrite\",\"url\":\"classes/LambdaFunction.html#grantTableWrite\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantSendEmails\",\"url\":\"classes/LambdaFunction.html#grantSendEmails\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantUploadAssets\",\"url\":\"classes/LambdaFunction.html#grantUploadAssets\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantDeleteAsset\",\"url\":\"classes/LambdaFunction.html#grantDeleteAsset\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantUserpoolRead\",\"url\":\"classes/LambdaFunction.html#grantUserpoolRead\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantUserpoolReadWrite\",\"url\":\"classes/LambdaFunction.html#grantUserpoolReadWrite\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"setTimeout\",\"url\":\"classes/LambdaFunction.html#setTimeout\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":256,\"name\":\"RestApiProps\",\"url\":\"interfaces/RestApiProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"domainName\",\"url\":\"interfaces/RestApiProps.html#domainName\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"apiHostname\",\"url\":\"interfaces/RestApiProps.html#apiHostname\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"autoGenerateRoutes\",\"url\":\"interfaces/RestApiProps.html#autoGenerateRoutes\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"restApiProps\",\"url\":\"interfaces/RestApiProps.html#restApiProps\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"lambdaOptionsByOperation\",\"url\":\"interfaces/RestApiProps.html#lambdaOptionsByOperation\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"definitionFileName\",\"url\":\"interfaces/RestApiProps.html#definitionFileName\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"apiName\",\"url\":\"interfaces/RestApiProps.html#apiName\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"stageName\",\"url\":\"interfaces/RestApiProps.html#stageName\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"monitoring\",\"url\":\"interfaces/RestApiProps.html#monitoring\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"singleTableDatastore\",\"url\":\"interfaces/RestApiProps.html#singleTableDatastore\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"authentication\",\"url\":\"interfaces/RestApiProps.html#authentication\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"assetCdn\",\"url\":\"interfaces/RestApiProps.html#assetCdn\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"additionalEnv\",\"url\":\"interfaces/RestApiProps.html#additionalEnv\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/RestApiProps.html#additionalEnv.__type\",\"classes\":\"\",\"parent\":\"RestApiProps.additionalEnv\"},{\"kind\":1024,\"name\":\"lambdaOptions\",\"url\":\"interfaces/RestApiProps.html#lambdaOptions\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"lambdaTracing\",\"url\":\"interfaces/RestApiProps.html#lambdaTracing\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":128,\"name\":\"RestApi\",\"url\":\"classes/RestApi.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/RestApi.html#constructor\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":1024,\"name\":\"api\",\"url\":\"classes/RestApi.html#api\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":1024,\"name\":\"apiSpec\",\"url\":\"classes/RestApi.html#apiSpec\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":1024,\"name\":\"_functions\",\"url\":\"classes/RestApi.html#_functions\",\"classes\":\"tsd-is-private\",\"parent\":\"RestApi\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/RestApi.html#_functions.__type\",\"classes\":\"\",\"parent\":\"RestApi._functions\"},{\"kind\":1024,\"name\":\"props\",\"url\":\"classes/RestApi.html#props\",\"classes\":\"tsd-is-private\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"cleanupSpec\",\"url\":\"classes/RestApi.html#cleanupSpec\",\"classes\":\"tsd-is-protected\",\"parent\":\"RestApi\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/RestApi.html#cleanupSpec.cleanupSpec-1.__type-1\",\"classes\":\"\",\"parent\":\"RestApi.cleanupSpec.cleanupSpec\"},{\"kind\":2048,\"name\":\"getFunctionForOperation\",\"url\":\"classes/RestApi.html#getFunctionForOperation\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"getFunctions\",\"url\":\"classes/RestApi.html#getFunctions\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"modifyOperationFunctions\",\"url\":\"classes/RestApi.html#modifyOperationFunctions\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"addRestResource\",\"url\":\"classes/RestApi.html#addRestResource\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"addCustomRestResource\",\"url\":\"classes/RestApi.html#addCustomRestResource\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"tableWriteAccessForMethod\",\"url\":\"classes/RestApi.html#tableWriteAccessForMethod\",\"classes\":\"tsd-is-private\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"patchSecurity\",\"url\":\"classes/RestApi.html#patchSecurity\",\"classes\":\"tsd-is-protected\",\"parent\":\"RestApi\"},{\"kind\":256,\"name\":\"SingleTableDesign\",\"url\":\"interfaces/SingleTableDesign.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"primaryKey\",\"url\":\"interfaces/SingleTableDesign.html#primaryKey\",\"classes\":\"\",\"parent\":\"SingleTableDesign\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/SingleTableDesign.html#primaryKey.__type\",\"classes\":\"\",\"parent\":\"SingleTableDesign.primaryKey\"},{\"kind\":1024,\"name\":\"partitionKey\",\"url\":\"interfaces/SingleTableDesign.html#primaryKey.__type.partitionKey\",\"classes\":\"\",\"parent\":\"SingleTableDesign.primaryKey.__type\"},{\"kind\":1024,\"name\":\"sortKey\",\"url\":\"interfaces/SingleTableDesign.html#primaryKey.__type.sortKey\",\"classes\":\"\",\"parent\":\"SingleTableDesign.primaryKey.__type\"},{\"kind\":1024,\"name\":\"timeToLiveAttribute\",\"url\":\"interfaces/SingleTableDesign.html#timeToLiveAttribute\",\"classes\":\"\",\"parent\":\"SingleTableDesign\"},{\"kind\":1024,\"name\":\"globalIndexes\",\"url\":\"interfaces/SingleTableDesign.html#globalIndexes\",\"classes\":\"\",\"parent\":\"SingleTableDesign\"},{\"kind\":1024,\"name\":\"localIndexes\",\"url\":\"interfaces/SingleTableDesign.html#localIndexes\",\"classes\":\"\",\"parent\":\"SingleTableDesign\"},{\"kind\":256,\"name\":\"SingleTableDatastoreProps\",\"url\":\"interfaces/SingleTableDatastoreProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"design\",\"url\":\"interfaces/SingleTableDatastoreProps.html#design\",\"classes\":\"\",\"parent\":\"SingleTableDatastoreProps\"},{\"kind\":1024,\"name\":\"encryption\",\"url\":\"interfaces/SingleTableDatastoreProps.html#encryption\",\"classes\":\"\",\"parent\":\"SingleTableDatastoreProps\"},{\"kind\":1024,\"name\":\"encryptionKey\",\"url\":\"interfaces/SingleTableDatastoreProps.html#encryptionKey\",\"classes\":\"\",\"parent\":\"SingleTableDatastoreProps\"},{\"kind\":128,\"name\":\"SingleTableDatastore\",\"url\":\"classes/SingleTableDatastore.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/SingleTableDatastore.html#constructor\",\"classes\":\"\",\"parent\":\"SingleTableDatastore\"},{\"kind\":1024,\"name\":\"table\",\"url\":\"classes/SingleTableDatastore.html#table\",\"classes\":\"\",\"parent\":\"SingleTableDatastore\"},{\"kind\":256,\"name\":\"WorkflowProps\",\"url\":\"interfaces/WorkflowProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"stateMachineType\",\"url\":\"interfaces/WorkflowProps.html#stateMachineType\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":1024,\"name\":\"loggingConfiguration\",\"url\":\"interfaces/WorkflowProps.html#loggingConfiguration\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":1024,\"name\":\"tracingConfiguration\",\"url\":\"interfaces/WorkflowProps.html#tracingConfiguration\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":1024,\"name\":\"definitionFileName\",\"url\":\"interfaces/WorkflowProps.html#definitionFileName\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":1024,\"name\":\"definitionSubstitutions\",\"url\":\"interfaces/WorkflowProps.html#definitionSubstitutions\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/WorkflowProps.html#definitionSubstitutions.__type\",\"classes\":\"\",\"parent\":\"WorkflowProps.definitionSubstitutions\"},{\"kind\":128,\"name\":\"Workflow\",\"url\":\"classes/Workflow.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Workflow.html#constructor\",\"classes\":\"\",\"parent\":\"Workflow\"},{\"kind\":1024,\"name\":\"role\",\"url\":\"classes/Workflow.html#role\",\"classes\":\"\",\"parent\":\"Workflow\"},{\"kind\":1024,\"name\":\"workflowArn\",\"url\":\"classes/Workflow.html#workflowArn\",\"classes\":\"\",\"parent\":\"Workflow\"},{\"kind\":1024,\"name\":\"grantPrincipal\",\"url\":\"classes/Workflow.html#grantPrincipal\",\"classes\":\"\",\"parent\":\"Workflow\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,45.218]],[\"comment/0\",[]],[\"name/1\",[1,40.11]],[\"comment/1\",[]],[\"name/2\",[2,45.218]],[\"comment/2\",[]],[\"name/3\",[3,36.745]],[\"comment/3\",[]],[\"name/4\",[4,29.124]],[\"comment/4\",[]],[\"name/5\",[5,45.218]],[\"comment/5\",[]],[\"name/6\",[6,40.11]],[\"comment/6\",[]],[\"name/7\",[7,40.11]],[\"comment/7\",[]],[\"name/8\",[8,45.218]],[\"comment/8\",[]],[\"name/9\",[9,36.745]],[\"comment/9\",[]],[\"name/10\",[10,45.218]],[\"comment/10\",[]],[\"name/11\",[11,45.218]],[\"comment/11\",[]],[\"name/12\",[12,45.218]],[\"comment/12\",[]],[\"name/13\",[13,45.218]],[\"comment/13\",[]],[\"name/14\",[14,45.218]],[\"comment/14\",[]],[\"name/15\",[15,45.218]],[\"comment/15\",[]],[\"name/16\",[16,45.218]],[\"comment/16\",[]],[\"name/17\",[17,25.759]],[\"comment/17\",[]],[\"name/18\",[18,45.218]],[\"comment/18\",[]],[\"name/19\",[19,45.218]],[\"comment/19\",[]],[\"name/20\",[20,45.218]],[\"comment/20\",[]],[\"name/21\",[21,45.218]],[\"comment/21\",[]],[\"name/22\",[17,25.759]],[\"comment/22\",[]],[\"name/23\",[22,45.218]],[\"comment/23\",[]],[\"name/24\",[23,45.218]],[\"comment/24\",[]],[\"name/25\",[24,45.218]],[\"comment/25\",[]],[\"name/26\",[25,45.218]],[\"comment/26\",[]],[\"name/27\",[17,25.759]],[\"comment/27\",[]],[\"name/28\",[26,45.218]],[\"comment/28\",[]],[\"name/29\",[4,29.124]],[\"comment/29\",[]],[\"name/30\",[9,36.745]],[\"comment/30\",[]],[\"name/31\",[27,45.218]],[\"comment/31\",[]],[\"name/32\",[28,45.218]],[\"comment/32\",[]],[\"name/33\",[29,45.218]],[\"comment/33\",[]],[\"name/34\",[30,40.11]],[\"comment/34\",[]],[\"name/35\",[31,36.745]],[\"comment/35\",[]],[\"name/36\",[32,40.11]],[\"comment/36\",[]],[\"name/37\",[33,36.745]],[\"comment/37\",[]],[\"name/38\",[34,40.11]],[\"comment/38\",[]],[\"name/39\",[3,36.745]],[\"comment/39\",[]],[\"name/40\",[35,36.745]],[\"comment/40\",[]],[\"name/41\",[17,25.759]],[\"comment/41\",[]],[\"name/42\",[36,34.232]],[\"comment/42\",[]],[\"name/43\",[37,36.745]],[\"comment/43\",[]],[\"name/44\",[38,45.218]],[\"comment/44\",[]],[\"name/45\",[4,29.124]],[\"comment/45\",[]],[\"name/46\",[36,34.232]],[\"comment/46\",[]],[\"name/47\",[39,45.218]],[\"comment/47\",[]],[\"name/48\",[40,45.218]],[\"comment/48\",[]],[\"name/49\",[41,45.218]],[\"comment/49\",[]],[\"name/50\",[31,36.745]],[\"comment/50\",[]],[\"name/51\",[42,45.218]],[\"comment/51\",[]],[\"name/52\",[43,45.218]],[\"comment/52\",[]],[\"name/53\",[44,45.218]],[\"comment/53\",[]],[\"name/54\",[45,40.11]],[\"comment/54\",[]],[\"name/55\",[46,45.218]],[\"comment/55\",[]],[\"name/56\",[9,36.745]],[\"comment/56\",[]],[\"name/57\",[47,45.218]],[\"comment/57\",[]],[\"name/58\",[6,40.11]],[\"comment/58\",[]],[\"name/59\",[7,40.11]],[\"comment/59\",[]],[\"name/60\",[48,45.218]],[\"comment/60\",[]],[\"name/61\",[35,36.745]],[\"comment/61\",[]],[\"name/62\",[17,25.759]],[\"comment/62\",[]],[\"name/63\",[36,34.232]],[\"comment/63\",[]],[\"name/64\",[37,36.745]],[\"comment/64\",[]],[\"name/65\",[49,45.218]],[\"comment/65\",[]],[\"name/66\",[4,29.124]],[\"comment/66\",[]],[\"name/67\",[50,40.11]],[\"comment/67\",[]],[\"name/68\",[51,45.218]],[\"comment/68\",[]],[\"name/69\",[52,45.218]],[\"comment/69\",[]],[\"name/70\",[53,45.218]],[\"comment/70\",[]],[\"name/71\",[54,45.218]],[\"comment/71\",[]],[\"name/72\",[55,45.218]],[\"comment/72\",[]],[\"name/73\",[56,45.218]],[\"comment/73\",[]],[\"name/74\",[57,45.218]],[\"comment/74\",[]],[\"name/75\",[58,45.218]],[\"comment/75\",[]],[\"name/76\",[59,45.218]],[\"comment/76\",[]],[\"name/77\",[60,40.11]],[\"comment/77\",[]],[\"name/78\",[1,40.11]],[\"comment/78\",[]],[\"name/79\",[61,45.218]],[\"comment/79\",[]],[\"name/80\",[62,45.218]],[\"comment/80\",[]],[\"name/81\",[60,40.11]],[\"comment/81\",[]],[\"name/82\",[63,45.218]],[\"comment/82\",[]],[\"name/83\",[64,40.11]],[\"comment/83\",[]],[\"name/84\",[30,40.11]],[\"comment/84\",[]],[\"name/85\",[31,36.745]],[\"comment/85\",[]],[\"name/86\",[32,40.11]],[\"comment/86\",[]],[\"name/87\",[33,36.745]],[\"comment/87\",[]],[\"name/88\",[34,40.11]],[\"comment/88\",[]],[\"name/89\",[3,36.745]],[\"comment/89\",[]],[\"name/90\",[35,36.745]],[\"comment/90\",[]],[\"name/91\",[17,25.759]],[\"comment/91\",[]],[\"name/92\",[36,34.232]],[\"comment/92\",[]],[\"name/93\",[37,36.745]],[\"comment/93\",[]],[\"name/94\",[65,45.218]],[\"comment/94\",[]],[\"name/95\",[4,29.124]],[\"comment/95\",[]],[\"name/96\",[66,45.218]],[\"comment/96\",[]],[\"name/97\",[67,45.218]],[\"comment/97\",[]],[\"name/98\",[68,45.218]],[\"comment/98\",[]],[\"name/99\",[17,25.759]],[\"comment/99\",[]],[\"name/100\",[50,40.11]],[\"comment/100\",[]],[\"name/101\",[69,45.218]],[\"comment/101\",[]],[\"name/102\",[17,25.759]],[\"comment/102\",[]],[\"name/103\",[70,45.218]],[\"comment/103\",[]],[\"name/104\",[71,45.218]],[\"comment/104\",[]],[\"name/105\",[72,45.218]],[\"comment/105\",[]],[\"name/106\",[73,45.218]],[\"comment/106\",[]],[\"name/107\",[74,45.218]],[\"comment/107\",[]],[\"name/108\",[75,45.218]],[\"comment/108\",[]],[\"name/109\",[76,45.218]],[\"comment/109\",[]],[\"name/110\",[77,45.218]],[\"comment/110\",[]],[\"name/111\",[78,45.218]],[\"comment/111\",[]],[\"name/112\",[17,25.759]],[\"comment/112\",[]],[\"name/113\",[79,45.218]],[\"comment/113\",[]],[\"name/114\",[80,45.218]],[\"comment/114\",[]],[\"name/115\",[81,45.218]],[\"comment/115\",[]],[\"name/116\",[82,45.218]],[\"comment/116\",[]],[\"name/117\",[83,45.218]],[\"comment/117\",[]],[\"name/118\",[84,45.218]],[\"comment/118\",[]],[\"name/119\",[85,45.218]],[\"comment/119\",[]],[\"name/120\",[86,45.218]],[\"comment/120\",[]],[\"name/121\",[87,45.218]],[\"comment/121\",[]],[\"name/122\",[33,36.745]],[\"comment/122\",[]],[\"name/123\",[4,29.124]],[\"comment/123\",[]],[\"name/124\",[45,40.11]],[\"comment/124\",[]],[\"name/125\",[88,45.218]],[\"comment/125\",[]],[\"name/126\",[89,45.218]],[\"comment/126\",[]],[\"name/127\",[90,45.218]],[\"comment/127\",[]],[\"name/128\",[91,45.218]],[\"comment/128\",[]],[\"name/129\",[64,40.11]],[\"comment/129\",[]],[\"name/130\",[92,45.218]],[\"comment/130\",[]],[\"name/131\",[17,25.759]],[\"comment/131\",[]],[\"name/132\",[93,45.218]],[\"comment/132\",[]],[\"name/133\",[4,29.124]],[\"comment/133\",[]],[\"name/134\",[94,45.218]],[\"comment/134\",[]],[\"name/135\",[95,45.218]],[\"comment/135\",[]],[\"name/136\",[96,45.218]],[\"comment/136\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":17,\"name\":{\"17\":{},\"22\":{},\"27\":{},\"41\":{},\"62\":{},\"91\":{},\"99\":{},\"102\":{},\"112\":{},\"131\":{}},\"comment\":{}}],[\"_functions\",{\"_index\":68,\"name\":{\"98\":{}},\"comment\":{}}],[\"addcustomrestresource\",{\"_index\":74,\"name\":{\"107\":{}},\"comment\":{}}],[\"additionalenv\",{\"_index\":35,\"name\":{\"40\":{},\"61\":{},\"90\":{}},\"comment\":{}}],[\"addrestresource\",{\"_index\":73,\"name\":{\"106\":{}},\"comment\":{}}],[\"api\",{\"_index\":66,\"name\":{\"96\":{}},\"comment\":{}}],[\"apihostname\",{\"_index\":61,\"name\":{\"79\":{}},\"comment\":{}}],[\"apiname\",{\"_index\":30,\"name\":{\"34\":{},\"84\":{}},\"comment\":{}}],[\"apispec\",{\"_index\":67,\"name\":{\"97\":{}},\"comment\":{}}],[\"assetbucket\",{\"_index\":6,\"name\":{\"6\":{},\"58\":{}},\"comment\":{}}],[\"assetcdn\",{\"_index\":3,\"name\":{\"3\":{},\"39\":{},\"89\":{}},\"comment\":{}}],[\"assetcdnprops\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"assetdomainname\",{\"_index\":7,\"name\":{\"7\":{},\"59\":{}},\"comment\":{}}],[\"audience\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"authentication\",{\"_index\":34,\"name\":{\"38\":{},\"88\":{}},\"comment\":{}}],[\"autogenerateroutes\",{\"_index\":62,\"name\":{\"80\":{}},\"comment\":{}}],[\"baseapi\",{\"_index\":38,\"name\":{\"44\":{}},\"comment\":{}}],[\"baseapiprops\",{\"_index\":29,\"name\":{\"33\":{}},\"comment\":{}}],[\"cleanupspec\",{\"_index\":69,\"name\":{\"101\":{}},\"comment\":{}}],[\"cognitoauthentication\",{\"_index\":26,\"name\":{\"28\":{}},\"comment\":{}}],[\"cognitoauthenticationprops\",{\"_index\":14,\"name\":{\"14\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":4,\"name\":{\"4\":{},\"29\":{},\"45\":{},\"66\":{},\"95\":{},\"123\":{},\"133\":{}},\"comment\":{}}],[\"custommessagefunction\",{\"_index\":27,\"name\":{\"31\":{}},\"comment\":{}}],[\"custommessages\",{\"_index\":18,\"name\":{\"18\":{}},\"comment\":{}}],[\"definitionfilename\",{\"_index\":64,\"name\":{\"83\":{},\"129\":{}},\"comment\":{}}],[\"definitionsubstitutions\",{\"_index\":92,\"name\":{\"130\":{}},\"comment\":{}}],[\"description\",{\"_index\":44,\"name\":{\"53\":{}},\"comment\":{}}],[\"design\",{\"_index\":85,\"name\":{\"119\":{}},\"comment\":{}}],[\"domainname\",{\"_index\":1,\"name\":{\"1\":{},\"78\":{}},\"comment\":{}}],[\"email\",{\"_index\":24,\"name\":{\"25\":{}},\"comment\":{}}],[\"encryption\",{\"_index\":86,\"name\":{\"120\":{}},\"comment\":{}}],[\"encryptionkey\",{\"_index\":87,\"name\":{\"121\":{}},\"comment\":{}}],[\"entry\",{\"_index\":42,\"name\":{\"51\":{}},\"comment\":{}}],[\"getfunctionforoperation\",{\"_index\":70,\"name\":{\"103\":{}},\"comment\":{}}],[\"getfunctions\",{\"_index\":71,\"name\":{\"104\":{}},\"comment\":{}}],[\"globalindexes\",{\"_index\":82,\"name\":{\"116\":{}},\"comment\":{}}],[\"grantdeleteasset\",{\"_index\":56,\"name\":{\"73\":{}},\"comment\":{}}],[\"grantprincipal\",{\"_index\":96,\"name\":{\"136\":{}},\"comment\":{}}],[\"grantsendemails\",{\"_index\":54,\"name\":{\"71\":{}},\"comment\":{}}],[\"granttablewrite\",{\"_index\":53,\"name\":{\"70\":{}},\"comment\":{}}],[\"grantuploadassets\",{\"_index\":55,\"name\":{\"72\":{}},\"comment\":{}}],[\"grantuserpoolread\",{\"_index\":57,\"name\":{\"74\":{}},\"comment\":{}}],[\"grantuserpoolreadwrite\",{\"_index\":58,\"name\":{\"75\":{}},\"comment\":{}}],[\"groups\",{\"_index\":25,\"name\":{\"26\":{}},\"comment\":{}}],[\"handler\",{\"_index\":43,\"name\":{\"52\":{}},\"comment\":{}}],[\"hostname\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"icognitoauthentication\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"ijwtauthentication\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"includesdk\",{\"_index\":48,\"name\":{\"60\":{}},\"comment\":{}}],[\"issuerurl\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"jwksurl\",{\"_index\":13,\"name\":{\"13\":{}},\"comment\":{}}],[\"jwt\",{\"_index\":47,\"name\":{\"57\":{}},\"comment\":{}}],[\"lambdafunction\",{\"_index\":49,\"name\":{\"65\":{}},\"comment\":{}}],[\"lambdafunctionprops\",{\"_index\":41,\"name\":{\"49\":{}},\"comment\":{}}],[\"lambdaoptions\",{\"_index\":36,\"name\":{\"42\":{},\"46\":{},\"63\":{},\"92\":{}},\"comment\":{}}],[\"lambdaoptionsbyoperation\",{\"_index\":63,\"name\":{\"82\":{}},\"comment\":{}}],[\"lambdatracing\",{\"_index\":37,\"name\":{\"43\":{},\"64\":{},\"93\":{}},\"comment\":{}}],[\"lambdatracingoptions\",{\"_index\":39,\"name\":{\"47\":{}},\"comment\":{}}],[\"localindexes\",{\"_index\":83,\"name\":{\"117\":{}},\"comment\":{}}],[\"loggingconfiguration\",{\"_index\":90,\"name\":{\"127\":{}},\"comment\":{}}],[\"modifyoperationfunctions\",{\"_index\":72,\"name\":{\"105\":{}},\"comment\":{}}],[\"monitoring\",{\"_index\":32,\"name\":{\"36\":{},\"86\":{}},\"comment\":{}}],[\"name\",{\"_index\":23,\"name\":{\"24\":{}},\"comment\":{}}],[\"partitionkey\",{\"_index\":79,\"name\":{\"113\":{}},\"comment\":{}}],[\"patchsecurity\",{\"_index\":76,\"name\":{\"109\":{}},\"comment\":{}}],[\"pretokengeneration\",{\"_index\":19,\"name\":{\"19\":{}},\"comment\":{}}],[\"pretokengenerationfunction\",{\"_index\":28,\"name\":{\"32\":{}},\"comment\":{}}],[\"primarykey\",{\"_index\":78,\"name\":{\"111\":{}},\"comment\":{}}],[\"props\",{\"_index\":50,\"name\":{\"67\":{},\"100\":{}},\"comment\":{}}],[\"region\",{\"_index\":22,\"name\":{\"23\":{}},\"comment\":{}}],[\"restapi\",{\"_index\":65,\"name\":{\"94\":{}},\"comment\":{}}],[\"restapiprops\",{\"_index\":60,\"name\":{\"77\":{},\"81\":{}},\"comment\":{}}],[\"role\",{\"_index\":94,\"name\":{\"134\":{}},\"comment\":{}}],[\"sesemailsender\",{\"_index\":21,\"name\":{\"21\":{}},\"comment\":{}}],[\"settable\",{\"_index\":51,\"name\":{\"68\":{}},\"comment\":{}}],[\"settimeout\",{\"_index\":59,\"name\":{\"76\":{}},\"comment\":{}}],[\"setuserpool\",{\"_index\":52,\"name\":{\"69\":{}},\"comment\":{}}],[\"singletabledatastore\",{\"_index\":33,\"name\":{\"37\":{},\"87\":{},\"122\":{}},\"comment\":{}}],[\"singletabledatastoreprops\",{\"_index\":84,\"name\":{\"118\":{}},\"comment\":{}}],[\"singletabledesign\",{\"_index\":77,\"name\":{\"110\":{}},\"comment\":{}}],[\"sortkey\",{\"_index\":80,\"name\":{\"114\":{}},\"comment\":{}}],[\"stagename\",{\"_index\":31,\"name\":{\"35\":{},\"50\":{},\"85\":{}},\"comment\":{}}],[\"statemachinetype\",{\"_index\":89,\"name\":{\"126\":{}},\"comment\":{}}],[\"table\",{\"_index\":45,\"name\":{\"54\":{},\"124\":{}},\"comment\":{}}],[\"tablewriteaccessformethod\",{\"_index\":75,\"name\":{\"108\":{}},\"comment\":{}}],[\"tablewrites\",{\"_index\":46,\"name\":{\"55\":{}},\"comment\":{}}],[\"timetoliveattribute\",{\"_index\":81,\"name\":{\"115\":{}},\"comment\":{}}],[\"tracingconfiguration\",{\"_index\":91,\"name\":{\"128\":{}},\"comment\":{}}],[\"triggers\",{\"_index\":16,\"name\":{\"16\":{}},\"comment\":{}}],[\"userpool\",{\"_index\":9,\"name\":{\"9\":{},\"30\":{},\"56\":{}},\"comment\":{}}],[\"userpoolname\",{\"_index\":15,\"name\":{\"15\":{}},\"comment\":{}}],[\"userpoolprops\",{\"_index\":20,\"name\":{\"20\":{}},\"comment\":{}}],[\"workflow\",{\"_index\":93,\"name\":{\"132\":{}},\"comment\":{}}],[\"workflowarn\",{\"_index\":95,\"name\":{\"135\":{}},\"comment\":{}}],[\"workflowprops\",{\"_index\":88,\"name\":{\"125\":{}},\"comment\":{}}],[\"xraytracing\",{\"_index\":40,\"name\":{\"48\":{}},\"comment\":{}}],[\"zone\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}]],\"pipeline\":[]}}");
1
+ window.searchData = JSON.parse("{\"rows\":[{\"kind\":256,\"name\":\"AssetCdnProps\",\"url\":\"interfaces/AssetCdnProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"domainName\",\"url\":\"interfaces/AssetCdnProps.html#domainName\",\"classes\":\"\",\"parent\":\"AssetCdnProps\"},{\"kind\":1024,\"name\":\"hostName\",\"url\":\"interfaces/AssetCdnProps.html#hostName\",\"classes\":\"\",\"parent\":\"AssetCdnProps\"},{\"kind\":128,\"name\":\"AssetCdn\",\"url\":\"classes/AssetCdn.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/AssetCdn.html#constructor\",\"classes\":\"\",\"parent\":\"AssetCdn\"},{\"kind\":1024,\"name\":\"zone\",\"url\":\"classes/AssetCdn.html#zone\",\"classes\":\"\",\"parent\":\"AssetCdn\"},{\"kind\":1024,\"name\":\"assetBucket\",\"url\":\"classes/AssetCdn.html#assetBucket\",\"classes\":\"\",\"parent\":\"AssetCdn\"},{\"kind\":1024,\"name\":\"assetDomainName\",\"url\":\"classes/AssetCdn.html#assetDomainName\",\"classes\":\"\",\"parent\":\"AssetCdn\"},{\"kind\":256,\"name\":\"ICognitoAuthentication\",\"url\":\"interfaces/ICognitoAuthentication.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"userpool\",\"url\":\"interfaces/ICognitoAuthentication.html#userpool\",\"classes\":\"\",\"parent\":\"ICognitoAuthentication\"},{\"kind\":256,\"name\":\"IJwtAuthentication\",\"url\":\"interfaces/IJwtAuthentication.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"issuerUrl\",\"url\":\"interfaces/IJwtAuthentication.html#issuerUrl\",\"classes\":\"\",\"parent\":\"IJwtAuthentication\"},{\"kind\":1024,\"name\":\"audience\",\"url\":\"interfaces/IJwtAuthentication.html#audience\",\"classes\":\"\",\"parent\":\"IJwtAuthentication\"},{\"kind\":1024,\"name\":\"jwksUrl\",\"url\":\"interfaces/IJwtAuthentication.html#jwksUrl\",\"classes\":\"\",\"parent\":\"IJwtAuthentication\"},{\"kind\":256,\"name\":\"CognitoAuthenticationProps\",\"url\":\"interfaces/CognitoAuthenticationProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"userPoolName\",\"url\":\"interfaces/CognitoAuthenticationProps.html#userPoolName\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":1024,\"name\":\"triggers\",\"url\":\"interfaces/CognitoAuthenticationProps.html#triggers\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/CognitoAuthenticationProps.html#triggers.__type-2\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.triggers\"},{\"kind\":1024,\"name\":\"customMessages\",\"url\":\"interfaces/CognitoAuthenticationProps.html#triggers.__type-2.customMessages\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.triggers.__type\"},{\"kind\":1024,\"name\":\"preTokenGeneration\",\"url\":\"interfaces/CognitoAuthenticationProps.html#triggers.__type-2.preTokenGeneration\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.triggers.__type\"},{\"kind\":1024,\"name\":\"userPoolProps\",\"url\":\"interfaces/CognitoAuthenticationProps.html#userPoolProps\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":1024,\"name\":\"sesEmailSender\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender.__type-1\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.sesEmailSender\"},{\"kind\":1024,\"name\":\"region\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender.__type-1.region\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.sesEmailSender.__type\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender.__type-1.name\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.sesEmailSender.__type\"},{\"kind\":1024,\"name\":\"email\",\"url\":\"interfaces/CognitoAuthenticationProps.html#sesEmailSender.__type-1.email\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.sesEmailSender.__type\"},{\"kind\":1024,\"name\":\"groups\",\"url\":\"interfaces/CognitoAuthenticationProps.html#groups\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/CognitoAuthenticationProps.html#groups.__type\",\"classes\":\"\",\"parent\":\"CognitoAuthenticationProps.groups\"},{\"kind\":128,\"name\":\"CognitoAuthentication\",\"url\":\"classes/CognitoAuthentication.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CognitoAuthentication.html#constructor\",\"classes\":\"\",\"parent\":\"CognitoAuthentication\"},{\"kind\":1024,\"name\":\"userpool\",\"url\":\"classes/CognitoAuthentication.html#userpool\",\"classes\":\"\",\"parent\":\"CognitoAuthentication\"},{\"kind\":1024,\"name\":\"customMessageFunction\",\"url\":\"classes/CognitoAuthentication.html#customMessageFunction\",\"classes\":\"\",\"parent\":\"CognitoAuthentication\"},{\"kind\":1024,\"name\":\"preTokenGenerationFunction\",\"url\":\"classes/CognitoAuthentication.html#preTokenGenerationFunction\",\"classes\":\"\",\"parent\":\"CognitoAuthentication\"},{\"kind\":256,\"name\":\"BaseApiProps\",\"url\":\"interfaces/BaseApiProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"apiName\",\"url\":\"interfaces/BaseApiProps.html#apiName\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"stageName\",\"url\":\"interfaces/BaseApiProps.html#stageName\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"monitoring\",\"url\":\"interfaces/BaseApiProps.html#monitoring\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"singleTableDatastore\",\"url\":\"interfaces/BaseApiProps.html#singleTableDatastore\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"authentication\",\"url\":\"interfaces/BaseApiProps.html#authentication\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"assetCdn\",\"url\":\"interfaces/BaseApiProps.html#assetCdn\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"additionalEnv\",\"url\":\"interfaces/BaseApiProps.html#additionalEnv\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/BaseApiProps.html#additionalEnv.__type\",\"classes\":\"\",\"parent\":\"BaseApiProps.additionalEnv\"},{\"kind\":1024,\"name\":\"lambdaOptions\",\"url\":\"interfaces/BaseApiProps.html#lambdaOptions\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":1024,\"name\":\"lambdaTracing\",\"url\":\"interfaces/BaseApiProps.html#lambdaTracing\",\"classes\":\"\",\"parent\":\"BaseApiProps\"},{\"kind\":128,\"name\":\"BaseApi\",\"url\":\"classes/BaseApi.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/BaseApi.html#constructor\",\"classes\":\"\",\"parent\":\"BaseApi\"},{\"kind\":4194304,\"name\":\"LambdaOptions\",\"url\":\"types/LambdaOptions.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"LambdaTracingOptions\",\"url\":\"interfaces/LambdaTracingOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"xRayTracing\",\"url\":\"interfaces/LambdaTracingOptions.html#xRayTracing\",\"classes\":\"\",\"parent\":\"LambdaTracingOptions\"},{\"kind\":256,\"name\":\"LambdaFunctionProps\",\"url\":\"interfaces/LambdaFunctionProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"stageName\",\"url\":\"interfaces/LambdaFunctionProps.html#stageName\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"entry\",\"url\":\"interfaces/LambdaFunctionProps.html#entry\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"handler\",\"url\":\"interfaces/LambdaFunctionProps.html#handler\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"description\",\"url\":\"interfaces/LambdaFunctionProps.html#description\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"table\",\"url\":\"interfaces/LambdaFunctionProps.html#table\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"tableWrites\",\"url\":\"interfaces/LambdaFunctionProps.html#tableWrites\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"userPool\",\"url\":\"interfaces/LambdaFunctionProps.html#userPool\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"jwt\",\"url\":\"interfaces/LambdaFunctionProps.html#jwt\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"assetBucket\",\"url\":\"interfaces/LambdaFunctionProps.html#assetBucket\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"assetDomainName\",\"url\":\"interfaces/LambdaFunctionProps.html#assetDomainName\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"includeSDK\",\"url\":\"interfaces/LambdaFunctionProps.html#includeSDK\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"additionalEnv\",\"url\":\"interfaces/LambdaFunctionProps.html#additionalEnv\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/LambdaFunctionProps.html#additionalEnv.__type\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps.additionalEnv\"},{\"kind\":1024,\"name\":\"lambdaOptions\",\"url\":\"interfaces/LambdaFunctionProps.html#lambdaOptions\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":1024,\"name\":\"lambdaTracing\",\"url\":\"interfaces/LambdaFunctionProps.html#lambdaTracing\",\"classes\":\"\",\"parent\":\"LambdaFunctionProps\"},{\"kind\":128,\"name\":\"LambdaFunction\",\"url\":\"classes/LambdaFunction.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/LambdaFunction.html#constructor\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":1024,\"name\":\"props\",\"url\":\"classes/LambdaFunction.html#props\",\"classes\":\"tsd-is-private\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"setTable\",\"url\":\"classes/LambdaFunction.html#setTable\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"setUserPool\",\"url\":\"classes/LambdaFunction.html#setUserPool\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantTableWrite\",\"url\":\"classes/LambdaFunction.html#grantTableWrite\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantSendEmails\",\"url\":\"classes/LambdaFunction.html#grantSendEmails\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantUploadAssets\",\"url\":\"classes/LambdaFunction.html#grantUploadAssets\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantDeleteAsset\",\"url\":\"classes/LambdaFunction.html#grantDeleteAsset\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantUserpoolRead\",\"url\":\"classes/LambdaFunction.html#grantUserpoolRead\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"grantUserpoolReadWrite\",\"url\":\"classes/LambdaFunction.html#grantUserpoolReadWrite\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":2048,\"name\":\"setTimeout\",\"url\":\"classes/LambdaFunction.html#setTimeout\",\"classes\":\"\",\"parent\":\"LambdaFunction\"},{\"kind\":256,\"name\":\"RestApiProps\",\"url\":\"interfaces/RestApiProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"domainName\",\"url\":\"interfaces/RestApiProps.html#domainName\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"apiHostname\",\"url\":\"interfaces/RestApiProps.html#apiHostname\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"autoGenerateRoutes\",\"url\":\"interfaces/RestApiProps.html#autoGenerateRoutes\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"restApiProps\",\"url\":\"interfaces/RestApiProps.html#restApiProps\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"lambdaOptionsByOperation\",\"url\":\"interfaces/RestApiProps.html#lambdaOptionsByOperation\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"definitionFileName\",\"url\":\"interfaces/RestApiProps.html#definitionFileName\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"cors\",\"url\":\"interfaces/RestApiProps.html#cors\",\"classes\":\"\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"apiName\",\"url\":\"interfaces/RestApiProps.html#apiName\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"stageName\",\"url\":\"interfaces/RestApiProps.html#stageName\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"monitoring\",\"url\":\"interfaces/RestApiProps.html#monitoring\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"singleTableDatastore\",\"url\":\"interfaces/RestApiProps.html#singleTableDatastore\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"authentication\",\"url\":\"interfaces/RestApiProps.html#authentication\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"assetCdn\",\"url\":\"interfaces/RestApiProps.html#assetCdn\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"additionalEnv\",\"url\":\"interfaces/RestApiProps.html#additionalEnv\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/RestApiProps.html#additionalEnv.__type\",\"classes\":\"\",\"parent\":\"RestApiProps.additionalEnv\"},{\"kind\":1024,\"name\":\"lambdaOptions\",\"url\":\"interfaces/RestApiProps.html#lambdaOptions\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":1024,\"name\":\"lambdaTracing\",\"url\":\"interfaces/RestApiProps.html#lambdaTracing\",\"classes\":\"tsd-is-inherited\",\"parent\":\"RestApiProps\"},{\"kind\":128,\"name\":\"RestApi\",\"url\":\"classes/RestApi.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/RestApi.html#constructor\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":1024,\"name\":\"api\",\"url\":\"classes/RestApi.html#api\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":1024,\"name\":\"apiSpec\",\"url\":\"classes/RestApi.html#apiSpec\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":1024,\"name\":\"_functions\",\"url\":\"classes/RestApi.html#_functions\",\"classes\":\"tsd-is-private\",\"parent\":\"RestApi\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/RestApi.html#_functions.__type\",\"classes\":\"\",\"parent\":\"RestApi._functions\"},{\"kind\":1024,\"name\":\"props\",\"url\":\"classes/RestApi.html#props\",\"classes\":\"tsd-is-private\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"cleanupSpec\",\"url\":\"classes/RestApi.html#cleanupSpec\",\"classes\":\"tsd-is-protected\",\"parent\":\"RestApi\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/RestApi.html#cleanupSpec.cleanupSpec-1.__type-1\",\"classes\":\"\",\"parent\":\"RestApi.cleanupSpec.cleanupSpec\"},{\"kind\":2048,\"name\":\"getFunctionForOperation\",\"url\":\"classes/RestApi.html#getFunctionForOperation\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"getFunctions\",\"url\":\"classes/RestApi.html#getFunctions\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"modifyOperationFunctions\",\"url\":\"classes/RestApi.html#modifyOperationFunctions\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"addRestResource\",\"url\":\"classes/RestApi.html#addRestResource\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"addCustomRestResource\",\"url\":\"classes/RestApi.html#addCustomRestResource\",\"classes\":\"\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"tableWriteAccessForMethod\",\"url\":\"classes/RestApi.html#tableWriteAccessForMethod\",\"classes\":\"tsd-is-private\",\"parent\":\"RestApi\"},{\"kind\":2048,\"name\":\"patchSecurity\",\"url\":\"classes/RestApi.html#patchSecurity\",\"classes\":\"tsd-is-protected\",\"parent\":\"RestApi\"},{\"kind\":256,\"name\":\"SingleTableDesign\",\"url\":\"interfaces/SingleTableDesign.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"primaryKey\",\"url\":\"interfaces/SingleTableDesign.html#primaryKey\",\"classes\":\"\",\"parent\":\"SingleTableDesign\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/SingleTableDesign.html#primaryKey.__type\",\"classes\":\"\",\"parent\":\"SingleTableDesign.primaryKey\"},{\"kind\":1024,\"name\":\"partitionKey\",\"url\":\"interfaces/SingleTableDesign.html#primaryKey.__type.partitionKey\",\"classes\":\"\",\"parent\":\"SingleTableDesign.primaryKey.__type\"},{\"kind\":1024,\"name\":\"sortKey\",\"url\":\"interfaces/SingleTableDesign.html#primaryKey.__type.sortKey\",\"classes\":\"\",\"parent\":\"SingleTableDesign.primaryKey.__type\"},{\"kind\":1024,\"name\":\"timeToLiveAttribute\",\"url\":\"interfaces/SingleTableDesign.html#timeToLiveAttribute\",\"classes\":\"\",\"parent\":\"SingleTableDesign\"},{\"kind\":1024,\"name\":\"globalIndexes\",\"url\":\"interfaces/SingleTableDesign.html#globalIndexes\",\"classes\":\"\",\"parent\":\"SingleTableDesign\"},{\"kind\":1024,\"name\":\"localIndexes\",\"url\":\"interfaces/SingleTableDesign.html#localIndexes\",\"classes\":\"\",\"parent\":\"SingleTableDesign\"},{\"kind\":256,\"name\":\"SingleTableDatastoreProps\",\"url\":\"interfaces/SingleTableDatastoreProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"design\",\"url\":\"interfaces/SingleTableDatastoreProps.html#design\",\"classes\":\"\",\"parent\":\"SingleTableDatastoreProps\"},{\"kind\":1024,\"name\":\"encryption\",\"url\":\"interfaces/SingleTableDatastoreProps.html#encryption\",\"classes\":\"\",\"parent\":\"SingleTableDatastoreProps\"},{\"kind\":1024,\"name\":\"encryptionKey\",\"url\":\"interfaces/SingleTableDatastoreProps.html#encryptionKey\",\"classes\":\"\",\"parent\":\"SingleTableDatastoreProps\"},{\"kind\":128,\"name\":\"SingleTableDatastore\",\"url\":\"classes/SingleTableDatastore.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/SingleTableDatastore.html#constructor\",\"classes\":\"\",\"parent\":\"SingleTableDatastore\"},{\"kind\":1024,\"name\":\"table\",\"url\":\"classes/SingleTableDatastore.html#table\",\"classes\":\"\",\"parent\":\"SingleTableDatastore\"},{\"kind\":256,\"name\":\"WorkflowProps\",\"url\":\"interfaces/WorkflowProps.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"stateMachineType\",\"url\":\"interfaces/WorkflowProps.html#stateMachineType\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":1024,\"name\":\"loggingConfiguration\",\"url\":\"interfaces/WorkflowProps.html#loggingConfiguration\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":1024,\"name\":\"tracingConfiguration\",\"url\":\"interfaces/WorkflowProps.html#tracingConfiguration\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":1024,\"name\":\"definitionFileName\",\"url\":\"interfaces/WorkflowProps.html#definitionFileName\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":1024,\"name\":\"definitionSubstitutions\",\"url\":\"interfaces/WorkflowProps.html#definitionSubstitutions\",\"classes\":\"\",\"parent\":\"WorkflowProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/WorkflowProps.html#definitionSubstitutions.__type\",\"classes\":\"\",\"parent\":\"WorkflowProps.definitionSubstitutions\"},{\"kind\":128,\"name\":\"Workflow\",\"url\":\"classes/Workflow.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Workflow.html#constructor\",\"classes\":\"\",\"parent\":\"Workflow\"},{\"kind\":1024,\"name\":\"role\",\"url\":\"classes/Workflow.html#role\",\"classes\":\"\",\"parent\":\"Workflow\"},{\"kind\":1024,\"name\":\"workflowArn\",\"url\":\"classes/Workflow.html#workflowArn\",\"classes\":\"\",\"parent\":\"Workflow\"},{\"kind\":1024,\"name\":\"grantPrincipal\",\"url\":\"classes/Workflow.html#grantPrincipal\",\"classes\":\"\",\"parent\":\"Workflow\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,45.29]],[\"comment/0\",[]],[\"name/1\",[1,40.182]],[\"comment/1\",[]],[\"name/2\",[2,45.29]],[\"comment/2\",[]],[\"name/3\",[3,36.817]],[\"comment/3\",[]],[\"name/4\",[4,29.196]],[\"comment/4\",[]],[\"name/5\",[5,45.29]],[\"comment/5\",[]],[\"name/6\",[6,40.182]],[\"comment/6\",[]],[\"name/7\",[7,40.182]],[\"comment/7\",[]],[\"name/8\",[8,45.29]],[\"comment/8\",[]],[\"name/9\",[9,36.817]],[\"comment/9\",[]],[\"name/10\",[10,45.29]],[\"comment/10\",[]],[\"name/11\",[11,45.29]],[\"comment/11\",[]],[\"name/12\",[12,45.29]],[\"comment/12\",[]],[\"name/13\",[13,45.29]],[\"comment/13\",[]],[\"name/14\",[14,45.29]],[\"comment/14\",[]],[\"name/15\",[15,45.29]],[\"comment/15\",[]],[\"name/16\",[16,45.29]],[\"comment/16\",[]],[\"name/17\",[17,25.831]],[\"comment/17\",[]],[\"name/18\",[18,45.29]],[\"comment/18\",[]],[\"name/19\",[19,45.29]],[\"comment/19\",[]],[\"name/20\",[20,45.29]],[\"comment/20\",[]],[\"name/21\",[21,45.29]],[\"comment/21\",[]],[\"name/22\",[17,25.831]],[\"comment/22\",[]],[\"name/23\",[22,45.29]],[\"comment/23\",[]],[\"name/24\",[23,45.29]],[\"comment/24\",[]],[\"name/25\",[24,45.29]],[\"comment/25\",[]],[\"name/26\",[25,45.29]],[\"comment/26\",[]],[\"name/27\",[17,25.831]],[\"comment/27\",[]],[\"name/28\",[26,45.29]],[\"comment/28\",[]],[\"name/29\",[4,29.196]],[\"comment/29\",[]],[\"name/30\",[9,36.817]],[\"comment/30\",[]],[\"name/31\",[27,45.29]],[\"comment/31\",[]],[\"name/32\",[28,45.29]],[\"comment/32\",[]],[\"name/33\",[29,45.29]],[\"comment/33\",[]],[\"name/34\",[30,40.182]],[\"comment/34\",[]],[\"name/35\",[31,36.817]],[\"comment/35\",[]],[\"name/36\",[32,40.182]],[\"comment/36\",[]],[\"name/37\",[33,36.817]],[\"comment/37\",[]],[\"name/38\",[34,40.182]],[\"comment/38\",[]],[\"name/39\",[3,36.817]],[\"comment/39\",[]],[\"name/40\",[35,36.817]],[\"comment/40\",[]],[\"name/41\",[17,25.831]],[\"comment/41\",[]],[\"name/42\",[36,34.304]],[\"comment/42\",[]],[\"name/43\",[37,36.817]],[\"comment/43\",[]],[\"name/44\",[38,45.29]],[\"comment/44\",[]],[\"name/45\",[4,29.196]],[\"comment/45\",[]],[\"name/46\",[36,34.304]],[\"comment/46\",[]],[\"name/47\",[39,45.29]],[\"comment/47\",[]],[\"name/48\",[40,45.29]],[\"comment/48\",[]],[\"name/49\",[41,45.29]],[\"comment/49\",[]],[\"name/50\",[31,36.817]],[\"comment/50\",[]],[\"name/51\",[42,45.29]],[\"comment/51\",[]],[\"name/52\",[43,45.29]],[\"comment/52\",[]],[\"name/53\",[44,45.29]],[\"comment/53\",[]],[\"name/54\",[45,40.182]],[\"comment/54\",[]],[\"name/55\",[46,45.29]],[\"comment/55\",[]],[\"name/56\",[9,36.817]],[\"comment/56\",[]],[\"name/57\",[47,45.29]],[\"comment/57\",[]],[\"name/58\",[6,40.182]],[\"comment/58\",[]],[\"name/59\",[7,40.182]],[\"comment/59\",[]],[\"name/60\",[48,45.29]],[\"comment/60\",[]],[\"name/61\",[35,36.817]],[\"comment/61\",[]],[\"name/62\",[17,25.831]],[\"comment/62\",[]],[\"name/63\",[36,34.304]],[\"comment/63\",[]],[\"name/64\",[37,36.817]],[\"comment/64\",[]],[\"name/65\",[49,45.29]],[\"comment/65\",[]],[\"name/66\",[4,29.196]],[\"comment/66\",[]],[\"name/67\",[50,40.182]],[\"comment/67\",[]],[\"name/68\",[51,45.29]],[\"comment/68\",[]],[\"name/69\",[52,45.29]],[\"comment/69\",[]],[\"name/70\",[53,45.29]],[\"comment/70\",[]],[\"name/71\",[54,45.29]],[\"comment/71\",[]],[\"name/72\",[55,45.29]],[\"comment/72\",[]],[\"name/73\",[56,45.29]],[\"comment/73\",[]],[\"name/74\",[57,45.29]],[\"comment/74\",[]],[\"name/75\",[58,45.29]],[\"comment/75\",[]],[\"name/76\",[59,45.29]],[\"comment/76\",[]],[\"name/77\",[60,40.182]],[\"comment/77\",[]],[\"name/78\",[1,40.182]],[\"comment/78\",[]],[\"name/79\",[61,45.29]],[\"comment/79\",[]],[\"name/80\",[62,45.29]],[\"comment/80\",[]],[\"name/81\",[60,40.182]],[\"comment/81\",[]],[\"name/82\",[63,45.29]],[\"comment/82\",[]],[\"name/83\",[64,40.182]],[\"comment/83\",[]],[\"name/84\",[65,45.29]],[\"comment/84\",[]],[\"name/85\",[30,40.182]],[\"comment/85\",[]],[\"name/86\",[31,36.817]],[\"comment/86\",[]],[\"name/87\",[32,40.182]],[\"comment/87\",[]],[\"name/88\",[33,36.817]],[\"comment/88\",[]],[\"name/89\",[34,40.182]],[\"comment/89\",[]],[\"name/90\",[3,36.817]],[\"comment/90\",[]],[\"name/91\",[35,36.817]],[\"comment/91\",[]],[\"name/92\",[17,25.831]],[\"comment/92\",[]],[\"name/93\",[36,34.304]],[\"comment/93\",[]],[\"name/94\",[37,36.817]],[\"comment/94\",[]],[\"name/95\",[66,45.29]],[\"comment/95\",[]],[\"name/96\",[4,29.196]],[\"comment/96\",[]],[\"name/97\",[67,45.29]],[\"comment/97\",[]],[\"name/98\",[68,45.29]],[\"comment/98\",[]],[\"name/99\",[69,45.29]],[\"comment/99\",[]],[\"name/100\",[17,25.831]],[\"comment/100\",[]],[\"name/101\",[50,40.182]],[\"comment/101\",[]],[\"name/102\",[70,45.29]],[\"comment/102\",[]],[\"name/103\",[17,25.831]],[\"comment/103\",[]],[\"name/104\",[71,45.29]],[\"comment/104\",[]],[\"name/105\",[72,45.29]],[\"comment/105\",[]],[\"name/106\",[73,45.29]],[\"comment/106\",[]],[\"name/107\",[74,45.29]],[\"comment/107\",[]],[\"name/108\",[75,45.29]],[\"comment/108\",[]],[\"name/109\",[76,45.29]],[\"comment/109\",[]],[\"name/110\",[77,45.29]],[\"comment/110\",[]],[\"name/111\",[78,45.29]],[\"comment/111\",[]],[\"name/112\",[79,45.29]],[\"comment/112\",[]],[\"name/113\",[17,25.831]],[\"comment/113\",[]],[\"name/114\",[80,45.29]],[\"comment/114\",[]],[\"name/115\",[81,45.29]],[\"comment/115\",[]],[\"name/116\",[82,45.29]],[\"comment/116\",[]],[\"name/117\",[83,45.29]],[\"comment/117\",[]],[\"name/118\",[84,45.29]],[\"comment/118\",[]],[\"name/119\",[85,45.29]],[\"comment/119\",[]],[\"name/120\",[86,45.29]],[\"comment/120\",[]],[\"name/121\",[87,45.29]],[\"comment/121\",[]],[\"name/122\",[88,45.29]],[\"comment/122\",[]],[\"name/123\",[33,36.817]],[\"comment/123\",[]],[\"name/124\",[4,29.196]],[\"comment/124\",[]],[\"name/125\",[45,40.182]],[\"comment/125\",[]],[\"name/126\",[89,45.29]],[\"comment/126\",[]],[\"name/127\",[90,45.29]],[\"comment/127\",[]],[\"name/128\",[91,45.29]],[\"comment/128\",[]],[\"name/129\",[92,45.29]],[\"comment/129\",[]],[\"name/130\",[64,40.182]],[\"comment/130\",[]],[\"name/131\",[93,45.29]],[\"comment/131\",[]],[\"name/132\",[17,25.831]],[\"comment/132\",[]],[\"name/133\",[94,45.29]],[\"comment/133\",[]],[\"name/134\",[4,29.196]],[\"comment/134\",[]],[\"name/135\",[95,45.29]],[\"comment/135\",[]],[\"name/136\",[96,45.29]],[\"comment/136\",[]],[\"name/137\",[97,45.29]],[\"comment/137\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":17,\"name\":{\"17\":{},\"22\":{},\"27\":{},\"41\":{},\"62\":{},\"92\":{},\"100\":{},\"103\":{},\"113\":{},\"132\":{}},\"comment\":{}}],[\"_functions\",{\"_index\":69,\"name\":{\"99\":{}},\"comment\":{}}],[\"addcustomrestresource\",{\"_index\":75,\"name\":{\"108\":{}},\"comment\":{}}],[\"additionalenv\",{\"_index\":35,\"name\":{\"40\":{},\"61\":{},\"91\":{}},\"comment\":{}}],[\"addrestresource\",{\"_index\":74,\"name\":{\"107\":{}},\"comment\":{}}],[\"api\",{\"_index\":67,\"name\":{\"97\":{}},\"comment\":{}}],[\"apihostname\",{\"_index\":61,\"name\":{\"79\":{}},\"comment\":{}}],[\"apiname\",{\"_index\":30,\"name\":{\"34\":{},\"85\":{}},\"comment\":{}}],[\"apispec\",{\"_index\":68,\"name\":{\"98\":{}},\"comment\":{}}],[\"assetbucket\",{\"_index\":6,\"name\":{\"6\":{},\"58\":{}},\"comment\":{}}],[\"assetcdn\",{\"_index\":3,\"name\":{\"3\":{},\"39\":{},\"90\":{}},\"comment\":{}}],[\"assetcdnprops\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"assetdomainname\",{\"_index\":7,\"name\":{\"7\":{},\"59\":{}},\"comment\":{}}],[\"audience\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"authentication\",{\"_index\":34,\"name\":{\"38\":{},\"89\":{}},\"comment\":{}}],[\"autogenerateroutes\",{\"_index\":62,\"name\":{\"80\":{}},\"comment\":{}}],[\"baseapi\",{\"_index\":38,\"name\":{\"44\":{}},\"comment\":{}}],[\"baseapiprops\",{\"_index\":29,\"name\":{\"33\":{}},\"comment\":{}}],[\"cleanupspec\",{\"_index\":70,\"name\":{\"102\":{}},\"comment\":{}}],[\"cognitoauthentication\",{\"_index\":26,\"name\":{\"28\":{}},\"comment\":{}}],[\"cognitoauthenticationprops\",{\"_index\":14,\"name\":{\"14\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":4,\"name\":{\"4\":{},\"29\":{},\"45\":{},\"66\":{},\"96\":{},\"124\":{},\"134\":{}},\"comment\":{}}],[\"cors\",{\"_index\":65,\"name\":{\"84\":{}},\"comment\":{}}],[\"custommessagefunction\",{\"_index\":27,\"name\":{\"31\":{}},\"comment\":{}}],[\"custommessages\",{\"_index\":18,\"name\":{\"18\":{}},\"comment\":{}}],[\"definitionfilename\",{\"_index\":64,\"name\":{\"83\":{},\"130\":{}},\"comment\":{}}],[\"definitionsubstitutions\",{\"_index\":93,\"name\":{\"131\":{}},\"comment\":{}}],[\"description\",{\"_index\":44,\"name\":{\"53\":{}},\"comment\":{}}],[\"design\",{\"_index\":86,\"name\":{\"120\":{}},\"comment\":{}}],[\"domainname\",{\"_index\":1,\"name\":{\"1\":{},\"78\":{}},\"comment\":{}}],[\"email\",{\"_index\":24,\"name\":{\"25\":{}},\"comment\":{}}],[\"encryption\",{\"_index\":87,\"name\":{\"121\":{}},\"comment\":{}}],[\"encryptionkey\",{\"_index\":88,\"name\":{\"122\":{}},\"comment\":{}}],[\"entry\",{\"_index\":42,\"name\":{\"51\":{}},\"comment\":{}}],[\"getfunctionforoperation\",{\"_index\":71,\"name\":{\"104\":{}},\"comment\":{}}],[\"getfunctions\",{\"_index\":72,\"name\":{\"105\":{}},\"comment\":{}}],[\"globalindexes\",{\"_index\":83,\"name\":{\"117\":{}},\"comment\":{}}],[\"grantdeleteasset\",{\"_index\":56,\"name\":{\"73\":{}},\"comment\":{}}],[\"grantprincipal\",{\"_index\":97,\"name\":{\"137\":{}},\"comment\":{}}],[\"grantsendemails\",{\"_index\":54,\"name\":{\"71\":{}},\"comment\":{}}],[\"granttablewrite\",{\"_index\":53,\"name\":{\"70\":{}},\"comment\":{}}],[\"grantuploadassets\",{\"_index\":55,\"name\":{\"72\":{}},\"comment\":{}}],[\"grantuserpoolread\",{\"_index\":57,\"name\":{\"74\":{}},\"comment\":{}}],[\"grantuserpoolreadwrite\",{\"_index\":58,\"name\":{\"75\":{}},\"comment\":{}}],[\"groups\",{\"_index\":25,\"name\":{\"26\":{}},\"comment\":{}}],[\"handler\",{\"_index\":43,\"name\":{\"52\":{}},\"comment\":{}}],[\"hostname\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"icognitoauthentication\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"ijwtauthentication\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"includesdk\",{\"_index\":48,\"name\":{\"60\":{}},\"comment\":{}}],[\"issuerurl\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"jwksurl\",{\"_index\":13,\"name\":{\"13\":{}},\"comment\":{}}],[\"jwt\",{\"_index\":47,\"name\":{\"57\":{}},\"comment\":{}}],[\"lambdafunction\",{\"_index\":49,\"name\":{\"65\":{}},\"comment\":{}}],[\"lambdafunctionprops\",{\"_index\":41,\"name\":{\"49\":{}},\"comment\":{}}],[\"lambdaoptions\",{\"_index\":36,\"name\":{\"42\":{},\"46\":{},\"63\":{},\"93\":{}},\"comment\":{}}],[\"lambdaoptionsbyoperation\",{\"_index\":63,\"name\":{\"82\":{}},\"comment\":{}}],[\"lambdatracing\",{\"_index\":37,\"name\":{\"43\":{},\"64\":{},\"94\":{}},\"comment\":{}}],[\"lambdatracingoptions\",{\"_index\":39,\"name\":{\"47\":{}},\"comment\":{}}],[\"localindexes\",{\"_index\":84,\"name\":{\"118\":{}},\"comment\":{}}],[\"loggingconfiguration\",{\"_index\":91,\"name\":{\"128\":{}},\"comment\":{}}],[\"modifyoperationfunctions\",{\"_index\":73,\"name\":{\"106\":{}},\"comment\":{}}],[\"monitoring\",{\"_index\":32,\"name\":{\"36\":{},\"87\":{}},\"comment\":{}}],[\"name\",{\"_index\":23,\"name\":{\"24\":{}},\"comment\":{}}],[\"partitionkey\",{\"_index\":80,\"name\":{\"114\":{}},\"comment\":{}}],[\"patchsecurity\",{\"_index\":77,\"name\":{\"110\":{}},\"comment\":{}}],[\"pretokengeneration\",{\"_index\":19,\"name\":{\"19\":{}},\"comment\":{}}],[\"pretokengenerationfunction\",{\"_index\":28,\"name\":{\"32\":{}},\"comment\":{}}],[\"primarykey\",{\"_index\":79,\"name\":{\"112\":{}},\"comment\":{}}],[\"props\",{\"_index\":50,\"name\":{\"67\":{},\"101\":{}},\"comment\":{}}],[\"region\",{\"_index\":22,\"name\":{\"23\":{}},\"comment\":{}}],[\"restapi\",{\"_index\":66,\"name\":{\"95\":{}},\"comment\":{}}],[\"restapiprops\",{\"_index\":60,\"name\":{\"77\":{},\"81\":{}},\"comment\":{}}],[\"role\",{\"_index\":95,\"name\":{\"135\":{}},\"comment\":{}}],[\"sesemailsender\",{\"_index\":21,\"name\":{\"21\":{}},\"comment\":{}}],[\"settable\",{\"_index\":51,\"name\":{\"68\":{}},\"comment\":{}}],[\"settimeout\",{\"_index\":59,\"name\":{\"76\":{}},\"comment\":{}}],[\"setuserpool\",{\"_index\":52,\"name\":{\"69\":{}},\"comment\":{}}],[\"singletabledatastore\",{\"_index\":33,\"name\":{\"37\":{},\"88\":{},\"123\":{}},\"comment\":{}}],[\"singletabledatastoreprops\",{\"_index\":85,\"name\":{\"119\":{}},\"comment\":{}}],[\"singletabledesign\",{\"_index\":78,\"name\":{\"111\":{}},\"comment\":{}}],[\"sortkey\",{\"_index\":81,\"name\":{\"115\":{}},\"comment\":{}}],[\"stagename\",{\"_index\":31,\"name\":{\"35\":{},\"50\":{},\"86\":{}},\"comment\":{}}],[\"statemachinetype\",{\"_index\":90,\"name\":{\"127\":{}},\"comment\":{}}],[\"table\",{\"_index\":45,\"name\":{\"54\":{},\"125\":{}},\"comment\":{}}],[\"tablewriteaccessformethod\",{\"_index\":76,\"name\":{\"109\":{}},\"comment\":{}}],[\"tablewrites\",{\"_index\":46,\"name\":{\"55\":{}},\"comment\":{}}],[\"timetoliveattribute\",{\"_index\":82,\"name\":{\"116\":{}},\"comment\":{}}],[\"tracingconfiguration\",{\"_index\":92,\"name\":{\"129\":{}},\"comment\":{}}],[\"triggers\",{\"_index\":16,\"name\":{\"16\":{}},\"comment\":{}}],[\"userpool\",{\"_index\":9,\"name\":{\"9\":{},\"30\":{},\"56\":{}},\"comment\":{}}],[\"userpoolname\",{\"_index\":15,\"name\":{\"15\":{}},\"comment\":{}}],[\"userpoolprops\",{\"_index\":20,\"name\":{\"20\":{}},\"comment\":{}}],[\"workflow\",{\"_index\":94,\"name\":{\"133\":{}},\"comment\":{}}],[\"workflowarn\",{\"_index\":96,\"name\":{\"136\":{}},\"comment\":{}}],[\"workflowprops\",{\"_index\":89,\"name\":{\"126\":{}},\"comment\":{}}],[\"xraytracing\",{\"_index\":40,\"name\":{\"48\":{}},\"comment\":{}}],[\"zone\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}]],\"pipeline\":[]}}");
@@ -39,6 +39,7 @@
39
39
  <a href="RestApiProps.html#assetCdn" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>asset<wbr/>Cdn?</span></a>
40
40
  <a href="RestApiProps.html#authentication" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>authentication?</span></a>
41
41
  <a href="RestApiProps.html#autoGenerateRoutes" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>auto<wbr/>Generate<wbr/>Routes?</span></a>
42
+ <a href="RestApiProps.html#cors" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>cors</span></a>
42
43
  <a href="RestApiProps.html#definitionFileName" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>definition<wbr/>File<wbr/>Name</span></a>
43
44
  <a href="RestApiProps.html#domainName" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>domain<wbr/>Name?</span></a>
44
45
  <a href="RestApiProps.html#lambdaOptions" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>lambda<wbr/>Options?</span></a>
@@ -104,6 +105,9 @@ to use any other JWT-based authorization service.</p>
104
105
  <h3>Default</h3><pre><code class="language-ts"><span class="hl-2">true</span>
105
106
  </code><button>Copy</button></pre>
106
107
  </div></section>
108
+ <section class="tsd-panel tsd-member"><a id="cors" class="tsd-anchor"></a>
109
+ <h3 class="tsd-anchor-link"><span>cors</span><a href="#cors" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
110
+ <div class="tsd-signature"><span class="tsd-kind-property">cors</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div></section>
107
111
  <section class="tsd-panel tsd-member"><a id="definitionFileName" class="tsd-anchor"></a>
108
112
  <h3 class="tsd-anchor-link"><span>definition<wbr/>File<wbr/>Name</span><a href="#definitionFileName" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
109
113
  <div class="tsd-signature"><span class="tsd-kind-property">definition<wbr/>File<wbr/>Name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div></section>
@@ -191,6 +195,7 @@ to use any other JWT-based authorization service.</p>
191
195
  <li><a href="#assetCdn" class="tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>asset<wbr/>Cdn</span></a></li>
192
196
  <li><a href="#authentication" class="tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>authentication</span></a></li>
193
197
  <li><a href="#autoGenerateRoutes" class=""><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>auto<wbr/>Generate<wbr/>Routes</span></a></li>
198
+ <li><a href="#cors" class=""><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>cors</span></a></li>
194
199
  <li><a href="#definitionFileName" class=""><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>definition<wbr/>File<wbr/>Name</span></a></li>
195
200
  <li><a href="#domainName" class=""><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>domain<wbr/>Name</span></a></li>
196
201
  <li><a href="#lambdaOptions" class="tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>lambda<wbr/>Options</span></a></li>
@@ -37,6 +37,7 @@ export interface RestApiProps<OPS> extends BaseApiProps {
37
37
  [operationId in keyof OPS]?: LambdaOptions;
38
38
  };
39
39
  definitionFileName: string;
40
+ cors: boolean;
40
41
  }
41
42
  export declare class RestApi<PATHS, OPS> extends BaseApi {
42
43
  private props;
@@ -117,6 +117,47 @@ class RestApi extends base_api_1.BaseApi {
117
117
  },
118
118
  },
119
119
  };
120
+ if (props.cors) {
121
+ this.apiSpec.paths['/{proxy+}'] = {
122
+ options: {
123
+ 'summary': 'CORS support',
124
+ 'description': 'Enable CORS by returning correct headers',
125
+ 'tags': ['CORS'],
126
+ 'responses': {
127
+ 200: {
128
+ description: 'Default response for CORS method',
129
+ headers: {
130
+ 'Access-Control-Allow-Origin': { schema: { type: 'string' } },
131
+ 'Access-Control-Allow-Methods': { schema: { type: 'string' } },
132
+ 'Access-Control-Allow-Credentials': { schema: { type: 'string' } },
133
+ 'Access-Control-Allow-Headers': { schema: { type: 'string' } },
134
+ },
135
+ content: {},
136
+ },
137
+ },
138
+ 'x-amazon-apigateway-integration': {
139
+ type: 'mock',
140
+ requestTemplates: {
141
+ 'application/json': '#set($context.requestOverride.header.origin = $method.request.header.origin)\n{\n "statusCode" : 200\n}\n',
142
+ },
143
+ responses: {
144
+ default: {
145
+ statusCode: '200',
146
+ responseParameters: {
147
+ 'method.response.header.Access-Control-Allow-Headers': "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'",
148
+ 'method.response.header.Access-Control-Allow-Credentials': "'true'",
149
+ 'method.response.header.Access-Control-Allow-Methods': "'*'",
150
+ 'method.response.header.Access-Control-Allow-Origin': 'context.requestOverride.header.origin',
151
+ },
152
+ responseTemplates: {
153
+ 'application/json': '{}',
154
+ },
155
+ },
156
+ },
157
+ },
158
+ },
159
+ };
160
+ }
120
161
  this.patchSecurity(this.apiSpec);
121
162
  // TODO patch spec for Cognito user pool
122
163
  this.api = new aws_cdk_lib_1.aws_apigateway.SpecRestApi(this, 'Resource', {
@@ -286,4 +327,4 @@ class RestApi extends base_api_1.BaseApi {
286
327
  }
287
328
  }
288
329
  exports.RestApi = RestApi;
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9yZXN0LWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6Qiw2Q0FNcUI7QUFDckIsaURBQW1DO0FBRW5DLDhDQUFnQztBQUdoQyx5Q0FBbUQ7QUFDbkQsaUNBQXVEO0FBMEN2RCxNQUFhLE9BQW9CLFNBQVEsa0JBQU87SUFPOUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBVSxLQUF3Qjs7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFEd0IsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFGbEUsZUFBVSxHQUE4QyxFQUFFLENBQUM7UUFLakUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQWEsQ0FBQztRQUUzRixJQUFJLGdCQUE4RCxDQUFDO1FBQ25FLElBQUksVUFBK0MsQ0FBQztRQUNwRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsVUFBVSxHQUFHLHlCQUFXLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQy9GLE1BQU0sYUFBYSxHQUFHLEdBQUcsTUFBQSxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFFLGdCQUFnQixHQUFHO2dCQUNqQixVQUFVLEVBQUUsYUFBYTtnQkFDekIsV0FBVyxFQUFFLElBQUksb0NBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7b0JBQ2hFLFVBQVUs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R0FBRyxDQUFDLEVBQUU7d0JBQ2xDLFNBQVMsQ0FBQyxxQ0FBcUM7cUJBQ2hEO29CQUVELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUEyQixDQUFFLENBQUM7b0JBQzFELElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsRUFBRTt3QkFDL0IsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO3FCQUNyQztpQkFDRjthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztDQUVGO0FBbFNELDBCQWtTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7XG4gIGF3c19jZXJ0aWZpY2F0ZW1hbmFnZXIsXG4gIGF3c19pYW0sXG4gIGF3c19yb3V0ZTUzLFxuICBhd3Nfcm91dGU1M190YXJnZXRzLFxuICBhd3NfYXBpZ2F0ZXdheSxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICdqcy15YW1sJztcbmltcG9ydCB7IE9wZW5BUEkzLCBPcGVyYXRpb25PYmplY3QsIFBhdGhJdGVtT2JqZWN0IH0gZnJvbSAnb3BlbmFwaS10eXBlc2NyaXB0JztcbmltcG9ydCB7IElDb2duaXRvQXV0aGVudGljYXRpb24sIElKd3RBdXRoZW50aWNhdGlvbiB9IGZyb20gJy4vYXV0aGVudGljYXRpb24nO1xuaW1wb3J0IHsgQmFzZUFwaSwgQmFzZUFwaVByb3BzIH0gZnJvbSAnLi9iYXNlLWFwaSc7XG5pbXBvcnQgeyBMYW1iZGFGdW5jdGlvbiwgTGFtYmRhT3B0aW9ucyB9IGZyb20gJy4vZnVuYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEFwaVByb3BzPE9QUz4gZXh0ZW5kcyBCYXNlQXBpUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBvZiB0aGUgQVBJIChlLmcuIGV4YW1wbGUuY29tKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGN1c3RvbSBkb21haW4gaXMgY29uZmlndXJlZFxuICAgKi9cbiAgZG9tYWluTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSG9zdG5hbWUgb2YgdGhlIEFQSSBpZiBhIGRvbWFpbiBuYW1lIGlzIHNwZWNpZmllZFxuICAgKlxuICAgKiBAZGVmYXVsdCBhcGlcbiAgICovXG4gIGFwaUhvc3RuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSByb3V0ZXMgZm9yIGFsbCBlbmRwb2ludHMgY29uZmlndXJlZCBpbiB0aGUgb3BlbmFwaS55YW1sIGZpbGVcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgYXV0b0dlbmVyYXRlUm91dGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogY3VzdG9tIG9wdGlvbnMgZm9yIHRoZSBjcmVhdGVkIEh0dHBBcGlcbiAgICpcbiAgICogQGRlZmF1bHQgLVxuICAgKi9cbiAgcmVzdEFwaVByb3BzPzogYXdzX2FwaWdhdGV3YXkuUmVzdEFwaUJhc2VQcm9wcztcblxuICAvKipcbiAgICogYWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdW5kZXJseWluZyBMYW1iZGEgZnVuY3Rpb24gY29uc3RydWN0IHBlciBvcGVyYXRpb25JZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtXG4gICAqL1xuICBsYW1iZGFPcHRpb25zQnlPcGVyYXRpb24/OiB7IFtvcGVyYXRpb25JZCBpbiBrZXlvZiBPUFNdPzogTGFtYmRhT3B0aW9ucyB9O1xuXG4gIGRlZmluaXRpb25GaWxlTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzdEFwaTxQQVRIUywgT1BTPiBleHRlbmRzIEJhc2VBcGkge1xuXG4gIHB1YmxpYyByZWFkb25seSBhcGk6IGF3c19hcGlnYXRld2F5LlNwZWNSZXN0QXBpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpU3BlYzogT3BlbkFQSTM7XG5cbiAgcHJpdmF0ZSBfZnVuY3Rpb25zOiB7IFtvcGVyYXRpb25JZDogc3RyaW5nXTogTGFtYmRhRnVuY3Rpb24gfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByaXZhdGUgcHJvcHM6IFJlc3RBcGlQcm9wczxPUFM+KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLmFwaVNwZWMgPSB5YW1sLmxvYWQoZnMucmVhZEZpbGVTeW5jKHByb3BzLmRlZmluaXRpb25GaWxlTmFtZSkudG9TdHJpbmcoKSkgYXMgT3BlbkFQSTM7XG5cbiAgICBsZXQgY3VzdG9tRG9tYWluTmFtZTogYXdzX2FwaWdhdGV3YXkuRG9tYWluTmFtZU9wdGlvbnMgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGhvc3RlZFpvbmU6IGF3c19yb3V0ZTUzLklIb3N0ZWRab25lIHwgdW5kZWZpbmVkO1xuICAgIGlmIChwcm9wcy5kb21haW5OYW1lKSB7XG4gICAgICBob3N0ZWRab25lID0gYXdzX3JvdXRlNTMuSG9zdGVkWm9uZS5mcm9tTG9va3VwKHRoaXMsICdab25lJywgeyBkb21haW5OYW1lOiBwcm9wcy5kb21haW5OYW1lIH0pO1xuICAgICAgY29uc3QgYXBpRG9tYWluTmFtZSA9IGAke3Byb3BzLmFwaUhvc3RuYW1lID8/ICdhcGknfS4ke3Byb3BzLmRvbWFpbk5hbWV9YDtcbiAgICAgIGN1c3RvbURvbWFpbk5hbWUgPSB7XG4gICAgICAgIGRvbWFpbk5hbWU6IGFwaURvbWFpbk5hbWUsXG4gICAgICAgIGNlcnRpZmljYXRlOiBuZXcgYXdzX2NlcnRpZmljYXRlbWFuYWdlci5DZXJ0aWZpY2F0ZSh0aGlzLCAnQ2VydCcsIHtcbiAgICAgICAgICBkb21haW5OYW1lOiBhcGlEb21haW5OYW1lLFxuICAgICAgICAgIHZhbGlkYXRpb246IGF3c19jZXJ0aWZpY2F0ZW1hbmFnZXIuQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnMoaG9zdGVkWm9uZSksXG4gICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBpZiAoKHByb3BzLm1vbml0b3JpbmcgPz8gdHJ1ZSkgJiYgdGhpcy5tb25pdG9yaW5nKSB7XG4gICAgLy8gICB0aGlzLm1vbml0b3JpbmcuYXBpRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWModGhpcy5hcGkubWV0cmljU2VydmVyRXJyb3Ioe1xuICAgIC8vICAgICBzdGF0aXN0aWM6ICdzdW0nLFxuICAgIC8vICAgfSkpO1xuICAgIC8vICAgdGhpcy5tb25pdG9yaW5nLmFwaUVycm9yc1dpZGdldC5hZGRMZWZ0TWV0cmljKHRoaXMuYXBpLm1ldHJpY0NsaWVudEVycm9yKHtcbiAgICAvLyAgICAgc3RhdGlzdGljOiAnc3VtJyxcbiAgICAvLyAgIH0pKTtcblxuICAgIC8vICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lXaWRnZXQuYWRkTGVmdE1ldHJpYyh0aGlzLmFwaS5tZXRyaWNMYXRlbmN5KHtcbiAgICAvLyAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgLy8gICB9KSk7XG4gICAgLy8gICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVdpZGdldC5hZGRMZWZ0TWV0cmljKHRoaXMuYXBpLm1ldHJpY0xhdGVuY3koe1xuICAgIC8vICAgICBzdGF0aXN0aWM6ICdwOTAnLFxuICAgIC8vICAgfSkpO1xuICAgIC8vICAgdGhpcy5tb25pdG9yaW5nLmFwaUxhdGVuY3lUYWlsV2lkZ2V0LmFkZExlZnRNZXRyaWModGhpcy5hcGkubWV0cmljTGF0ZW5jeSh7XG4gICAgLy8gICAgIHN0YXRpc3RpYzogJ3A5NScsXG4gICAgLy8gICB9KSk7XG4gICAgLy8gICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVRhaWxXaWRnZXQuYWRkTGVmdE1ldHJpYyh0aGlzLmFwaS5tZXRyaWNMYXRlbmN5KHtcbiAgICAvLyAgICAgc3RhdGlzdGljOiAncDk5JyxcbiAgICAvLyAgIH0pKTtcbiAgICAvLyB9XG5cbiAgICBpZiAocHJvcHMuYXV0b0dlbmVyYXRlUm91dGVzID8/IHRydWUpIHtcbiAgICAgIGZvciAoY29uc3QgcGF0aCBpbiB0aGlzLmFwaVNwZWMucGF0aHMpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmFwaVNwZWMucGF0aHMsIHBhdGgpKSB7XG4gICAgICAgICAgY29uc3QgcGF0aEl0ZW0gPSB0aGlzLmFwaVNwZWMucGF0aHNbcGF0aF07XG4gICAgICAgICAgZm9yIChjb25zdCBtZXRob2QgaW4gcGF0aEl0ZW0pIHtcbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGF0aEl0ZW0sIG1ldGhvZCkgJiZcbiAgICAgICAgICAgICAgWydnZXQnLCAncG9zdCcsICdwdXQnLCAnZGVsZXRlJywgJ3BhdGNoJywgJ29wdGlvbnMnLCAnaGVhZCddLmluZGV4T2YobWV0aG9kKSA+PSAwKSB7XG4gICAgICAgICAgICAgIC8vIEFkZCBhbGwgb3BlcmF0aW9uc1xuICAgICAgICAgICAgICB0aGlzLmFkZFJlc3RSZXNvdXJjZShwYXRoIGFzIGFueSwgbWV0aG9kIGFzIGFueSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIF9zcGVjIEVuZHBvaW50XG4gICAgdGhpcy5hcGlTcGVjLnBhdGhzIVsnL29wZW5hcGkuanNvbiddID0ge1xuICAgICAgZ2V0OiB7XG4gICAgICAgICdzdW1tYXJ5JzogJ1JldHVybnMgdGhlIHJhdyBPcGVuQVBJIHNwZWMgb2YgdGhpcyBBUEknLFxuICAgICAgICAnZGVzY3JpcHRpb24nOiAnUmV0dXJucyB0aGUgcmF3IE9wZW5BUEkgc3BlYyBvZiB0aGlzIEFQSScsXG4gICAgICAgICdvcGVyYXRpb25JZCc6ICdfc3BlYycsXG4gICAgICAgICdyZXNwb25zZXMnOiB7XG4gICAgICAgICAgMjAwOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ09wZW5BUEkgc3BlYyBvZiB0aGlzIEFQSScsXG4gICAgICAgICAgICBjb250ZW50OiB7XG4gICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9vcGVuYXBpK2pzb24nOiB7fSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBDdXN0b20gcHJvcGVydHkgZm9yIEFXU1xuICAgICAgICAneC1hbWF6b24tYXBpZ2F0ZXdheS1pbnRlZ3JhdGlvbic6IHtcbiAgICAgICAgICB0eXBlOiAnbW9jaycsXG4gICAgICAgICAgaHR0cE1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgcGF5bG9hZEZvcm1hdFZlcnNpb246ICcxLjAnLFxuICAgICAgICAgIHJlcXVlc3RUZW1wbGF0ZXM6IHtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJzogJ3tcXCdzdGF0dXNDb2RlXFwnOiAyMDB9JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc3BvbnNlczoge1xuICAgICAgICAgICAgMjAwOiB7XG4gICAgICAgICAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgICAgICAgcmVzcG9uc2VUZW1wbGF0ZXM6IHtcbiAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vb3BlbmFwaStqc29uJzogSlNPTi5zdHJpbmdpZnkodGhpcy5jbGVhbnVwU3BlYyhKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KCh0aGlzLmFwaVNwZWMpKSkpKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHRoaXMucGF0Y2hTZWN1cml0eSh0aGlzLmFwaVNwZWMpO1xuXG4gICAgLy8gVE9ETyBwYXRjaCBzcGVjIGZvciBDb2duaXRvIHVzZXIgcG9vbFxuXG4gICAgdGhpcy5hcGkgPSBuZXcgYXdzX2FwaWdhdGV3YXkuU3BlY1Jlc3RBcGkodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgcmVzdEFwaU5hbWU6IGAke3Byb3BzLmFwaU5hbWV9IFske3Byb3BzLnN0YWdlTmFtZX1dYCxcbiAgICAgIGRvbWFpbk5hbWU6IGN1c3RvbURvbWFpbk5hbWUsXG4gICAgICBhcGlEZWZpbml0aW9uOiBhd3NfYXBpZ2F0ZXdheS5BcGlEZWZpbml0aW9uLmZyb21JbmxpbmUodGhpcy5hcGlTcGVjKSxcbiAgICAgIC4uLnByb3BzLnJlc3RBcGlQcm9wcyxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBpbnZva2UgcGVybWlzc2lvbnMgdG8gTGFtYmRhIGZ1bmN0aW9uc1xuICAgIGZvciAoY29uc3QgZm4gb2YgT2JqZWN0LnZhbHVlcyh0aGlzLl9mdW5jdGlvbnMpKSB7XG4gICAgICBmbi5hZGRQZXJtaXNzaW9uKCdSZXN0QXBpSW52b2tlJywge1xuICAgICAgICBwcmluY2lwYWw6IG5ldyBhd3NfaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2FwaWdhdGV3YXkuYW1hem9uYXdzLmNvbScpLFxuICAgICAgICBhY3Rpb246ICdsYW1iZGE6SW52b2tlRnVuY3Rpb24nLFxuICAgICAgICBzb3VyY2VBcm46IHRoaXMuYXBpLmFybkZvckV4ZWN1dGVBcGkoKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjdXN0b21Eb21haW5OYW1lICYmIHRoaXMuYXBpLmRvbWFpbk5hbWUpIHtcbiAgICAgIG5ldyBhd3Nfcm91dGU1My5BUmVjb3JkKHRoaXMsICdEbnNSZWNvcmQnLCB7XG4gICAgICAgIHpvbmU6IGhvc3RlZFpvbmUhLFxuICAgICAgICByZWNvcmROYW1lOiBjdXN0b21Eb21haW5OYW1lLmRvbWFpbk5hbWUsXG4gICAgICAgIHRhcmdldDogYXdzX3JvdXRlNTMuUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhcbiAgICAgICAgICBuZXcgYXdzX3JvdXRlNTNfdGFyZ2V0cy5BcGlHYXRld2F5RG9tYWluKHRoaXMuYXBpLmRvbWFpbk5hbWUpLFxuICAgICAgICApLFxuICAgICAgfSk7XG4gICAgfVxuXG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYW51cFNwZWMoc3BlYzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIE9iamVjdC5lbnRyaWVzKHNwZWMpLmZvckVhY2goKFtwcm9wLCB2YWx1ZV06IFtzdHJpbmcsIGFueV0pID0+IHtcbiAgICAgIGlmIChwcm9wLnN0YXJ0c1dpdGgoJ3gtJykpIHtcbiAgICAgICAgZGVsZXRlIHNwZWNbcHJvcF07XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgdGhpcy5jbGVhbnVwU3BlYyhzcGVjW3Byb3BdKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzcGVjO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiB0aGUgZ2VuZXJhdGVkIExhbWJkYSBmdW5jdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBBUEkgb3BlcmF0aW9uXG4gICAqL1xuICBwdWJsaWMgZ2V0RnVuY3Rpb25Gb3JPcGVyYXRpb24ob3BlcmF0aW9uSWQ6IGtleW9mIE9QUyk6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZnVuY3Rpb25zW29wZXJhdGlvbklkIGFzIHN0cmluZ107XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuIGEgbGlzdCBvZiBhbGwgZ2VuZXJhdGVkIExhbWJkYSBmdW5jdGlvbnNcbiAgICovXG4gIHB1YmxpYyBnZXRGdW5jdGlvbnMoKTogTGFtYmRhRnVuY3Rpb25bXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5fZnVuY3Rpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWaXNpdG9yIG1ldGhvZCB0byBtb2RpZnkgdGhlIGdpdmVuIGZ1bmN0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0gb3BlcmF0aW9uSWRzIHRoZSBsaXN0IG9mIGZ1bmN0aW9ucyB0byB2aXNpdFxuICAgKiBAcGFyYW0gb3AgdGhlIGZ1bmN0aW9uIHRvIGNhbGwgZm9yIGV2ZXJ5IGZ1bmN0aW9uXG4gICAqL1xuICBwdWJsaWMgbW9kaWZ5T3BlcmF0aW9uRnVuY3Rpb25zKG9wZXJhdGlvbklkczogKGtleW9mIE9QUylbXSwgb3A6IChmbjogTGFtYmRhRnVuY3Rpb24pID0+IHZvaWQpIHtcbiAgICBmb3IgKGNvbnN0IG9wZXJhdGlvbklkIG9mIG9wZXJhdGlvbklkcykge1xuICAgICAgb3AodGhpcy5nZXRGdW5jdGlvbkZvck9wZXJhdGlvbihvcGVyYXRpb25JZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRSZXN0UmVzb3VyY2U8UCBleHRlbmRzIGtleW9mIFBBVEhTPihwYXRoOiBQLCBtZXRob2Q6IGtleW9mIFBBVEhTW1BdKSB7XG4gICAgY29uc3Qgb2FQYXRoID0gdGhpcy5hcGlTcGVjLnBhdGhzIVtwYXRoIGFzIHN0cmluZ107XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gb2FQYXRoW21ldGhvZCBhcyBrZXlvZiBQYXRoSXRlbU9iamVjdF0gYXMgT3BlcmF0aW9uT2JqZWN0O1xuICAgIGNvbnN0IG9wZXJhdGlvbklkID0gb3BlcmF0aW9uLm9wZXJhdGlvbklkITtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGAke21ldGhvZCBhcyBzdHJpbmd9ICR7cGF0aCBhcyBzdHJpbmd9IC0gJHtvcGVyYXRpb24uc3VtbWFyeX1gO1xuXG4gICAgY29uc3QgY3VzdG9tTGFtYmRhT3B0aW9ucyA9IHRoaXMucHJvcHMubGFtYmRhT3B0aW9uc0J5T3BlcmF0aW9uID8gdGhpcy5wcm9wcy5sYW1iZGFPcHRpb25zQnlPcGVyYXRpb25bb3BlcmF0aW9uSWQgYXMga2V5b2YgT1BTXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGhpcy5hZGRDdXN0b21SZXN0UmVzb3VyY2Uob3BlcmF0aW9uLCBtZXRob2QgYXMgc3RyaW5nLCBkZXNjcmlwdGlvbiwgY3VzdG9tTGFtYmRhT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYWRkQ3VzdG9tUmVzdFJlc291cmNlKG9wZXJhdGlvbjogT3BlcmF0aW9uT2JqZWN0LCBtZXRob2Q6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZywgYWRkaXRpb25hbExhbWJkYU9wdGlvbnM6IExhbWJkYU9wdGlvbnMgPSB7fSkge1xuICAgIGlmICgneC1hbWF6b24tYXBpZ2F0ZXdheS1pbnRlZ3JhdGlvbicgaW4gb3BlcmF0aW9uKSB7XG4gICAgICByZXR1cm47IC8vIFNraXAgaWYgb3BlcmF0aW9uIHdhcyBkZWNsYXJlZCBpbiBzcGVjIGZpbGUgYWxyZWFkeSFcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyeUZpbGUgPSBgLi9zcmMvbGFtYmRhL3Jlc3QuJHt0aGlzLnByb3BzLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0uJHtvcGVyYXRpb24ub3BlcmF0aW9uSWR9LnRzYDtcblxuICAgIGNvbnN0IGxhbWJkYU9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLnByb3BzLmxhbWJkYU9wdGlvbnMgJiYge1xuICAgICAgICAuLi50aGlzLnByb3BzLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9LFxuICAgICAgLi4uYWRkaXRpb25hbExhbWJkYU9wdGlvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGF1dGhlbnRpY2F0aW9uID0gdGhpcy5wcm9wcy5hdXRoZW50aWNhdGlvbiAmJiAodGhpcy5wcm9wcy5hdXRoZW50aWNhdGlvbi5oYXNPd25Qcm9wZXJ0eSgndXNlcnBvb2wnKVxuICAgICAgPyB7IHVzZXJQb29sOiAodGhpcy5wcm9wcy5hdXRoZW50aWNhdGlvbiBhcyBJQ29nbml0b0F1dGhlbnRpY2F0aW9uKS51c2VycG9vbCB9XG4gICAgICA6IHsgand0OiB0aGlzLnByb3BzLmF1dGhlbnRpY2F0aW9uIGFzIElKd3RBdXRoZW50aWNhdGlvbiB9KTtcblxuICAgIGNvbnN0IGZuID0gbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMsIGBGbiR7b3BlcmF0aW9uLm9wZXJhdGlvbklkfWAsIHtcbiAgICAgIHN0YWdlTmFtZTogdGhpcy5wcm9wcy5zdGFnZU5hbWUsXG4gICAgICBhZGRpdGlvbmFsRW52OiB7XG4gICAgICAgIC4uLnRoaXMucHJvcHMuZG9tYWluTmFtZSAmJiB7XG4gICAgICAgICAgRE9NQUlOX05BTUU6IHRoaXMucHJvcHMuZG9tYWluTmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5hZGRpdGlvbmFsRW52LFxuICAgICAgfSxcbiAgICAgIGVudHJ5OiBlbnRyeUZpbGUsXG4gICAgICBkZXNjcmlwdGlvbjogYFske3RoaXMucHJvcHMuc3RhZ2VOYW1lfV0gJHtkZXNjcmlwdGlvbn1gLFxuICAgICAgLi4uYXV0aGVudGljYXRpb24sXG4gICAgICAuLi50aGlzLnByb3BzLnNpbmdsZVRhYmxlRGF0YXN0b3JlICYmIHtcbiAgICAgICAgdGFibGU6IHRoaXMucHJvcHMuc2luZ2xlVGFibGVEYXRhc3RvcmUudGFibGUsXG4gICAgICAgIHRhYmxlV3JpdGVzOiB0aGlzLnRhYmxlV3JpdGVBY2Nlc3NGb3JNZXRob2QobWV0aG9kKSxcbiAgICAgIH0sXG4gICAgICAuLi50aGlzLnByb3BzLmFzc2V0Q2RuICYmIHtcbiAgICAgICAgYXNzZXREb21haW5OYW1lOiB0aGlzLnByb3BzLmFzc2V0Q2RuLmFzc2V0RG9tYWluTmFtZSxcbiAgICAgICAgYXNzZXRCdWNrZXQ6IHRoaXMucHJvcHMuYXNzZXRDZG4uYXNzZXRCdWNrZXQsXG4gICAgICB9LFxuICAgICAgbGFtYmRhT3B0aW9ucyxcbiAgICAgIGxhbWJkYVRyYWNpbmc6IHRoaXMucHJvcHMubGFtYmRhVHJhY2luZyxcbiAgICB9KTtcbiAgICB0aGlzLl9mdW5jdGlvbnNbb3BlcmF0aW9uLm9wZXJhdGlvbklkIV0gPSBmbjtcbiAgICBjZGsuVGFncy5vZihmbikuYWRkKCdPcGVuQVBJJywgZGVzY3JpcHRpb24ucmVwbGFjZSgvW15cXHdcXHNcXGRfLjovPStcXC1AXS9nLCAnJykpO1xuXG4gICAgLy8gaWYgKHRoaXMubW9uaXRvcmluZykge1xuICAgIC8vICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUR1cmF0aW9uc1dpZGdldC5hZGRMZWZ0TWV0cmljKGZuLm1ldHJpY0R1cmF0aW9uKCkpO1xuICAgIC8vICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUludm9rZXNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNJbnZvY2F0aW9ucygpKTtcbiAgICAvLyAgIHRoaXMubW9uaXRvcmluZy5sYW1iZGFFcnJvcnNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNFcnJvcnMoKSk7XG4gICAgLy8gICB0aGlzLm1vbml0b3JpbmcubGFtYmRhRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWMoZm4ubWV0cmljVGhyb3R0bGVzKCkpO1xuICAgIC8vIH1cblxuICAgIGNvbnN0IGhhc1ZlcnNpb25Db25maWcgPSBsYW1iZGFPcHRpb25zLmN1cnJlbnRWZXJzaW9uT3B0aW9ucyAhPSB1bmRlZmluZWQ7XG5cbiAgICBvcGVyYXRpb25bJ3gtYW1hem9uLWFwaWdhdGV3YXktaW50ZWdyYXRpb24nXSA9IHtcbiAgICAgIHR5cGU6ICdhd3NfcHJveHknLFxuICAgICAgaHR0cE1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJpOiBjZGsuU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgcmVzb3VyY2U6ICdwYXRoJyxcbiAgICAgICAgc2VydmljZTogJ2FwaWdhdGV3YXknLFxuICAgICAgICBhY2NvdW50OiAnbGFtYmRhJyxcbiAgICAgICAgYXJuRm9ybWF0OiBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHJlc291cmNlTmFtZTogYDIwMTUtMDMtMzEvZnVuY3Rpb25zLyR7KGhhc1ZlcnNpb25Db25maWcgPyBmbi5jdXJyZW50VmVyc2lvbiA6IGZuKS5mdW5jdGlvbkFybn0vaW52b2NhdGlvbnNgLFxuICAgICAgICAvLyAgICAgICAgICAgICBeXl5eXl5eXl5eIC0gVEhJUyBORUVEUyBUTyBCRSBUSElTIERBVEUuIEVYQUNUTFkhXG4gICAgICB9KSxcbiAgICAgIHBhc3N0aHJvdWdoQmVoYXZpb3I6ICd3aGVuX25vX3RlbXBsYXRlcycsXG4gICAgICBwYXlsb2FkRm9ybWF0VmVyc2lvbjogJzEuMCcsXG4gICAgfTtcblxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHByaXZhdGUgdGFibGVXcml0ZUFjY2Vzc0Zvck1ldGhvZChtZXRob2Q6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAobWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgIGNhc2UgJ3B1dCc6XG4gICAgICBjYXNlICdwYXRjaCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnb3B0aW9ucyc6XG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgY2FzZSAnaGVhZCc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFXUyBkb2VzIG5vdCBwcm9wZXJseSBhcHBseSB0aGUgJ3NlY3VyaXR5JyBvcHRpb24gdG8gZXZlcnkgc2luZ2xlIHBhdGgtbWV0aG9kLlxuICAgKiBBY2NvcmRpbmcgdG8gZG9jdW1lbnRhdGlvbiwgZ2xvYmFsIHNlY3VyaXR5IGdldHMgYXBwbGllZCwgaWYgdGhlcmUgaXMgbm8gc2VjdXJpdHlcbiAgICogc2V0IGZvciB0aGUgcGFydGljdWxhciBwYXRoLW1ldGhvZC4gSWYgdGhlcmUgaXMgYW55LCBldmVuIGVtcHR5LCBpdCB3aWxsIGdldCBwcmVjZWRlbmNlLlxuICAgKiBUSElTIERPRVMgTk9UIEhBUFBFTiBPTiBBV1MuIElUIEpVU1QgQUxXQVlTIFVTRVMgVEhFIEdMT0JBTCBTRVRUSU5HIVxuICAgKlxuICAgKiAnc2VjdXJpdHkgYXBwbGllcyBbLi4uXSBzY2hlbWVzIGdsb2JhbGx5IHRvIGFsbCBBUEkgb3BlcmF0aW9ucywgdW5sZXNzIG92ZXJyaWRkZW4gb24gdGhlIG9wZXJhdGlvbiBsZXZlbCdcbiAgICogQHNlZSBodHRwczovL3N3YWdnZXIuaW8vZG9jcy9zcGVjaWZpY2F0aW9uL2F1dGhlbnRpY2F0aW9uL1xuICAgKi9cbiAgcHJvdGVjdGVkIHBhdGNoU2VjdXJpdHkoc3BlYzogT3BlbkFQSTMpIHtcbiAgICBpZiAoJ3NlY3VyaXR5JyBpbiBzcGVjKSB7XG4gICAgICBmb3IgKGNvbnN0IHNwZWNQYXRoIG9mIE9iamVjdC52YWx1ZXMoc3BlYy5wYXRocyB8fCBbXSkpIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gc3BlY1BhdGgpIHtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0+IFRoZXJlIGlzIGEgd3JvbmcgZGVmaW5pdGlvbiBmb3IgbWV0aG9kIGluY2x1ZGVzISBJdCBhbGxvd3MgYW55IHZhbHVlIHRvIGJlIGdpdmVuIVxuICAgICAgICAgIGlmICghdGhpcy5hcGlNZXRob2RzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBTa2lwIGlmIG5vdCBodHRwIG1ldGhvZCBkZWZpbml0aW9uXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc3BlY01ldGhvZCA9IHNwZWNQYXRoW2tleSBhcyBrZXlvZiBQYXRoSXRlbU9iamVjdF0hO1xuICAgICAgICAgIGlmICghKCdzZWN1cml0eScgaW4gc3BlY01ldGhvZCkpIHtcbiAgICAgICAgICAgIHNwZWNNZXRob2Quc2VjdXJpdHkgPSBzcGVjLnNlY3VyaXR5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGVsZXRlIHNwZWMuc2VjdXJpdHk7XG4gICAgfVxuICB9XG5cbn0iXX0=
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9yZXN0LWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6Qiw2Q0FNcUI7QUFDckIsaURBQW1DO0FBRW5DLDhDQUFnQztBQUdoQyx5Q0FBbUQ7QUFDbkQsaUNBQXVEO0FBNEN2RCxNQUFhLE9BQW9CLFNBQVEsa0JBQU87SUFPOUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBVSxLQUF3Qjs7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFEd0IsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFGbEUsZUFBVSxHQUE4QyxFQUFFLENBQUM7UUFLakUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQWEsQ0FBQztRQUUzRixJQUFJLGdCQUE4RCxDQUFDO1FBQ25FLElBQUksVUFBK0MsQ0FBQztRQUNwRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsVUFBVSxHQUFHLHlCQUFXLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQy9GLE1BQU0sYUFBYSxHQUFHLEdBQUcsTUFBQSxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFFLGdCQUFnQixHQUFHO2dCQUNqQixVQUFVLEVBQUUsYUFBYTtnQkFDekIsV0FBVyxFQUFFLElBQUksb0NBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7b0JBQ2hFLFVBQVUs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R0FBRyxDQUFDLEVBQUU7d0JBQ2xDLFNBQVMsQ0FBQyxxQ0FBcUM7cUJBQ2hEO29CQUVELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUEyQixDQUFFLENBQUM7b0JBQzFELElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsRUFBRTt3QkFDL0IsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO3FCQUNyQztpQkFDRjthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztDQUVGO0FBNVVELDBCQTRVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7XG4gIGF3c19jZXJ0aWZpY2F0ZW1hbmFnZXIsXG4gIGF3c19pYW0sXG4gIGF3c19yb3V0ZTUzLFxuICBhd3Nfcm91dGU1M190YXJnZXRzLFxuICBhd3NfYXBpZ2F0ZXdheSxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICdqcy15YW1sJztcbmltcG9ydCB7IE9wZW5BUEkzLCBPcGVyYXRpb25PYmplY3QsIFBhdGhJdGVtT2JqZWN0IH0gZnJvbSAnb3BlbmFwaS10eXBlc2NyaXB0JztcbmltcG9ydCB7IElDb2duaXRvQXV0aGVudGljYXRpb24sIElKd3RBdXRoZW50aWNhdGlvbiB9IGZyb20gJy4vYXV0aGVudGljYXRpb24nO1xuaW1wb3J0IHsgQmFzZUFwaSwgQmFzZUFwaVByb3BzIH0gZnJvbSAnLi9iYXNlLWFwaSc7XG5pbXBvcnQgeyBMYW1iZGFGdW5jdGlvbiwgTGFtYmRhT3B0aW9ucyB9IGZyb20gJy4vZnVuYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEFwaVByb3BzPE9QUz4gZXh0ZW5kcyBCYXNlQXBpUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBvZiB0aGUgQVBJIChlLmcuIGV4YW1wbGUuY29tKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGN1c3RvbSBkb21haW4gaXMgY29uZmlndXJlZFxuICAgKi9cbiAgZG9tYWluTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSG9zdG5hbWUgb2YgdGhlIEFQSSBpZiBhIGRvbWFpbiBuYW1lIGlzIHNwZWNpZmllZFxuICAgKlxuICAgKiBAZGVmYXVsdCBhcGlcbiAgICovXG4gIGFwaUhvc3RuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSByb3V0ZXMgZm9yIGFsbCBlbmRwb2ludHMgY29uZmlndXJlZCBpbiB0aGUgb3BlbmFwaS55YW1sIGZpbGVcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgYXV0b0dlbmVyYXRlUm91dGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogY3VzdG9tIG9wdGlvbnMgZm9yIHRoZSBjcmVhdGVkIEh0dHBBcGlcbiAgICpcbiAgICogQGRlZmF1bHQgLVxuICAgKi9cbiAgcmVzdEFwaVByb3BzPzogYXdzX2FwaWdhdGV3YXkuUmVzdEFwaUJhc2VQcm9wcztcblxuICAvKipcbiAgICogYWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdW5kZXJseWluZyBMYW1iZGEgZnVuY3Rpb24gY29uc3RydWN0IHBlciBvcGVyYXRpb25JZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtXG4gICAqL1xuICBsYW1iZGFPcHRpb25zQnlPcGVyYXRpb24/OiB7IFtvcGVyYXRpb25JZCBpbiBrZXlvZiBPUFNdPzogTGFtYmRhT3B0aW9ucyB9O1xuXG4gIGRlZmluaXRpb25GaWxlTmFtZTogc3RyaW5nO1xuXG4gIGNvcnM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBSZXN0QXBpPFBBVEhTLCBPUFM+IGV4dGVuZHMgQmFzZUFwaSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaTogYXdzX2FwaWdhdGV3YXkuU3BlY1Jlc3RBcGk7XG4gIHB1YmxpYyByZWFkb25seSBhcGlTcGVjOiBPcGVuQVBJMztcblxuICBwcml2YXRlIF9mdW5jdGlvbnM6IHsgW29wZXJhdGlvbklkOiBzdHJpbmddOiBMYW1iZGFGdW5jdGlvbiB9ID0ge307XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJpdmF0ZSBwcm9wczogUmVzdEFwaVByb3BzPE9QUz4pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuYXBpU3BlYyA9IHlhbWwubG9hZChmcy5yZWFkRmlsZVN5bmMocHJvcHMuZGVmaW5pdGlvbkZpbGVOYW1lKS50b1N0cmluZygpKSBhcyBPcGVuQVBJMztcblxuICAgIGxldCBjdXN0b21Eb21haW5OYW1lOiBhd3NfYXBpZ2F0ZXdheS5Eb21haW5OYW1lT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgICBsZXQgaG9zdGVkWm9uZTogYXdzX3JvdXRlNTMuSUhvc3RlZFpvbmUgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHByb3BzLmRvbWFpbk5hbWUpIHtcbiAgICAgIGhvc3RlZFpvbmUgPSBhd3Nfcm91dGU1My5Ib3N0ZWRab25lLmZyb21Mb29rdXAodGhpcywgJ1pvbmUnLCB7IGRvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUgfSk7XG4gICAgICBjb25zdCBhcGlEb21haW5OYW1lID0gYCR7cHJvcHMuYXBpSG9zdG5hbWUgPz8gJ2FwaSd9LiR7cHJvcHMuZG9tYWluTmFtZX1gO1xuICAgICAgY3VzdG9tRG9tYWluTmFtZSA9IHtcbiAgICAgICAgZG9tYWluTmFtZTogYXBpRG9tYWluTmFtZSxcbiAgICAgICAgY2VydGlmaWNhdGU6IG5ldyBhd3NfY2VydGlmaWNhdGVtYW5hZ2VyLkNlcnRpZmljYXRlKHRoaXMsICdDZXJ0Jywge1xuICAgICAgICAgIGRvbWFpbk5hbWU6IGFwaURvbWFpbk5hbWUsXG4gICAgICAgICAgdmFsaWRhdGlvbjogYXdzX2NlcnRpZmljYXRlbWFuYWdlci5DZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyhob3N0ZWRab25lKSxcbiAgICAgICAgfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIGlmICgocHJvcHMubW9uaXRvcmluZyA/PyB0cnVlKSAmJiB0aGlzLm1vbml0b3JpbmcpIHtcbiAgICAvLyAgIHRoaXMubW9uaXRvcmluZy5hcGlFcnJvcnNXaWRnZXQuYWRkTGVmdE1ldHJpYyh0aGlzLmFwaS5tZXRyaWNTZXJ2ZXJFcnJvcih7XG4gICAgLy8gICAgIHN0YXRpc3RpYzogJ3N1bScsXG4gICAgLy8gICB9KSk7XG4gICAgLy8gICB0aGlzLm1vbml0b3JpbmcuYXBpRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWModGhpcy5hcGkubWV0cmljQ2xpZW50RXJyb3Ioe1xuICAgIC8vICAgICBzdGF0aXN0aWM6ICdzdW0nLFxuICAgIC8vICAgfSkpO1xuXG4gICAgLy8gICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVdpZGdldC5hZGRMZWZ0TWV0cmljKHRoaXMuYXBpLm1ldHJpY0xhdGVuY3koe1xuICAgIC8vICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICAvLyAgIH0pKTtcbiAgICAvLyAgIHRoaXMubW9uaXRvcmluZy5hcGlMYXRlbmN5V2lkZ2V0LmFkZExlZnRNZXRyaWModGhpcy5hcGkubWV0cmljTGF0ZW5jeSh7XG4gICAgLy8gICAgIHN0YXRpc3RpYzogJ3A5MCcsXG4gICAgLy8gICB9KSk7XG4gICAgLy8gICB0aGlzLm1vbml0b3JpbmcuYXBpTGF0ZW5jeVRhaWxXaWRnZXQuYWRkTGVmdE1ldHJpYyh0aGlzLmFwaS5tZXRyaWNMYXRlbmN5KHtcbiAgICAvLyAgICAgc3RhdGlzdGljOiAncDk1JyxcbiAgICAvLyAgIH0pKTtcbiAgICAvLyAgIHRoaXMubW9uaXRvcmluZy5hcGlMYXRlbmN5VGFpbFdpZGdldC5hZGRMZWZ0TWV0cmljKHRoaXMuYXBpLm1ldHJpY0xhdGVuY3koe1xuICAgIC8vICAgICBzdGF0aXN0aWM6ICdwOTknLFxuICAgIC8vICAgfSkpO1xuICAgIC8vIH1cblxuICAgIGlmIChwcm9wcy5hdXRvR2VuZXJhdGVSb3V0ZXMgPz8gdHJ1ZSkge1xuICAgICAgZm9yIChjb25zdCBwYXRoIGluIHRoaXMuYXBpU3BlYy5wYXRocykge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuYXBpU3BlYy5wYXRocywgcGF0aCkpIHtcbiAgICAgICAgICBjb25zdCBwYXRoSXRlbSA9IHRoaXMuYXBpU3BlYy5wYXRoc1twYXRoXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IG1ldGhvZCBpbiBwYXRoSXRlbSkge1xuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXRoSXRlbSwgbWV0aG9kKSAmJlxuICAgICAgICAgICAgICBbJ2dldCcsICdwb3N0JywgJ3B1dCcsICdkZWxldGUnLCAncGF0Y2gnLCAnb3B0aW9ucycsICdoZWFkJ10uaW5kZXhPZihtZXRob2QpID49IDApIHtcbiAgICAgICAgICAgICAgLy8gQWRkIGFsbCBvcGVyYXRpb25zXG4gICAgICAgICAgICAgIHRoaXMuYWRkUmVzdFJlc291cmNlKHBhdGggYXMgYW55LCBtZXRob2QgYXMgYW55KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgX3NwZWMgRW5kcG9pbnRcbiAgICB0aGlzLmFwaVNwZWMucGF0aHMhWycvb3BlbmFwaS5qc29uJ10gPSB7XG4gICAgICBnZXQ6IHtcbiAgICAgICAgJ3N1bW1hcnknOiAnUmV0dXJucyB0aGUgcmF3IE9wZW5BUEkgc3BlYyBvZiB0aGlzIEFQSScsXG4gICAgICAgICdkZXNjcmlwdGlvbic6ICdSZXR1cm5zIHRoZSByYXcgT3BlbkFQSSBzcGVjIG9mIHRoaXMgQVBJJyxcbiAgICAgICAgJ29wZXJhdGlvbklkJzogJ19zcGVjJyxcbiAgICAgICAgJ3Jlc3BvbnNlcyc6IHtcbiAgICAgICAgICAyMDA6IHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnT3BlbkFQSSBzcGVjIG9mIHRoaXMgQVBJJyxcbiAgICAgICAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL29wZW5hcGkranNvbic6IHt9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICAvLyBAdHMtaWdub3JlIEN1c3RvbSBwcm9wZXJ0eSBmb3IgQVdTXG4gICAgICAgICd4LWFtYXpvbi1hcGlnYXRld2F5LWludGVncmF0aW9uJzoge1xuICAgICAgICAgIHR5cGU6ICdtb2NrJyxcbiAgICAgICAgICBodHRwTWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICBwYXlsb2FkRm9ybWF0VmVyc2lvbjogJzEuMCcsXG4gICAgICAgICAgcmVxdWVzdFRlbXBsYXRlczoge1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nOiAne1xcJ3N0YXR1c0NvZGVcXCc6IDIwMH0nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzcG9uc2VzOiB7XG4gICAgICAgICAgICAyMDA6IHtcbiAgICAgICAgICAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgICAgICAgICAgICByZXNwb25zZVRlbXBsYXRlczoge1xuICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9vcGVuYXBpK2pzb24nOiBKU09OLnN0cmluZ2lmeSh0aGlzLmNsZWFudXBTcGVjKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoKHRoaXMuYXBpU3BlYykpKSkpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLmNvcnMpIHtcbiAgICAgIHRoaXMuYXBpU3BlYy5wYXRocyFbJy97cHJveHkrfSddID0ge1xuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgJ3N1bW1hcnknOiAnQ09SUyBzdXBwb3J0JyxcbiAgICAgICAgICAnZGVzY3JpcHRpb24nOiAnRW5hYmxlIENPUlMgYnkgcmV0dXJuaW5nIGNvcnJlY3QgaGVhZGVycycsXG4gICAgICAgICAgJ3RhZ3MnOiBbJ0NPUlMnXSxcbiAgICAgICAgICAncmVzcG9uc2VzJzoge1xuICAgICAgICAgICAgMjAwOiB7XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVmYXVsdCByZXNwb25zZSBmb3IgQ09SUyBtZXRob2QnLFxuICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbic6IHsgc2NoZW1hOiB7IHR5cGU6ICdzdHJpbmcnIH0gfSxcbiAgICAgICAgICAgICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyc6IHsgc2NoZW1hOiB7IHR5cGU6ICdzdHJpbmcnIH0gfSxcbiAgICAgICAgICAgICAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMnOiB7IHNjaGVtYTogeyB0eXBlOiAnc3RyaW5nJyB9IH0sXG4gICAgICAgICAgICAgICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMnOiB7IHNjaGVtYTogeyB0eXBlOiAnc3RyaW5nJyB9IH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHt9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgICd4LWFtYXpvbi1hcGlnYXRld2F5LWludGVncmF0aW9uJzoge1xuICAgICAgICAgICAgdHlwZTogJ21vY2snLFxuICAgICAgICAgICAgcmVxdWVzdFRlbXBsYXRlczoge1xuICAgICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbic6ICcjc2V0KCRjb250ZXh0LnJlcXVlc3RPdmVycmlkZS5oZWFkZXIub3JpZ2luID0gJG1ldGhvZC5yZXF1ZXN0LmhlYWRlci5vcmlnaW4pXFxue1xcbiAgXCJzdGF0dXNDb2RlXCIgOiAyMDBcXG59XFxuJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNwb25zZXM6IHtcbiAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIHN0YXR1c0NvZGU6ICcyMDAnLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlUGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgJ21ldGhvZC5yZXNwb25zZS5oZWFkZXIuQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyc6IFwiJ0NvbnRlbnQtVHlwZSxYLUFtei1EYXRlLEF1dGhvcml6YXRpb24sWC1BcGktS2V5J1wiLFxuICAgICAgICAgICAgICAgICAgJ21ldGhvZC5yZXNwb25zZS5oZWFkZXIuQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMnOiBcIid0cnVlJ1wiLFxuICAgICAgICAgICAgICAgICAgJ21ldGhvZC5yZXNwb25zZS5oZWFkZXIuQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyc6IFwiJyonXCIsXG4gICAgICAgICAgICAgICAgICAnbWV0aG9kLnJlc3BvbnNlLmhlYWRlci5BY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nOiAnY29udGV4dC5yZXF1ZXN0T3ZlcnJpZGUuaGVhZGVyLm9yaWdpbicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNwb25zZVRlbXBsYXRlczoge1xuICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nOiAne30nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMucGF0Y2hTZWN1cml0eSh0aGlzLmFwaVNwZWMpO1xuXG4gICAgLy8gVE9ETyBwYXRjaCBzcGVjIGZvciBDb2duaXRvIHVzZXIgcG9vbFxuXG4gICAgdGhpcy5hcGkgPSBuZXcgYXdzX2FwaWdhdGV3YXkuU3BlY1Jlc3RBcGkodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgcmVzdEFwaU5hbWU6IGAke3Byb3BzLmFwaU5hbWV9IFske3Byb3BzLnN0YWdlTmFtZX1dYCxcbiAgICAgIGRvbWFpbk5hbWU6IGN1c3RvbURvbWFpbk5hbWUsXG4gICAgICBhcGlEZWZpbml0aW9uOiBhd3NfYXBpZ2F0ZXdheS5BcGlEZWZpbml0aW9uLmZyb21JbmxpbmUodGhpcy5hcGlTcGVjKSxcbiAgICAgIC4uLnByb3BzLnJlc3RBcGlQcm9wcyxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBpbnZva2UgcGVybWlzc2lvbnMgdG8gTGFtYmRhIGZ1bmN0aW9uc1xuICAgIGZvciAoY29uc3QgZm4gb2YgT2JqZWN0LnZhbHVlcyh0aGlzLl9mdW5jdGlvbnMpKSB7XG4gICAgICBmbi5hZGRQZXJtaXNzaW9uKCdSZXN0QXBpSW52b2tlJywge1xuICAgICAgICBwcmluY2lwYWw6IG5ldyBhd3NfaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2FwaWdhdGV3YXkuYW1hem9uYXdzLmNvbScpLFxuICAgICAgICBhY3Rpb246ICdsYW1iZGE6SW52b2tlRnVuY3Rpb24nLFxuICAgICAgICBzb3VyY2VBcm46IHRoaXMuYXBpLmFybkZvckV4ZWN1dGVBcGkoKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjdXN0b21Eb21haW5OYW1lICYmIHRoaXMuYXBpLmRvbWFpbk5hbWUpIHtcbiAgICAgIG5ldyBhd3Nfcm91dGU1My5BUmVjb3JkKHRoaXMsICdEbnNSZWNvcmQnLCB7XG4gICAgICAgIHpvbmU6IGhvc3RlZFpvbmUhLFxuICAgICAgICByZWNvcmROYW1lOiBjdXN0b21Eb21haW5OYW1lLmRvbWFpbk5hbWUsXG4gICAgICAgIHRhcmdldDogYXdzX3JvdXRlNTMuUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhcbiAgICAgICAgICBuZXcgYXdzX3JvdXRlNTNfdGFyZ2V0cy5BcGlHYXRld2F5RG9tYWluKHRoaXMuYXBpLmRvbWFpbk5hbWUpLFxuICAgICAgICApLFxuICAgICAgfSk7XG4gICAgfVxuXG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYW51cFNwZWMoc3BlYzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIE9iamVjdC5lbnRyaWVzKHNwZWMpLmZvckVhY2goKFtwcm9wLCB2YWx1ZV06IFtzdHJpbmcsIGFueV0pID0+IHtcbiAgICAgIGlmIChwcm9wLnN0YXJ0c1dpdGgoJ3gtJykpIHtcbiAgICAgICAgZGVsZXRlIHNwZWNbcHJvcF07XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgdGhpcy5jbGVhbnVwU3BlYyhzcGVjW3Byb3BdKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzcGVjO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiB0aGUgZ2VuZXJhdGVkIExhbWJkYSBmdW5jdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBBUEkgb3BlcmF0aW9uXG4gICAqL1xuICBwdWJsaWMgZ2V0RnVuY3Rpb25Gb3JPcGVyYXRpb24ob3BlcmF0aW9uSWQ6IGtleW9mIE9QUyk6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZnVuY3Rpb25zW29wZXJhdGlvbklkIGFzIHN0cmluZ107XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuIGEgbGlzdCBvZiBhbGwgZ2VuZXJhdGVkIExhbWJkYSBmdW5jdGlvbnNcbiAgICovXG4gIHB1YmxpYyBnZXRGdW5jdGlvbnMoKTogTGFtYmRhRnVuY3Rpb25bXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5fZnVuY3Rpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWaXNpdG9yIG1ldGhvZCB0byBtb2RpZnkgdGhlIGdpdmVuIGZ1bmN0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0gb3BlcmF0aW9uSWRzIHRoZSBsaXN0IG9mIGZ1bmN0aW9ucyB0byB2aXNpdFxuICAgKiBAcGFyYW0gb3AgdGhlIGZ1bmN0aW9uIHRvIGNhbGwgZm9yIGV2ZXJ5IGZ1bmN0aW9uXG4gICAqL1xuICBwdWJsaWMgbW9kaWZ5T3BlcmF0aW9uRnVuY3Rpb25zKG9wZXJhdGlvbklkczogKGtleW9mIE9QUylbXSwgb3A6IChmbjogTGFtYmRhRnVuY3Rpb24pID0+IHZvaWQpIHtcbiAgICBmb3IgKGNvbnN0IG9wZXJhdGlvbklkIG9mIG9wZXJhdGlvbklkcykge1xuICAgICAgb3AodGhpcy5nZXRGdW5jdGlvbkZvck9wZXJhdGlvbihvcGVyYXRpb25JZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRSZXN0UmVzb3VyY2U8UCBleHRlbmRzIGtleW9mIFBBVEhTPihwYXRoOiBQLCBtZXRob2Q6IGtleW9mIFBBVEhTW1BdKSB7XG4gICAgY29uc3Qgb2FQYXRoID0gdGhpcy5hcGlTcGVjLnBhdGhzIVtwYXRoIGFzIHN0cmluZ107XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gb2FQYXRoW21ldGhvZCBhcyBrZXlvZiBQYXRoSXRlbU9iamVjdF0gYXMgT3BlcmF0aW9uT2JqZWN0O1xuICAgIGNvbnN0IG9wZXJhdGlvbklkID0gb3BlcmF0aW9uLm9wZXJhdGlvbklkITtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGAke21ldGhvZCBhcyBzdHJpbmd9ICR7cGF0aCBhcyBzdHJpbmd9IC0gJHtvcGVyYXRpb24uc3VtbWFyeX1gO1xuXG4gICAgY29uc3QgY3VzdG9tTGFtYmRhT3B0aW9ucyA9IHRoaXMucHJvcHMubGFtYmRhT3B0aW9uc0J5T3BlcmF0aW9uID8gdGhpcy5wcm9wcy5sYW1iZGFPcHRpb25zQnlPcGVyYXRpb25bb3BlcmF0aW9uSWQgYXMga2V5b2YgT1BTXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGhpcy5hZGRDdXN0b21SZXN0UmVzb3VyY2Uob3BlcmF0aW9uLCBtZXRob2QgYXMgc3RyaW5nLCBkZXNjcmlwdGlvbiwgY3VzdG9tTGFtYmRhT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYWRkQ3VzdG9tUmVzdFJlc291cmNlKG9wZXJhdGlvbjogT3BlcmF0aW9uT2JqZWN0LCBtZXRob2Q6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZywgYWRkaXRpb25hbExhbWJkYU9wdGlvbnM6IExhbWJkYU9wdGlvbnMgPSB7fSkge1xuICAgIGlmICgneC1hbWF6b24tYXBpZ2F0ZXdheS1pbnRlZ3JhdGlvbicgaW4gb3BlcmF0aW9uKSB7XG4gICAgICByZXR1cm47IC8vIFNraXAgaWYgb3BlcmF0aW9uIHdhcyBkZWNsYXJlZCBpbiBzcGVjIGZpbGUgYWxyZWFkeSFcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyeUZpbGUgPSBgLi9zcmMvbGFtYmRhL3Jlc3QuJHt0aGlzLnByb3BzLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0uJHtvcGVyYXRpb24ub3BlcmF0aW9uSWR9LnRzYDtcblxuICAgIGNvbnN0IGxhbWJkYU9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLnByb3BzLmxhbWJkYU9wdGlvbnMgJiYge1xuICAgICAgICAuLi50aGlzLnByb3BzLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9LFxuICAgICAgLi4uYWRkaXRpb25hbExhbWJkYU9wdGlvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGF1dGhlbnRpY2F0aW9uID0gdGhpcy5wcm9wcy5hdXRoZW50aWNhdGlvbiAmJiAodGhpcy5wcm9wcy5hdXRoZW50aWNhdGlvbi5oYXNPd25Qcm9wZXJ0eSgndXNlcnBvb2wnKVxuICAgICAgPyB7IHVzZXJQb29sOiAodGhpcy5wcm9wcy5hdXRoZW50aWNhdGlvbiBhcyBJQ29nbml0b0F1dGhlbnRpY2F0aW9uKS51c2VycG9vbCB9XG4gICAgICA6IHsgand0OiB0aGlzLnByb3BzLmF1dGhlbnRpY2F0aW9uIGFzIElKd3RBdXRoZW50aWNhdGlvbiB9KTtcblxuICAgIGNvbnN0IGZuID0gbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMsIGBGbiR7b3BlcmF0aW9uLm9wZXJhdGlvbklkfWAsIHtcbiAgICAgIHN0YWdlTmFtZTogdGhpcy5wcm9wcy5zdGFnZU5hbWUsXG4gICAgICBhZGRpdGlvbmFsRW52OiB7XG4gICAgICAgIC4uLnRoaXMucHJvcHMuZG9tYWluTmFtZSAmJiB7XG4gICAgICAgICAgRE9NQUlOX05BTUU6IHRoaXMucHJvcHMuZG9tYWluTmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5hZGRpdGlvbmFsRW52LFxuICAgICAgfSxcbiAgICAgIGVudHJ5OiBlbnRyeUZpbGUsXG4gICAgICBkZXNjcmlwdGlvbjogYFske3RoaXMucHJvcHMuc3RhZ2VOYW1lfV0gJHtkZXNjcmlwdGlvbn1gLFxuICAgICAgLi4uYXV0aGVudGljYXRpb24sXG4gICAgICAuLi50aGlzLnByb3BzLnNpbmdsZVRhYmxlRGF0YXN0b3JlICYmIHtcbiAgICAgICAgdGFibGU6IHRoaXMucHJvcHMuc2luZ2xlVGFibGVEYXRhc3RvcmUudGFibGUsXG4gICAgICAgIHRhYmxlV3JpdGVzOiB0aGlzLnRhYmxlV3JpdGVBY2Nlc3NGb3JNZXRob2QobWV0aG9kKSxcbiAgICAgIH0sXG4gICAgICAuLi50aGlzLnByb3BzLmFzc2V0Q2RuICYmIHtcbiAgICAgICAgYXNzZXREb21haW5OYW1lOiB0aGlzLnByb3BzLmFzc2V0Q2RuLmFzc2V0RG9tYWluTmFtZSxcbiAgICAgICAgYXNzZXRCdWNrZXQ6IHRoaXMucHJvcHMuYXNzZXRDZG4uYXNzZXRCdWNrZXQsXG4gICAgICB9LFxuICAgICAgbGFtYmRhT3B0aW9ucyxcbiAgICAgIGxhbWJkYVRyYWNpbmc6IHRoaXMucHJvcHMubGFtYmRhVHJhY2luZyxcbiAgICB9KTtcbiAgICB0aGlzLl9mdW5jdGlvbnNbb3BlcmF0aW9uLm9wZXJhdGlvbklkIV0gPSBmbjtcbiAgICBjZGsuVGFncy5vZihmbikuYWRkKCdPcGVuQVBJJywgZGVzY3JpcHRpb24ucmVwbGFjZSgvW15cXHdcXHNcXGRfLjovPStcXC1AXS9nLCAnJykpO1xuXG4gICAgLy8gaWYgKHRoaXMubW9uaXRvcmluZykge1xuICAgIC8vICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUR1cmF0aW9uc1dpZGdldC5hZGRMZWZ0TWV0cmljKGZuLm1ldHJpY0R1cmF0aW9uKCkpO1xuICAgIC8vICAgdGhpcy5tb25pdG9yaW5nLmxhbWJkYUludm9rZXNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNJbnZvY2F0aW9ucygpKTtcbiAgICAvLyAgIHRoaXMubW9uaXRvcmluZy5sYW1iZGFFcnJvcnNXaWRnZXQuYWRkTGVmdE1ldHJpYyhmbi5tZXRyaWNFcnJvcnMoKSk7XG4gICAgLy8gICB0aGlzLm1vbml0b3JpbmcubGFtYmRhRXJyb3JzV2lkZ2V0LmFkZExlZnRNZXRyaWMoZm4ubWV0cmljVGhyb3R0bGVzKCkpO1xuICAgIC8vIH1cblxuICAgIGNvbnN0IGhhc1ZlcnNpb25Db25maWcgPSBsYW1iZGFPcHRpb25zLmN1cnJlbnRWZXJzaW9uT3B0aW9ucyAhPSB1bmRlZmluZWQ7XG5cbiAgICBvcGVyYXRpb25bJ3gtYW1hem9uLWFwaWdhdGV3YXktaW50ZWdyYXRpb24nXSA9IHtcbiAgICAgIHR5cGU6ICdhd3NfcHJveHknLFxuICAgICAgaHR0cE1ldGhvZDogJ1BPU1QnLFxuICAgICAgdXJpOiBjZGsuU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgcmVzb3VyY2U6ICdwYXRoJyxcbiAgICAgICAgc2VydmljZTogJ2FwaWdhdGV3YXknLFxuICAgICAgICBhY2NvdW50OiAnbGFtYmRhJyxcbiAgICAgICAgYXJuRm9ybWF0OiBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHJlc291cmNlTmFtZTogYDIwMTUtMDMtMzEvZnVuY3Rpb25zLyR7KGhhc1ZlcnNpb25Db25maWcgPyBmbi5jdXJyZW50VmVyc2lvbiA6IGZuKS5mdW5jdGlvbkFybn0vaW52b2NhdGlvbnNgLFxuICAgICAgICAvLyAgICAgICAgICAgICBeXl5eXl5eXl5eIC0gVEhJUyBORUVEUyBUTyBCRSBUSElTIERBVEUuIEVYQUNUTFkhXG4gICAgICB9KSxcbiAgICAgIHBhc3N0aHJvdWdoQmVoYXZpb3I6ICd3aGVuX25vX3RlbXBsYXRlcycsXG4gICAgICBwYXlsb2FkRm9ybWF0VmVyc2lvbjogJzEuMCcsXG4gICAgfTtcblxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHByaXZhdGUgdGFibGVXcml0ZUFjY2Vzc0Zvck1ldGhvZChtZXRob2Q6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAobWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgIGNhc2UgJ3B1dCc6XG4gICAgICBjYXNlICdwYXRjaCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnb3B0aW9ucyc6XG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgY2FzZSAnaGVhZCc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFXUyBkb2VzIG5vdCBwcm9wZXJseSBhcHBseSB0aGUgJ3NlY3VyaXR5JyBvcHRpb24gdG8gZXZlcnkgc2luZ2xlIHBhdGgtbWV0aG9kLlxuICAgKiBBY2NvcmRpbmcgdG8gZG9jdW1lbnRhdGlvbiwgZ2xvYmFsIHNlY3VyaXR5IGdldHMgYXBwbGllZCwgaWYgdGhlcmUgaXMgbm8gc2VjdXJpdHlcbiAgICogc2V0IGZvciB0aGUgcGFydGljdWxhciBwYXRoLW1ldGhvZC4gSWYgdGhlcmUgaXMgYW55LCBldmVuIGVtcHR5LCBpdCB3aWxsIGdldCBwcmVjZWRlbmNlLlxuICAgKiBUSElTIERPRVMgTk9UIEhBUFBFTiBPTiBBV1MuIElUIEpVU1QgQUxXQVlTIFVTRVMgVEhFIEdMT0JBTCBTRVRUSU5HIVxuICAgKlxuICAgKiAnc2VjdXJpdHkgYXBwbGllcyBbLi4uXSBzY2hlbWVzIGdsb2JhbGx5IHRvIGFsbCBBUEkgb3BlcmF0aW9ucywgdW5sZXNzIG92ZXJyaWRkZW4gb24gdGhlIG9wZXJhdGlvbiBsZXZlbCdcbiAgICogQHNlZSBodHRwczovL3N3YWdnZXIuaW8vZG9jcy9zcGVjaWZpY2F0aW9uL2F1dGhlbnRpY2F0aW9uL1xuICAgKi9cbiAgcHJvdGVjdGVkIHBhdGNoU2VjdXJpdHkoc3BlYzogT3BlbkFQSTMpIHtcbiAgICBpZiAoJ3NlY3VyaXR5JyBpbiBzcGVjKSB7XG4gICAgICBmb3IgKGNvbnN0IHNwZWNQYXRoIG9mIE9iamVjdC52YWx1ZXMoc3BlYy5wYXRocyB8fCBbXSkpIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gc3BlY1BhdGgpIHtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0+IFRoZXJlIGlzIGEgd3JvbmcgZGVmaW5pdGlvbiBmb3IgbWV0aG9kIGluY2x1ZGVzISBJdCBhbGxvd3MgYW55IHZhbHVlIHRvIGJlIGdpdmVuIVxuICAgICAgICAgIGlmICghdGhpcy5hcGlNZXRob2RzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBTa2lwIGlmIG5vdCBodHRwIG1ldGhvZCBkZWZpbml0aW9uXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc3BlY01ldGhvZCA9IHNwZWNQYXRoW2tleSBhcyBrZXlvZiBQYXRoSXRlbU9iamVjdF0hO1xuICAgICAgICAgIGlmICghKCdzZWN1cml0eScgaW4gc3BlY01ldGhvZCkpIHtcbiAgICAgICAgICAgIHNwZWNNZXRob2Quc2VjdXJpdHkgPSBzcGVjLnNlY3VyaXR5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGVsZXRlIHNwZWMuc2VjdXJpdHk7XG4gICAgfVxuICB9XG5cbn0iXX0=
@@ -64,9 +64,9 @@ export const table = new Table({
64
64
  hidden: false,
65
65
  });
66
66
 
67
- ${Object.entries(model.models).map(([typeName, _]) => `export type ${typeName}Type = Entity<typeof Schema.models.${typeName}>
67
+ ${Object.entries(model.models).map(([typeName, _]) => `export type ${typeName}Type = Entity<typeof Schema.models.${typeName}>;
68
68
  export const ${typeName}: Model<${typeName}Type> = table.getModel<${typeName}Type>('${typeName}');
69
- `)}
69
+ `).join('\n')}
70
70
 
71
71
  `, {
72
72
  encoding: 'utf-8',
@@ -142,4 +142,4 @@ export class ${this.options.modelName}Datastore extends SingleTableDatastore {
142
142
  }
143
143
  }
144
144
  exports.Datastore = Datastore;
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2plbi9kYXRhc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFFekIsMkNBQTZCO0FBQzdCLGlDQUFzQztBQU90QyxNQUFhLFNBQVUsU0FBUSxFQUFFLENBQUMsU0FBUztJQUV6QyxZQUFZLEdBQWtDLEVBQVksT0FBeUI7UUFDakYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRDZDLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBR2pGLEdBQUcsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDeEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRXJDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQWMsQ0FBQztRQUUxRixJQUFJLENBQUMsZUFBZSxDQUFDLDZCQUE2QixPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsNkJBQTZCLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFUyxlQUFlLENBQUMsUUFBZ0IsRUFBRSxLQUFnQjtRQUUxRCxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTs7Ozs7Ozs7O0VBUzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxF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LENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7O1lBR2IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDOzBCQUNsRixHQUFHOzt1QkFFTixJQUFJLENBQUMsSUFBSTs7OzZDQUdhLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVM7Y0FDMUYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7Ozs7O0VBTXZCLEVBQUU7WUFDRSxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUY7QUEzSEQsOEJBMkhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgT25lU2NoZW1hIH0gZnJvbSAnZHluYW1vZGItb25ldGFibGUnO1xuaW1wb3J0ICogYXMgcGogZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFBBQ0tBR0VfTkFNRSB9IGZyb20gJy4vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXN0b3JlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IG1vZGVsTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZWZpbml0aW9uRmlsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0YXN0b3JlIGV4dGVuZHMgcGouQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihhcHA6IHBqLmF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBwcm90ZWN0ZWQgb3B0aW9uczogRGF0YXN0b3JlT3B0aW9ucykge1xuICAgIHN1cGVyKGFwcCk7XG5cbiAgICBhcHAuYWRkRGVwcygnZHluYW1vZGItb25ldGFibGUnKTtcbiAgICBhcHAuYWRkRGVwcygnQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiJyk7XG4gICAgYXBwLmFkZERlcHMoJ0Bhd3Mtc2RrL2xpYi1keW5hbW9kYicpO1xuXG4gICAgY29uc3QgbW9kZWwgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhvcHRpb25zLmRlZmluaXRpb25GaWxlKS50b1N0cmluZygpKSBhcyBPbmVTY2hlbWE7XG5cbiAgICB0aGlzLmNyZWF0ZU1vZGVsRmlsZShgLi9zcmMvZ2VuZXJhdGVkL2RhdGFzdG9yZS4ke29wdGlvbnMubW9kZWxOYW1lLnRvTG93ZXJDYXNlKCl9LW1vZGVsLmdlbmVyYXRlZC50c2AsIG1vZGVsKTtcbiAgICB0aGlzLmNyZWF0ZUNvbnN0cnVjdEZpbGUoYC4vc3JjL2dlbmVyYXRlZC9kYXRhc3RvcmUuJHtvcHRpb25zLm1vZGVsTmFtZS50b0xvd2VyQ2FzZSgpfS1jb25zdHJ1Y3QuZ2VuZXJhdGVkLnRzYCwgbW9kZWwpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU1vZGVsRmlsZShmaWxlTmFtZTogc3RyaW5nLCBtb2RlbDogT25lU2NoZW1hKSB7XG5cbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVOYW1lLCBgLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7IE1vZGVsLCBUYWJsZSwgRW50aXR5IH0gZnJvbSAnZHluYW1vZGItb25ldGFibGUnO1xuaW1wb3J0IHsgZW52IH0gZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQgeyBEeW5hbW8gfSBmcm9tICdkeW5hbW9kYi1vbmV0YWJsZS9EeW5hbW8nO1xuaW1wb3J0IHsgRHluYW1vREJDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZHluYW1vZGInO1xuXG5leHBvcnQgY29uc3QgZHluYW1vQ2xpZW50ID0gbmV3IER5bmFtbyh7IGNsaWVudDogbmV3IER5bmFtb0RCQ2xpZW50KHt9KSB9KVxuZXhwb3J0IGNvbnN0IFRBQkxFX05BTUU6IHN0cmluZyA9IGVudi5UQUJMRSE7XG5cbiR7T2JqZWN0LmVudHJpZXMobW9kZWwuaW5kZXhlcykubWFwKChbaWR4LCBkYXRhXSkgPT4gYGV4cG9ydCBjb25zdCBJbmRleF8ke2lkeH1fTmFtZSA9ICcke2lkeH0nO1xuZXhwb3J0IGNvbnN0IEluZGV4XyR7aWR4fV9IYXNoS2V5ID0gJyR7ZGF0YS5oYXNofSc7XG5leHBvcnQgY29uc3QgSW5kZXhfJHtpZHh9X1NvcnRLZXkgPSAnJHtkYXRhLnNvcnR9JztcbmApLmpvaW4oJ1xcbicpfVxuXG5leHBvcnQgY29uc3QgU2NoZW1hID0gJHt0aGlzLnN0cmluZ2lmeU1vZGVsKG1vZGVsKX07XG5cbmV4cG9ydCBjb25zdCB0YWJsZSA9IG5ldyBUYWJsZSh7XG4gIGNsaWVudDogZHluYW1vQ2xpZW50LFxuICBuYW1lOiBUQUJMRV9OQU1FLFxuICBzY2hlbWE6IFNjaGVtYSxcbiAgaXNvRGF0ZXM6IHRydWUsXG4gIC8vIGxvZ2dlcjogdHJ1ZSxcbiAgaGlkZGVuOiBmYWxzZSxcbn0pO1xuXG4ke09iamVjdC5lbnRyaWVzKG1vZGVsLm1vZGVscykubWFwKChbdHlwZU5hbWUsIF9dKSA9PiBgZXhwb3J0IHR5cGUgJHt0eXBlTmFtZX1UeXBlID0gRW50aXR5PHR5cGVvZiBTY2hlbWEubW9kZWxzLiR7dHlwZU5hbWV9PlxuZXhwb3J0IGNvbnN0ICR7dHlwZU5hbWV9OiBNb2RlbDwke3R5cGVOYW1lfVR5cGU+ID0gdGFibGUuZ2V0TW9kZWw8JHt0eXBlTmFtZX1UeXBlPignJHt0eXBlTmFtZX0nKTtcbmApfVxuXG5gLCB7XG4gICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RyaW5naWZ5TW9kZWwobW9kZWw6IE9uZVNjaGVtYSkge1xuICAgIC8vIGFycmF5LCBiaW5hcnksIGJvb2xlYW4sICAgICAgICAgZGF0ZSwgbnVtYmVyLCBvYmplY3QsIHNldCwgc3RyaW5nXG4gICAgLy8gQXJyYXksIEJpbmFyeSwgQm9vbGVhbiwgQnVmZmVyLCBEYXRlLCBOdW1iZXIsIE9iamVjdCwgU2V0LCBTdHJpbmdcblxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShtb2RlbCwgbnVsbCwgMilcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJhcnJheVwiL2csICdcInR5cGVcIjogQXJyYXknKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcImJpbmFyeVwiL2csICdcInR5cGVcIjogQmluYXJ5JylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJib29sZWFuXCIvZywgJ1widHlwZVwiOiBCb29sZWFuJylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJkYXRlXCIvZywgJ1widHlwZVwiOiBEYXRlJylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJudW1iZXJcIi9nLCAnXCJ0eXBlXCI6IE51bWJlcicpXG4gICAgICAucmVwbGFjZSgvXCJ0eXBlXCI6IFwib2JqZWN0XCIvZywgJ1widHlwZVwiOiBPYmplY3QnKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcInNldFwiL2csICdcInR5cGVcIjogU2V0JylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJzdHJpbmdcIi9nLCAnXCJ0eXBlXCI6IFN0cmluZycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnN0cnVjdEZpbGUoZmlsZU5hbWU6IHN0cmluZywgbW9kZWw6IE9uZVNjaGVtYSkge1xuXG4gICAgZnMud3JpdGVGaWxlU3luYyhmaWxlTmFtZSwgYC8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgeyBBdHRyaWJ1dGVUeXBlLCBQcm9qZWN0aW9uVHlwZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1keW5hbW9kYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFNpbmdsZVRhYmxlRGF0YXN0b3JlLCBTaW5nbGVUYWJsZURhdGFzdG9yZVByb3BzIH0gZnJvbSAnJHtQQUNLQUdFX05BTUV9L2xpYi9jb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSAke3RoaXMub3B0aW9ucy5tb2RlbE5hbWV9RGF0YXN0b3JlUHJvcHMgZXh0ZW5kcyBPbWl0PFNpbmdsZVRhYmxlRGF0YXN0b3JlUHJvcHMsICdkZXNpZ24nPiB7XG4gIC8vXG59XG5cbmV4cG9ydCBjbGFzcyAke3RoaXMub3B0aW9ucy5tb2RlbE5hbWV9RGF0YXN0b3JlIGV4dGVuZHMgU2luZ2xlVGFibGVEYXRhc3RvcmUge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiAke3RoaXMub3B0aW9ucy5tb2RlbE5hbWV9RGF0YXN0b3JlUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBkZXNpZ246IHtcbiAgICAgICAgcHJpbWFyeUtleToge1xuICAgICAgICAgIHBhcnRpdGlvbktleTogJyR7bW9kZWwuaW5kZXhlcy5wcmltYXJ5Lmhhc2h9JyxcbiAgICAgICAgICAke21vZGVsLmluZGV4ZXMucHJpbWFyeS5zb3J0ID8gYHNvcnRLZXk6ICcke21vZGVsLmluZGV4ZXMucHJpbWFyeS5zb3J0fScsYCA6ICcnfVxuICAgICAgICB9LFxuICAgICAgICAvLyB0aW1lVG9MaXZlQXR0cmlidXRlOiAnVE9ETycsXG4gICAgICAgIGdsb2JhbEluZGV4ZXM6IFtcbiAgICAgICAgICAke09iamVjdC5lbnRyaWVzKG1vZGVsLmluZGV4ZXMpLmZpbHRlcigoW2lkeCwgZGF0YV0pID0+IGlkeCAhPT0gJ3ByaW1hcnknICYmIGRhdGEudHlwZSAhPT0gJ2xvY2FsJykubWFwKChbaWR4LCBkYXRhXSkgPT4gYHtcbiAgICAgICAgICAgIGluZGV4TmFtZTogJyR7aWR4fScsXG4gICAgICAgICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgICAgICAgbmFtZTogJyR7ZGF0YS5oYXNofScsXG4gICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICR7ZGF0YS5zb3J0ID8gYHNvcnRLZXk6IHtcbiAgICAgICAgICAgICAgbmFtZTogJyR7ZGF0YS5zb3J0fScsXG4gICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgfSxgIDogJyd9XG4gICAgICAgICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuJHt0eXBlb2YgZGF0YS5wcm9qZWN0ID09PSAnc3RyaW5nJyA/IGRhdGEucHJvamVjdC50b1VwcGVyQ2FzZSgpIDogJ0lOQ0xVREUnfSxcbiAgICAgICAgICAgICR7QXJyYXkuaXNBcnJheShkYXRhLnByb2plY3QpID8gYG5vbktleUF0dHJpYnV0ZXM6IFske2RhdGEucHJvamVjdC5tYXAoZSA9PiBgJyR7ZX0nYCkuam9pbignLCcpfV0sYCA6ICcnfVxuICAgICAgICAgIH1gKS5qb2luKCcsXFxuJyl9XG4gICAgICAgIF0sXG4gICAgICAgIGxvY2FsSW5kZXhlczogW1xuICAgICAgICAgICR7T2JqZWN0LmVudHJpZXMobW9kZWwuaW5kZXhlcykuZmlsdGVyKChbXywgZGF0YV0pID0+IGRhdGEudHlwZSA9PT0gJ2xvY2FsJykubWFwKChbaWR4LCBkYXRhXSkgPT4gYHtcbiAgICAgICAgICAgIGluZGV4TmFtZTogJyR7aWR4fScsXG4gICAgICAgICAgICBzb3J0S2V5OiB7XG4gICAgICAgICAgICAgIG5hbWU6ICcke2RhdGEuc29ydH0nLFxuICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuJHt0eXBlb2YgZGF0YS5wcm9qZWN0ID09PSAnc3RyaW5nJyA/IGRhdGEucHJvamVjdCA6ICdJTkNMVURFJ30sXG4gICAgICAgICAgICAke0FycmF5LmlzQXJyYXkoZGF0YS5wcm9qZWN0KSA/IGBub25LZXlBdHRyaWJ1dGVzOiBbJHtkYXRhLnByb2plY3QubWFwKGUgPT4gYCcke2V9J2ApLmpvaW4oJywnKX1dLGAgOiAnJ31cbiAgICAgICAgICB9YCkuam9pbignLFxcbicpfVxuICAgICAgICBdLFxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1gLCB7XG4gICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICB9KTtcbiAgfVxuXG59Il19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2plbi9kYXRhc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFFekIsMkNBQTZCO0FBQzdCLGlDQUFzQztBQU90QyxNQUFhLFNBQVUsU0FBUSxFQUFFLENBQUMsU0FBUztJQUV6QyxZQUFZLEdBQWtDLEVBQVksT0FBeUI7UUFDakYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRDZDLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBR2pGLEdBQUcsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDeEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRXJDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQWMsQ0FBQztRQUUxRixJQUFJLENBQUMsZUFBZSxDQUFDLDZCQUE2QixPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsNkJBQTZCLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFUyxlQUFlLENBQUMsUUFBZ0IsRUFBRSxLQUFnQjtRQUUxRCxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTs7Ozs7Ozs7O0VBUzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsR0FBRyxZQUFZLEdBQUc7cUJBQ3hFLEdBQUcsZUFBZSxJQUFJLENBQUMsSUFBSTtxQkFDM0IsR0FBRyxlQUFlLElBQUksQ0FBQyxJQUFJO0NBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzt3QkFFVyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7RUFXaEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsUUFBUSxzQ0FBc0MsUUFBUTtlQUM1RyxRQUFRLFdBQVcsUUFBUSwwQkFBMEIsUUFBUSxVQUFVLFFBQVE7Q0FDN0YsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7O0NBRVosRUFBRTtZQUNHLFFBQVEsRUFBRSxPQUFPO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsS0FBZ0I7UUFDckMsb0VBQW9FO1FBQ3BFLG9FQUFvRTtRQUVwRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDbEMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQzthQUM1QyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUM7YUFDOUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDO2FBQ2hELE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLENBQUM7YUFDMUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO2FBQzlDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQzthQUM5QyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDO2FBQ3hDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxRQUFnQixFQUFFLEtBQWdCO1FBRTlELEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFOzs7bUVBR29DLG1CQUFZOzttQkFFNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTOzs7O2VBSTFCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUzs7cURBRWdCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUzs7Ozs7MkJBS2hELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUk7WUFDekMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7O1lBSTdFLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDOzBCQUN6RyxHQUFHOzt1QkFFTixJQUFJLENBQUMsSUFBSTs7O2NBR2xCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3VCQUNILElBQUksQ0FBQyxJQUFJOztlQUVqQixDQUFDLENBQUMsQ0FBQyxFQUFFOzZDQUN5QixPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2NBQ3hHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7OztZQUdiLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQzswQkFDbEYsR0FBRzs7dUJBRU4sSUFBSSxDQUFDLElBQUk7Ozs2Q0FHYSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTO2NBQzFGLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Ozs7OztFQU12QixFQUFFO1lBQ0UsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGO0FBM0hELDhCQTJIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IE9uZVNjaGVtYSB9IGZyb20gJ2R5bmFtb2RiLW9uZXRhYmxlJztcbmltcG9ydCAqIGFzIHBqIGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBQQUNLQUdFX05BTUUgfSBmcm9tICcuL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzdG9yZU9wdGlvbnMge1xuICByZWFkb25seSBtb2RlbE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVmaW5pdGlvbkZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERhdGFzdG9yZSBleHRlbmRzIHBqLkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoYXBwOiBwai5hd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJvdGVjdGVkIG9wdGlvbnM6IERhdGFzdG9yZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuXG4gICAgYXBwLmFkZERlcHMoJ2R5bmFtb2RiLW9uZXRhYmxlJyk7XG4gICAgYXBwLmFkZERlcHMoJ0Bhd3Mtc2RrL2NsaWVudC1keW5hbW9kYicpO1xuICAgIGFwcC5hZGREZXBzKCdAYXdzLXNkay9saWItZHluYW1vZGInKTtcblxuICAgIGNvbnN0IG1vZGVsID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMob3B0aW9ucy5kZWZpbml0aW9uRmlsZSkudG9TdHJpbmcoKSkgYXMgT25lU2NoZW1hO1xuXG4gICAgdGhpcy5jcmVhdGVNb2RlbEZpbGUoYC4vc3JjL2dlbmVyYXRlZC9kYXRhc3RvcmUuJHtvcHRpb25zLm1vZGVsTmFtZS50b0xvd2VyQ2FzZSgpfS1tb2RlbC5nZW5lcmF0ZWQudHNgLCBtb2RlbCk7XG4gICAgdGhpcy5jcmVhdGVDb25zdHJ1Y3RGaWxlKGAuL3NyYy9nZW5lcmF0ZWQvZGF0YXN0b3JlLiR7b3B0aW9ucy5tb2RlbE5hbWUudG9Mb3dlckNhc2UoKX0tY29uc3RydWN0LmdlbmVyYXRlZC50c2AsIG1vZGVsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbEZpbGUoZmlsZU5hbWU6IHN0cmluZywgbW9kZWw6IE9uZVNjaGVtYSkge1xuXG4gICAgZnMud3JpdGVGaWxlU3luYyhmaWxlTmFtZSwgYC8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgeyBNb2RlbCwgVGFibGUsIEVudGl0eSB9IGZyb20gJ2R5bmFtb2RiLW9uZXRhYmxlJztcbmltcG9ydCB7IGVudiB9IGZyb20gJ3Byb2Nlc3MnO1xuaW1wb3J0IHsgRHluYW1vIH0gZnJvbSAnZHluYW1vZGItb25ldGFibGUvRHluYW1vJztcbmltcG9ydCB7IER5bmFtb0RCQ2xpZW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiJztcblxuZXhwb3J0IGNvbnN0IGR5bmFtb0NsaWVudCA9IG5ldyBEeW5hbW8oeyBjbGllbnQ6IG5ldyBEeW5hbW9EQkNsaWVudCh7fSkgfSlcbmV4cG9ydCBjb25zdCBUQUJMRV9OQU1FOiBzdHJpbmcgPSBlbnYuVEFCTEUhO1xuXG4ke09iamVjdC5lbnRyaWVzKG1vZGVsLmluZGV4ZXMpLm1hcCgoW2lkeCwgZGF0YV0pID0+IGBleHBvcnQgY29uc3QgSW5kZXhfJHtpZHh9X05hbWUgPSAnJHtpZHh9JztcbmV4cG9ydCBjb25zdCBJbmRleF8ke2lkeH1fSGFzaEtleSA9ICcke2RhdGEuaGFzaH0nO1xuZXhwb3J0IGNvbnN0IEluZGV4XyR7aWR4fV9Tb3J0S2V5ID0gJyR7ZGF0YS5zb3J0fSc7XG5gKS5qb2luKCdcXG4nKX1cblxuZXhwb3J0IGNvbnN0IFNjaGVtYSA9ICR7dGhpcy5zdHJpbmdpZnlNb2RlbChtb2RlbCl9O1xuXG5leHBvcnQgY29uc3QgdGFibGUgPSBuZXcgVGFibGUoe1xuICBjbGllbnQ6IGR5bmFtb0NsaWVudCxcbiAgbmFtZTogVEFCTEVfTkFNRSxcbiAgc2NoZW1hOiBTY2hlbWEsXG4gIGlzb0RhdGVzOiB0cnVlLFxuICAvLyBsb2dnZXI6IHRydWUsXG4gIGhpZGRlbjogZmFsc2UsXG59KTtcblxuJHtPYmplY3QuZW50cmllcyhtb2RlbC5tb2RlbHMpLm1hcCgoW3R5cGVOYW1lLCBfXSkgPT4gYGV4cG9ydCB0eXBlICR7dHlwZU5hbWV9VHlwZSA9IEVudGl0eTx0eXBlb2YgU2NoZW1hLm1vZGVscy4ke3R5cGVOYW1lfT47XG5leHBvcnQgY29uc3QgJHt0eXBlTmFtZX06IE1vZGVsPCR7dHlwZU5hbWV9VHlwZT4gPSB0YWJsZS5nZXRNb2RlbDwke3R5cGVOYW1lfVR5cGU+KCcke3R5cGVOYW1lfScpO1xuYCkuam9pbignXFxuJyl9XG5cbmAsIHtcbiAgICAgIGVuY29kaW5nOiAndXRmLTgnLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdHJpbmdpZnlNb2RlbChtb2RlbDogT25lU2NoZW1hKSB7XG4gICAgLy8gYXJyYXksIGJpbmFyeSwgYm9vbGVhbiwgICAgICAgICBkYXRlLCBudW1iZXIsIG9iamVjdCwgc2V0LCBzdHJpbmdcbiAgICAvLyBBcnJheSwgQmluYXJ5LCBCb29sZWFuLCBCdWZmZXIsIERhdGUsIE51bWJlciwgT2JqZWN0LCBTZXQsIFN0cmluZ1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG1vZGVsLCBudWxsLCAyKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcImFycmF5XCIvZywgJ1widHlwZVwiOiBBcnJheScpXG4gICAgICAucmVwbGFjZSgvXCJ0eXBlXCI6IFwiYmluYXJ5XCIvZywgJ1widHlwZVwiOiBCaW5hcnknKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcImJvb2xlYW5cIi9nLCAnXCJ0eXBlXCI6IEJvb2xlYW4nKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcImRhdGVcIi9nLCAnXCJ0eXBlXCI6IERhdGUnKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcIm51bWJlclwiL2csICdcInR5cGVcIjogTnVtYmVyJylcbiAgICAgIC5yZXBsYWNlKC9cInR5cGVcIjogXCJvYmplY3RcIi9nLCAnXCJ0eXBlXCI6IE9iamVjdCcpXG4gICAgICAucmVwbGFjZSgvXCJ0eXBlXCI6IFwic2V0XCIvZywgJ1widHlwZVwiOiBTZXQnKVxuICAgICAgLnJlcGxhY2UoL1widHlwZVwiOiBcInN0cmluZ1wiL2csICdcInR5cGVcIjogU3RyaW5nJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29uc3RydWN0RmlsZShmaWxlTmFtZTogc3RyaW5nLCBtb2RlbDogT25lU2NoZW1hKSB7XG5cbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVOYW1lLCBgLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7IEF0dHJpYnV0ZVR5cGUsIFByb2plY3Rpb25UeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgU2luZ2xlVGFibGVEYXRhc3RvcmUsIFNpbmdsZVRhYmxlRGF0YXN0b3JlUHJvcHMgfSBmcm9tICcke1BBQ0tBR0VfTkFNRX0vbGliL2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlICR7dGhpcy5vcHRpb25zLm1vZGVsTmFtZX1EYXRhc3RvcmVQcm9wcyBleHRlbmRzIE9taXQ8U2luZ2xlVGFibGVEYXRhc3RvcmVQcm9wcywgJ2Rlc2lnbic+IHtcbiAgLy9cbn1cblxuZXhwb3J0IGNsYXNzICR7dGhpcy5vcHRpb25zLm1vZGVsTmFtZX1EYXRhc3RvcmUgZXh0ZW5kcyBTaW5nbGVUYWJsZURhdGFzdG9yZSB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7dGhpcy5vcHRpb25zLm1vZGVsTmFtZX1EYXRhc3RvcmVQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRlc2lnbjoge1xuICAgICAgICBwcmltYXJ5S2V5OiB7XG4gICAgICAgICAgcGFydGl0aW9uS2V5OiAnJHttb2RlbC5pbmRleGVzLnByaW1hcnkuaGFzaH0nLFxuICAgICAgICAgICR7bW9kZWwuaW5kZXhlcy5wcmltYXJ5LnNvcnQgPyBgc29ydEtleTogJyR7bW9kZWwuaW5kZXhlcy5wcmltYXJ5LnNvcnR9JyxgIDogJyd9XG4gICAgICAgIH0sXG4gICAgICAgIC8vIHRpbWVUb0xpdmVBdHRyaWJ1dGU6ICdUT0RPJyxcbiAgICAgICAgZ2xvYmFsSW5kZXhlczogW1xuICAgICAgICAgICR7T2JqZWN0LmVudHJpZXMobW9kZWwuaW5kZXhlcykuZmlsdGVyKChbaWR4LCBkYXRhXSkgPT4gaWR4ICE9PSAncHJpbWFyeScgJiYgZGF0YS50eXBlICE9PSAnbG9jYWwnKS5tYXAoKFtpZHgsIGRhdGFdKSA9PiBge1xuICAgICAgICAgICAgaW5kZXhOYW1lOiAnJHtpZHh9JyxcbiAgICAgICAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICAgICAgICBuYW1lOiAnJHtkYXRhLmhhc2h9JyxcbiAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgJHtkYXRhLnNvcnQgPyBgc29ydEtleToge1xuICAgICAgICAgICAgICBuYW1lOiAnJHtkYXRhLnNvcnR9JyxcbiAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICB9LGAgOiAnJ31cbiAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS4ke3R5cGVvZiBkYXRhLnByb2plY3QgPT09ICdzdHJpbmcnID8gZGF0YS5wcm9qZWN0LnRvVXBwZXJDYXNlKCkgOiAnSU5DTFVERSd9LFxuICAgICAgICAgICAgJHtBcnJheS5pc0FycmF5KGRhdGEucHJvamVjdCkgPyBgbm9uS2V5QXR0cmlidXRlczogWyR7ZGF0YS5wcm9qZWN0Lm1hcChlID0+IGAnJHtlfSdgKS5qb2luKCcsJyl9XSxgIDogJyd9XG4gICAgICAgICAgfWApLmpvaW4oJyxcXG4nKX1cbiAgICAgICAgXSxcbiAgICAgICAgbG9jYWxJbmRleGVzOiBbXG4gICAgICAgICAgJHtPYmplY3QuZW50cmllcyhtb2RlbC5pbmRleGVzKS5maWx0ZXIoKFtfLCBkYXRhXSkgPT4gZGF0YS50eXBlID09PSAnbG9jYWwnKS5tYXAoKFtpZHgsIGRhdGFdKSA9PiBge1xuICAgICAgICAgICAgaW5kZXhOYW1lOiAnJHtpZHh9JyxcbiAgICAgICAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgICAgICAgbmFtZTogJyR7ZGF0YS5zb3J0fScsXG4gICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS4ke3R5cGVvZiBkYXRhLnByb2plY3QgPT09ICdzdHJpbmcnID8gZGF0YS5wcm9qZWN0IDogJ0lOQ0xVREUnfSxcbiAgICAgICAgICAgICR7QXJyYXkuaXNBcnJheShkYXRhLnByb2plY3QpID8gYG5vbktleUF0dHJpYnV0ZXM6IFske2RhdGEucHJvamVjdC5tYXAoZSA9PiBgJyR7ZX0nYCkuam9pbignLCcpfV0sYCA6ICcnfVxuICAgICAgICAgIH1gKS5qb2luKCcsXFxuJyl9XG4gICAgICAgIF0sXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxufWAsIHtcbiAgICAgIGVuY29kaW5nOiAndXRmLTgnLFxuICAgIH0pO1xuICB9XG5cbn0iXX0=
package/package.json CHANGED
@@ -90,7 +90,7 @@
90
90
  },
91
91
  "main": "lib/index.js",
92
92
  "license": "Apache-2.0",
93
- "version": "2.0.3",
93
+ "version": "2.1.0",
94
94
  "jest": {
95
95
  "testMatch": [
96
96
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",