@aws-cdk/aws-bedrock-agentcore-alpha 2.237.1-alpha.0 → 2.239.0-alpha.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.
- package/.jsii +2128 -856
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +119 -1
- package/README.md +109 -47
- package/lib/gateway/gateway-base.d.ts +14 -7
- package/lib/gateway/gateway-base.js +13 -4
- package/lib/gateway/gateway.d.ts +66 -10
- package/lib/gateway/gateway.js +38 -3
- package/lib/gateway/inbound-auth/authorizer.d.ts +2 -2
- package/lib/gateway/inbound-auth/authorizer.js +4 -4
- package/lib/gateway/inbound-auth/custom-claim.d.ts +1 -1
- package/lib/gateway/inbound-auth/custom-claim.js +2 -2
- package/lib/gateway/interceptor.d.ts +3 -3
- package/lib/gateway/interceptor.js +2 -2
- package/lib/gateway/outbound-auth/api-key.d.ts +4 -2
- package/lib/gateway/outbound-auth/api-key.js +2 -2
- package/lib/gateway/outbound-auth/credential-provider.d.ts +5 -5
- package/lib/gateway/outbound-auth/credential-provider.js +2 -2
- package/lib/gateway/outbound-auth/iam-role.d.ts +3 -2
- package/lib/gateway/outbound-auth/iam-role.js +1 -1
- package/lib/gateway/outbound-auth/oauth.d.ts +4 -2
- package/lib/gateway/outbound-auth/oauth.js +1 -1
- package/lib/gateway/protocol.d.ts +1 -1
- package/lib/gateway/protocol.js +3 -3
- package/lib/gateway/targets/schema/api-schema.d.ts +3 -3
- package/lib/gateway/targets/schema/api-schema.js +5 -5
- package/lib/gateway/targets/schema/base-schema.d.ts +2 -2
- package/lib/gateway/targets/schema/base-schema.js +1 -1
- package/lib/gateway/targets/schema/tool-schema.d.ts +3 -3
- package/lib/gateway/targets/schema/tool-schema.js +5 -5
- package/lib/gateway/targets/target-base.d.ts +13 -5
- package/lib/gateway/targets/target-base.js +13 -2
- package/lib/gateway/targets/target-configuration.d.ts +251 -5
- package/lib/gateway/targets/target-configuration.js +344 -8
- package/lib/gateway/targets/target.d.ts +59 -9
- package/lib/gateway/targets/target.js +46 -3
- package/lib/memory/memory-strategy.d.ts +6 -4
- package/lib/memory/memory-strategy.js +2 -3
- package/lib/memory/memory.d.ts +12 -5
- package/lib/memory/memory.js +13 -17
- package/lib/memory/strategies/managed-strategy.d.ts +5 -4
- package/lib/memory/strategies/managed-strategy.js +2 -2
- package/lib/memory/strategies/self-managed-strategy.d.ts +4 -4
- package/lib/memory/strategies/self-managed-strategy.js +2 -2
- package/lib/memory/validation-helpers.d.ts +1 -1
- package/lib/memory/validation-helpers.js +1 -1
- package/lib/network/network-configuration.d.ts +2 -2
- package/lib/network/network-configuration.js +5 -5
- package/lib/runtime/inbound-auth/custom-claim.d.ts +1 -1
- package/lib/runtime/inbound-auth/custom-claim.js +2 -2
- package/lib/runtime/inbound-auth/runtime-authorizer-configuration.d.ts +3 -3
- package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +2 -2
- package/lib/runtime/runtime-artifact.d.ts +27 -4
- package/lib/runtime/runtime-artifact.js +67 -2
- package/lib/runtime/runtime-base.d.ts +12 -5
- package/lib/runtime/runtime-base.js +15 -18
- package/lib/runtime/runtime-endpoint-base.d.ts +9 -3
- package/lib/runtime/runtime-endpoint-base.js +10 -14
- package/lib/runtime/runtime-endpoint.d.ts +3 -2
- package/lib/runtime/runtime-endpoint.js +2 -2
- package/lib/runtime/runtime.d.ts +7 -5
- package/lib/runtime/runtime.js +2 -2
- package/lib/runtime/types.d.ts +1 -1
- package/lib/runtime/types.js +1 -1
- package/lib/tools/browser.d.ts +12 -5
- package/lib/tools/browser.js +14 -5
- package/lib/tools/code-interpreter.d.ts +11 -4
- package/lib/tools/code-interpreter.js +14 -5
- package/package.json +12 -12
- package/rosetta/default.ts-fixture +1 -0
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -120,6 +120,22 @@ function _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeAttributes(p) {
|
|
|
120
120
|
}
|
|
121
121
|
function _aws_cdk_aws_bedrock_agentcore_alpha_AgentCoreRuntime(p) {
|
|
122
122
|
}
|
|
123
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_CodeAssetOptions(p) {
|
|
124
|
+
if (p == null)
|
|
125
|
+
return;
|
|
126
|
+
visitedObjects.add(p);
|
|
127
|
+
try {
|
|
128
|
+
if (!visitedObjects.has(p.runtime))
|
|
129
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_AgentCoreRuntime(p.runtime);
|
|
130
|
+
if (p.readers != null)
|
|
131
|
+
for (const o of p.readers)
|
|
132
|
+
if (!visitedObjects.has(o))
|
|
133
|
+
require("aws-cdk-lib/.warnings.jsii.js").aws_cdk_lib_aws_iam_IGrantable(o);
|
|
134
|
+
}
|
|
135
|
+
finally {
|
|
136
|
+
visitedObjects.delete(p);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
123
139
|
function _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeArtifact(p) {
|
|
124
140
|
}
|
|
125
141
|
function _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeCustomClaim(p) {
|
|
@@ -302,6 +318,24 @@ function _aws_cdk_aws_bedrock_agentcore_alpha_AddMcpServerTargetOptions(p) {
|
|
|
302
318
|
visitedObjects.delete(p);
|
|
303
319
|
}
|
|
304
320
|
}
|
|
321
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_AddApiGatewayTargetOptions(p) {
|
|
322
|
+
if (p == null)
|
|
323
|
+
return;
|
|
324
|
+
visitedObjects.add(p);
|
|
325
|
+
try {
|
|
326
|
+
if (!visitedObjects.has(p.apiGatewayToolConfiguration))
|
|
327
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolConfiguration(p.apiGatewayToolConfiguration);
|
|
328
|
+
if (p.credentialProviderConfigurations != null)
|
|
329
|
+
for (const o of p.credentialProviderConfigurations)
|
|
330
|
+
if (!visitedObjects.has(o))
|
|
331
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_ICredentialProviderConfig(o);
|
|
332
|
+
if (!visitedObjects.has(p.metadataConfiguration))
|
|
333
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_MetadataConfiguration(p.metadataConfiguration);
|
|
334
|
+
}
|
|
335
|
+
finally {
|
|
336
|
+
visitedObjects.delete(p);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
305
339
|
function _aws_cdk_aws_bedrock_agentcore_alpha_GatewayProps(p) {
|
|
306
340
|
if (p == null)
|
|
307
341
|
return;
|
|
@@ -530,6 +564,26 @@ function _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetMcpServerProps(p) {
|
|
|
530
564
|
visitedObjects.delete(p);
|
|
531
565
|
}
|
|
532
566
|
}
|
|
567
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetApiGatewayProps(p) {
|
|
568
|
+
if (p == null)
|
|
569
|
+
return;
|
|
570
|
+
visitedObjects.add(p);
|
|
571
|
+
try {
|
|
572
|
+
if (!visitedObjects.has(p.apiGatewayToolConfiguration))
|
|
573
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolConfiguration(p.apiGatewayToolConfiguration);
|
|
574
|
+
if (!visitedObjects.has(p.gateway))
|
|
575
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_IGateway(p.gateway);
|
|
576
|
+
if (p.credentialProviderConfigurations != null)
|
|
577
|
+
for (const o of p.credentialProviderConfigurations)
|
|
578
|
+
if (!visitedObjects.has(o))
|
|
579
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_ICredentialProviderConfig(o);
|
|
580
|
+
if (!visitedObjects.has(p.metadataConfiguration))
|
|
581
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_MetadataConfiguration(p.metadataConfiguration);
|
|
582
|
+
}
|
|
583
|
+
finally {
|
|
584
|
+
visitedObjects.delete(p);
|
|
585
|
+
}
|
|
586
|
+
}
|
|
533
587
|
function _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetAttributes(p) {
|
|
534
588
|
if (p == null)
|
|
535
589
|
return;
|
|
@@ -558,6 +612,70 @@ function _aws_cdk_aws_bedrock_agentcore_alpha_SmithyTargetConfiguration(p) {
|
|
|
558
612
|
}
|
|
559
613
|
function _aws_cdk_aws_bedrock_agentcore_alpha_McpServerTargetConfiguration(p) {
|
|
560
614
|
}
|
|
615
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayHttpMethod(p) {
|
|
616
|
+
}
|
|
617
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolFilter(p) {
|
|
618
|
+
if (p == null)
|
|
619
|
+
return;
|
|
620
|
+
visitedObjects.add(p);
|
|
621
|
+
try {
|
|
622
|
+
if (p.methods != null)
|
|
623
|
+
for (const o of p.methods)
|
|
624
|
+
if (!visitedObjects.has(o))
|
|
625
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayHttpMethod(o);
|
|
626
|
+
}
|
|
627
|
+
finally {
|
|
628
|
+
visitedObjects.delete(p);
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolOverride(p) {
|
|
632
|
+
if (p == null)
|
|
633
|
+
return;
|
|
634
|
+
visitedObjects.add(p);
|
|
635
|
+
try {
|
|
636
|
+
if (!visitedObjects.has(p.method))
|
|
637
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayHttpMethod(p.method);
|
|
638
|
+
}
|
|
639
|
+
finally {
|
|
640
|
+
visitedObjects.delete(p);
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_MetadataConfiguration(p) {
|
|
644
|
+
}
|
|
645
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolConfiguration(p) {
|
|
646
|
+
if (p == null)
|
|
647
|
+
return;
|
|
648
|
+
visitedObjects.add(p);
|
|
649
|
+
try {
|
|
650
|
+
if (p.toolFilters != null)
|
|
651
|
+
for (const o of p.toolFilters)
|
|
652
|
+
if (!visitedObjects.has(o))
|
|
653
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolFilter(o);
|
|
654
|
+
if (p.toolOverrides != null)
|
|
655
|
+
for (const o of p.toolOverrides)
|
|
656
|
+
if (!visitedObjects.has(o))
|
|
657
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolOverride(o);
|
|
658
|
+
}
|
|
659
|
+
finally {
|
|
660
|
+
visitedObjects.delete(p);
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayTargetConfigurationProps(p) {
|
|
664
|
+
if (p == null)
|
|
665
|
+
return;
|
|
666
|
+
visitedObjects.add(p);
|
|
667
|
+
try {
|
|
668
|
+
if (!visitedObjects.has(p.apiGatewayToolConfiguration))
|
|
669
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolConfiguration(p.apiGatewayToolConfiguration);
|
|
670
|
+
if (!visitedObjects.has(p.metadataConfiguration))
|
|
671
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_MetadataConfiguration(p.metadataConfiguration);
|
|
672
|
+
}
|
|
673
|
+
finally {
|
|
674
|
+
visitedObjects.delete(p);
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayTargetConfiguration(p) {
|
|
678
|
+
}
|
|
561
679
|
function _aws_cdk_aws_bedrock_agentcore_alpha_ApiSchema(p) {
|
|
562
680
|
}
|
|
563
681
|
function _aws_cdk_aws_bedrock_agentcore_alpha_AssetApiSchema(p) {
|
|
@@ -644,4 +762,4 @@ class DeprecationError extends Error {
|
|
|
644
762
|
});
|
|
645
763
|
}
|
|
646
764
|
}
|
|
647
|
-
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_bedrock_agentcore_alpha_IMemory, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryBase, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryProps, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_Memory, _aws_cdk_aws_bedrock_agentcore_alpha_OverrideConfig, _aws_cdk_aws_bedrock_agentcore_alpha_EpisodicReflectionConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ManagedStrategyProps, _aws_cdk_aws_bedrock_agentcore_alpha_ManagedMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_TriggerConditions, _aws_cdk_aws_bedrock_agentcore_alpha_InvocationConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_SelfManagedStrategyProps, _aws_cdk_aws_bedrock_agentcore_alpha_SelfManagedMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategyType, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategyCommonProps, _aws_cdk_aws_bedrock_agentcore_alpha_IMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_VpcConfigProps, _aws_cdk_aws_bedrock_agentcore_alpha_NetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CustomClaimOperator, _aws_cdk_aws_bedrock_agentcore_alpha_ProtocolType, _aws_cdk_aws_bedrock_agentcore_alpha_RequestHeaderConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_LifecycleConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_IBedrockAgentRuntime, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeBase, _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_AgentCoreRuntime, _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeArtifact, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeCustomClaim, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeAuthorizerConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_IRuntimeEndpoint, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointBase, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointProps, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpoint, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeProps, _aws_cdk_aws_bedrock_agentcore_alpha_AddEndpointOptions, _aws_cdk_aws_bedrock_agentcore_alpha_Runtime, _aws_cdk_aws_bedrock_agentcore_alpha_ICodeInterpreterCustom, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomBase, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomProps, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustom, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserSigning, _aws_cdk_aws_bedrock_agentcore_alpha_IBrowserCustom, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomBase, _aws_cdk_aws_bedrock_agentcore_alpha_RecordingConfig, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomProps, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustom, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayExceptionLevel, _aws_cdk_aws_bedrock_agentcore_alpha_IGateway, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayBase, _aws_cdk_aws_bedrock_agentcore_alpha_AddLambdaTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddOpenApiTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddSmithyTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddMcpServerTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_Gateway, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptionPoint, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptorOptions, _aws_cdk_aws_bedrock_agentcore_alpha_IInterceptor, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptorBindConfig, _aws_cdk_aws_bedrock_agentcore_alpha_LambdaInterceptor, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayProtocolConfig, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayProtocol, _aws_cdk_aws_bedrock_agentcore_alpha_MCPProtocolVersion, _aws_cdk_aws_bedrock_agentcore_alpha_McpGatewaySearchType, _aws_cdk_aws_bedrock_agentcore_alpha_McpConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpProtocolConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizerType, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayAuthorizerConfig, _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_IamAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_CognitoAuthorizerProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayCustomClaim, _aws_cdk_aws_bedrock_agentcore_alpha_CredentialProviderType, _aws_cdk_aws_bedrock_agentcore_alpha_ICredentialProviderConfig, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayCredentialProvider, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyAdditionalConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyCredentialLocation, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyCredentialProviderProps, _aws_cdk_aws_bedrock_agentcore_alpha_OAuthConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetProtocolType, _aws_cdk_aws_bedrock_agentcore_alpha_McpTargetType, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_IMcpGatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetBase, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetCommonProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetLambdaProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetOpenApiProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetSmithyProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetMcpServerProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_TargetConfigurationConfig, _aws_cdk_aws_bedrock_agentcore_alpha_ITargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_LambdaTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_OpenApiTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_SmithyTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpServerTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_AssetApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_InlineApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_S3ApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_SchemaDefinitionType, _aws_cdk_aws_bedrock_agentcore_alpha_SchemaDefinition, _aws_cdk_aws_bedrock_agentcore_alpha_ToolDefinition, _aws_cdk_aws_bedrock_agentcore_alpha_ToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_AssetToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_InlineToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_S3ToolSchema };
|
|
765
|
+
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_bedrock_agentcore_alpha_IMemory, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryBase, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryProps, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_Memory, _aws_cdk_aws_bedrock_agentcore_alpha_OverrideConfig, _aws_cdk_aws_bedrock_agentcore_alpha_EpisodicReflectionConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ManagedStrategyProps, _aws_cdk_aws_bedrock_agentcore_alpha_ManagedMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_TriggerConditions, _aws_cdk_aws_bedrock_agentcore_alpha_InvocationConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_SelfManagedStrategyProps, _aws_cdk_aws_bedrock_agentcore_alpha_SelfManagedMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategyType, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategyCommonProps, _aws_cdk_aws_bedrock_agentcore_alpha_IMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_VpcConfigProps, _aws_cdk_aws_bedrock_agentcore_alpha_NetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CustomClaimOperator, _aws_cdk_aws_bedrock_agentcore_alpha_ProtocolType, _aws_cdk_aws_bedrock_agentcore_alpha_RequestHeaderConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_LifecycleConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_IBedrockAgentRuntime, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeBase, _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_AgentCoreRuntime, _aws_cdk_aws_bedrock_agentcore_alpha_CodeAssetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeArtifact, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeCustomClaim, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeAuthorizerConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_IRuntimeEndpoint, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointBase, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointProps, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpoint, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeProps, _aws_cdk_aws_bedrock_agentcore_alpha_AddEndpointOptions, _aws_cdk_aws_bedrock_agentcore_alpha_Runtime, _aws_cdk_aws_bedrock_agentcore_alpha_ICodeInterpreterCustom, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomBase, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomProps, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustom, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserSigning, _aws_cdk_aws_bedrock_agentcore_alpha_IBrowserCustom, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomBase, _aws_cdk_aws_bedrock_agentcore_alpha_RecordingConfig, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomProps, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustom, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayExceptionLevel, _aws_cdk_aws_bedrock_agentcore_alpha_IGateway, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayBase, _aws_cdk_aws_bedrock_agentcore_alpha_AddLambdaTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddOpenApiTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddSmithyTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddMcpServerTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddApiGatewayTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_Gateway, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptionPoint, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptorOptions, _aws_cdk_aws_bedrock_agentcore_alpha_IInterceptor, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptorBindConfig, _aws_cdk_aws_bedrock_agentcore_alpha_LambdaInterceptor, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayProtocolConfig, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayProtocol, _aws_cdk_aws_bedrock_agentcore_alpha_MCPProtocolVersion, _aws_cdk_aws_bedrock_agentcore_alpha_McpGatewaySearchType, _aws_cdk_aws_bedrock_agentcore_alpha_McpConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpProtocolConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizerType, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayAuthorizerConfig, _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_IamAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_CognitoAuthorizerProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayCustomClaim, _aws_cdk_aws_bedrock_agentcore_alpha_CredentialProviderType, _aws_cdk_aws_bedrock_agentcore_alpha_ICredentialProviderConfig, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayCredentialProvider, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyAdditionalConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyCredentialLocation, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyCredentialProviderProps, _aws_cdk_aws_bedrock_agentcore_alpha_OAuthConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetProtocolType, _aws_cdk_aws_bedrock_agentcore_alpha_McpTargetType, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_IMcpGatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetBase, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetCommonProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetLambdaProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetOpenApiProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetSmithyProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetMcpServerProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetApiGatewayProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_TargetConfigurationConfig, _aws_cdk_aws_bedrock_agentcore_alpha_ITargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_LambdaTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_OpenApiTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_SmithyTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpServerTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayHttpMethod, _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolFilter, _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolOverride, _aws_cdk_aws_bedrock_agentcore_alpha_MetadataConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayToolConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayTargetConfigurationProps, _aws_cdk_aws_bedrock_agentcore_alpha_ApiGatewayTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_AssetApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_InlineApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_S3ApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_SchemaDefinitionType, _aws_cdk_aws_bedrock_agentcore_alpha_SchemaDefinition, _aws_cdk_aws_bedrock_agentcore_alpha_ToolDefinition, _aws_cdk_aws_bedrock_agentcore_alpha_ToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_AssetToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_InlineToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_S3ToolSchema };
|
package/README.md
CHANGED
|
@@ -28,49 +28,6 @@ This construct library facilitates the deployment of Bedrock AgentCore primitive
|
|
|
28
28
|
|
|
29
29
|
## Table of contents
|
|
30
30
|
|
|
31
|
-
- [AgentCore Runtime](#agentcore-runtime)
|
|
32
|
-
- [Runtime Versioning](#runtime-versioning)
|
|
33
|
-
- [Runtime Endpoints](#runtime-endpoints)
|
|
34
|
-
- [AgentCore Runtime Properties](#agentcore-runtime-properties)
|
|
35
|
-
- [Runtime Endpoint Properties](#runtime-endpoint-properties)
|
|
36
|
-
- [Creating a Runtime](#creating-a-runtime)
|
|
37
|
-
- [Option 1: Use an existing image in ECR](#option-1-use-an-existing-image-in-ecr)
|
|
38
|
-
- [Managing Endpoints and Versions](#managing-endpoints-and-versions)
|
|
39
|
-
- [Option 2: Use a local asset](#option-2-use-a-local-asset)
|
|
40
|
-
- [Browser Custom tool](#browser)
|
|
41
|
-
- [Browser properties](#browser-properties)
|
|
42
|
-
- [Browser Network modes](#browser-network-modes)
|
|
43
|
-
- [Basic Browser Creation](#basic-browser-creation)
|
|
44
|
-
- [Browser IAM permissions](#browser-iam-permissions)
|
|
45
|
-
- [Code Interpreter Custom tool](#code-interpreter)
|
|
46
|
-
- [Code Interpreter properties](#code-interpreter-properties)
|
|
47
|
-
- [Code Interpreter Network Modes](#code-interpreter-network-modes)
|
|
48
|
-
- [Basic Code Interpreter Creation](#basic-code-interpreter-creation)
|
|
49
|
-
- [Code Interpreter IAM permissions](#code-interpreter-iam-permissions)
|
|
50
|
-
- [Gateway](#gateway)
|
|
51
|
-
- [Gateway Properties](#gateway-properties)
|
|
52
|
-
- [Basic Gateway Creation](#basic-gateway-creation)
|
|
53
|
-
- [Protocol configuration](#protocol-configuration)
|
|
54
|
-
- [Inbound authorization](#inbound-authorization)
|
|
55
|
-
- [Gateway with KMS Encryption](#gateway-with-kms-encryption)
|
|
56
|
-
- [Gateway with Custom Execution Role](#gateway-with-custom-execution-role)
|
|
57
|
-
- [Gateway IAM Permissions](#gateway-iam-permissions)
|
|
58
|
-
- [Gateway Target](#gateway-target)
|
|
59
|
-
- [Gateway Target Properties](#gateway-target-properties)
|
|
60
|
-
- [Targets types](#targets-types)
|
|
61
|
-
- [Outbound auth](#outbound-auth)
|
|
62
|
-
- [Api schema](#api-schema-for-openapi-and-smithy-target)
|
|
63
|
-
- [Basic Gateway Target Creation](#basic-gateway-target-creation)
|
|
64
|
-
- [Using addTarget methods (Recommended)](#using-addtarget-methods-recommended)
|
|
65
|
-
- [Using static factory methods](#using-static-factory-methods)
|
|
66
|
-
- [Lambda Target with Tool Schema](#tools-schema-for-lambda-target)
|
|
67
|
-
- [Smithy Model Target with OAuth](#api-schema-for-openapi-and-smithy-target)
|
|
68
|
-
- [Gateway Target IAM Permissions](#gateway-target-iam-permissions)
|
|
69
|
-
- [Memory](#memory)
|
|
70
|
-
- [Memory properties](#memory-properties)
|
|
71
|
-
- [Basic Memory Creation](#basic-memory-creation)
|
|
72
|
-
- [LTM Memory Extraction Stategies](#ltm-memory-extraction-stategies)
|
|
73
|
-
- [Memory Strategy Methods](#memory-strategy-methods)
|
|
74
31
|
- [Amazon Bedrock AgentCore Construct Library](#amazon-bedrock-agentcore-construct-library)
|
|
75
32
|
- [Table of contents](#table-of-contents)
|
|
76
33
|
- [AgentCore Runtime](#agentcore-runtime)
|
|
@@ -81,6 +38,7 @@ This construct library facilitates the deployment of Bedrock AgentCore primitive
|
|
|
81
38
|
- [Option 1: Use an existing image in ECR](#option-1-use-an-existing-image-in-ecr)
|
|
82
39
|
- [Option 2: Use a local asset](#option-2-use-a-local-asset)
|
|
83
40
|
- [Option 3: Use direct code deployment](#option-3-use-direct-code-deployment)
|
|
41
|
+
- [Option 4: Use an ECR container image URI](#option-4-use-an-ecr-container-image-uri)
|
|
84
42
|
- [Granting Permissions to Invoke Bedrock Models or Inference Profiles](#granting-permissions-to-invoke-bedrock-models-or-inference-profiles)
|
|
85
43
|
- [Runtime Versioning](#runtime-versioning)
|
|
86
44
|
- [Managing Endpoints and Versions](#managing-endpoints-and-versions)
|
|
@@ -101,6 +59,10 @@ This construct library facilitates the deployment of Bedrock AgentCore primitive
|
|
|
101
59
|
- [Public Network Mode (Default)](#public-network-mode-default)
|
|
102
60
|
- [VPC Network Mode](#vpc-network-mode)
|
|
103
61
|
- [Managing Security Groups with VPC Configuration](#managing-security-groups-with-vpc-configuration)
|
|
62
|
+
- [Runtime IAM Permissions](#runtime-iam-permissions)
|
|
63
|
+
- [Other configuration](#other-configuration)
|
|
64
|
+
- [Lifecycle configuration](#lifecycle-configuration)
|
|
65
|
+
- [Request header configuration](#request-header-configuration)
|
|
104
66
|
- [Browser](#browser)
|
|
105
67
|
- [Browser Network modes](#browser-network-modes)
|
|
106
68
|
- [Browser Properties](#browser-properties)
|
|
@@ -110,6 +72,7 @@ This construct library facilitates the deployment of Bedrock AgentCore primitive
|
|
|
110
72
|
- [Browser with Recording Configuration](#browser-with-recording-configuration)
|
|
111
73
|
- [Browser with Custom Execution Role](#browser-with-custom-execution-role)
|
|
112
74
|
- [Browser with S3 Recording and Permissions](#browser-with-s3-recording-and-permissions)
|
|
75
|
+
- [Browser with Browser signing](#browser-with-browser-signing)
|
|
113
76
|
- [Browser IAM Permissions](#browser-iam-permissions)
|
|
114
77
|
- [Code Interpreter](#code-interpreter)
|
|
115
78
|
- [Code Interpreter Network Modes](#code-interpreter-network-modes)
|
|
@@ -120,6 +83,28 @@ This construct library facilitates the deployment of Bedrock AgentCore primitive
|
|
|
120
83
|
- [Code Interpreter with Custom Execution Role](#code-interpreter-with-custom-execution-role)
|
|
121
84
|
- [Code Interpreter IAM Permissions](#code-interpreter-iam-permissions)
|
|
122
85
|
- [Code interpreter with tags](#code-interpreter-with-tags)
|
|
86
|
+
- [Gateway](#gateway)
|
|
87
|
+
- [Gateway Properties](#gateway-properties)
|
|
88
|
+
- [Basic Gateway Creation](#basic-gateway-creation)
|
|
89
|
+
- [Protocol configuration](#protocol-configuration)
|
|
90
|
+
- [Inbound authorization](#inbound-authorization)
|
|
91
|
+
- [Gateway with KMS Encryption](#gateway-with-kms-encryption)
|
|
92
|
+
- [Gateway with Custom Execution Role](#gateway-with-custom-execution-role)
|
|
93
|
+
- [Gateway IAM Permissions](#gateway-iam-permissions)
|
|
94
|
+
- [Gateway Target](#gateway-target)
|
|
95
|
+
- [Gateway Target Properties](#gateway-target-properties)
|
|
96
|
+
- [Targets types](#targets-types)
|
|
97
|
+
- [Understanding Tool Naming](#understanding-tool-naming)
|
|
98
|
+
- [Tools schema For Lambda target](#tools-schema-for-lambda-target)
|
|
99
|
+
- [Api schema For OpenAPI and Smithy target](#api-schema-for-openapi-and-smithy-target)
|
|
100
|
+
- [Outbound auth](#outbound-auth)
|
|
101
|
+
- [Basic Gateway Target Creation](#basic-gateway-target-creation)
|
|
102
|
+
- [Using addTarget methods (Recommended)](#using-addtarget-methods-recommended)
|
|
103
|
+
- [Using static factory methods](#using-static-factory-methods)
|
|
104
|
+
- [Advanced Usage: Direct Configuration for gateway target](#advanced-usage-direct-configuration-for-gateway-target)
|
|
105
|
+
- [Configuration Factory Methods](#configuration-factory-methods)
|
|
106
|
+
- [Example: Lambda Target with Custom Configuration](#example-lambda-target-with-custom-configuration)
|
|
107
|
+
- [Gateway Target IAM Permissions](#gateway-target-iam-permissions)
|
|
123
108
|
- [Memory](#memory)
|
|
124
109
|
- [Memory Properties](#memory-properties)
|
|
125
110
|
- [Basic Memory Creation](#basic-memory-creation)
|
|
@@ -249,6 +234,21 @@ const runtimeInstance = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
|
249
234
|
});
|
|
250
235
|
```
|
|
251
236
|
|
|
237
|
+
Alternatively, you can use local code assets that will be automatically packaged and uploaded to a CDK-managed S3 bucket:
|
|
238
|
+
|
|
239
|
+
```typescript fixture=default
|
|
240
|
+
const agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromCodeAsset({
|
|
241
|
+
path: path.join(__dirname, 'path/to/agent/code'),
|
|
242
|
+
runtime: agentcore.AgentCoreRuntime.PYTHON_3_12,
|
|
243
|
+
entrypoint: ['opentelemetry-instrument', 'main.py'],
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
const runtimeInstance = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
247
|
+
runtimeName: "myAgent",
|
|
248
|
+
agentRuntimeArtifact: agentRuntimeArtifact,
|
|
249
|
+
});
|
|
250
|
+
```
|
|
251
|
+
|
|
252
252
|
#### Option 4: Use an ECR container image URI
|
|
253
253
|
|
|
254
254
|
Reference an ECR container image directly by its URI. This is useful when you have a pre-existing ECR image URI from CloudFormation parameters or cross-stack references. No IAM permissions are automatically granted - you must ensure the runtime has ECR pull permissions.
|
|
@@ -1435,7 +1435,7 @@ credential provider attached enabling you to securely access targets whether the
|
|
|
1435
1435
|
| `gatewayTargetName` | `string` | No | The name of the gateway target. Valid characters are a-z, A-Z, 0-9, _ (underscore) and - (hyphen). If not provided, a unique name will be auto-generated |
|
|
1436
1436
|
| `description` | `string` | No | Optional description for the gateway target. Maximum 200 characters |
|
|
1437
1437
|
| `gateway` | `IGateway` | Yes | The gateway this target belongs to |
|
|
1438
|
-
| `targetConfiguration` | `ITargetConfiguration` | Yes | The target configuration (Lambda, OpenAPI, or
|
|
1438
|
+
| `targetConfiguration` | `ITargetConfiguration` | Yes | The target configuration (Lambda, OpenAPI, Smithy, or API Gateway). **Note:** Users typically don't create this directly. When using convenience methods like `GatewayTarget.forLambda()`, `GatewayTarget.forOpenApi()`, `GatewayTarget.forSmithy()`, `GatewayTarget.forApiGateway()`, `GatewayTarget.forMcpServer()` or the gateway's `addLambdaTarget()`, `addOpenApiTarget()`, `addSmithyTarget()`, `addApiGatewayTarget()`, `addMcpServerTarget()` methods, this configuration is created internally for you. Only needed when using the GatewayTarget constructor directly for [advanced scenarios](#advanced-usage-direct-configuration-for-gateway-target). |
|
|
1439
1439
|
| `credentialProviderConfigurations` | `IGatewayCredentialProvider[]` | No | Credential providers for authentication. Defaults to `[GatewayCredentialProvider.fromIamRole()]`. Use `GatewayCredentialProvider.fromApiKeyIdentityArn()`, `GatewayCredentialProvider.fromOauthIdentityArn()`, or `GatewayCredentialProvider.fromIamRole()` |
|
|
1440
1440
|
| `validateOpenApiSchema` | `boolean` | No | (OpenAPI targets only) Whether to validate the OpenAPI schema at synthesis time. Defaults to `true`. Only applies to inline and local asset schemas. For more information refer here <https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-schema-openapi.html> |
|
|
1441
1441
|
|
|
@@ -1649,7 +1649,9 @@ You can create targets in two ways: using the static factory methods on `Gateway
|
|
|
1649
1649
|
|
|
1650
1650
|
#### Using addTarget methods (Recommended)
|
|
1651
1651
|
|
|
1652
|
-
|
|
1652
|
+
This approach is recommended for most use cases, especially when creating targets alongside the gateway. It provides a cleaner, more fluent API by eliminating the need to explicitly pass the gateway reference.
|
|
1653
|
+
|
|
1654
|
+
Below are the examples on how you can create Lambda, Smithy, OpenAPI, MCP Server, and API Gateway targets using `addTarget` methods.
|
|
1653
1655
|
|
|
1654
1656
|
```typescript fixture=default
|
|
1655
1657
|
// Create a gateway first
|
|
@@ -1794,9 +1796,36 @@ def handler(event, context):
|
|
|
1794
1796
|
mcpTarget.grantSync(syncFunction);
|
|
1795
1797
|
```
|
|
1796
1798
|
|
|
1799
|
+
- API Gateway Target
|
|
1800
|
+
|
|
1801
|
+
```typescript fixture=default
|
|
1802
|
+
const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
1803
|
+
gatewayName: "my-gateway",
|
|
1804
|
+
});
|
|
1805
|
+
|
|
1806
|
+
const api = new apigateway.RestApi(this, 'MyApi', {
|
|
1807
|
+
restApiName: 'my-api',
|
|
1808
|
+
});
|
|
1809
|
+
|
|
1810
|
+
// Uses IAM authorization for outbound auth by default
|
|
1811
|
+
const apiGatewayTarget = gateway.addApiGatewayTarget("MyApiGatewayTarget", {
|
|
1812
|
+
restApi: api,
|
|
1813
|
+
apiGatewayToolConfiguration: {
|
|
1814
|
+
toolFilters: [
|
|
1815
|
+
{
|
|
1816
|
+
filterPath: "/pets/*",
|
|
1817
|
+
methods: [agentcore.ApiGatewayHttpMethod.GET],
|
|
1818
|
+
},
|
|
1819
|
+
],
|
|
1820
|
+
},
|
|
1821
|
+
});
|
|
1822
|
+
```
|
|
1823
|
+
|
|
1797
1824
|
#### Using static factory methods
|
|
1798
1825
|
|
|
1799
|
-
|
|
1826
|
+
Use static factory methods when working with imported gateways, creating targets in different constructs/stacks, or when you need more explicit control over the construct tree hierarchy.
|
|
1827
|
+
|
|
1828
|
+
Create Gateway target using static convenience methods.
|
|
1800
1829
|
|
|
1801
1830
|
- Lambda Target
|
|
1802
1831
|
|
|
@@ -1912,6 +1941,38 @@ const mcpTarget = agentcore.GatewayTarget.forMcpServer(this, "MyMcpServer", {
|
|
|
1912
1941
|
});
|
|
1913
1942
|
```
|
|
1914
1943
|
|
|
1944
|
+
- API Gateway Target
|
|
1945
|
+
|
|
1946
|
+
```typescript fixture=default
|
|
1947
|
+
const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
1948
|
+
gatewayName: "my-gateway",
|
|
1949
|
+
});
|
|
1950
|
+
|
|
1951
|
+
const api = new apigateway.RestApi(this, 'MyApi', {
|
|
1952
|
+
restApiName: 'my-api',
|
|
1953
|
+
});
|
|
1954
|
+
|
|
1955
|
+
// Create a gateway target using the static factory method
|
|
1956
|
+
const apiGatewayTarget = agentcore.GatewayTarget.forApiGateway(this, "MyApiGatewayTarget", {
|
|
1957
|
+
gatewayTargetName: "my-api-gateway-target",
|
|
1958
|
+
description: "Target for API Gateway REST API integration",
|
|
1959
|
+
gateway: gateway,
|
|
1960
|
+
restApi: api,
|
|
1961
|
+
apiGatewayToolConfiguration: {
|
|
1962
|
+
toolFilters: [
|
|
1963
|
+
{
|
|
1964
|
+
filterPath: "/pets/*",
|
|
1965
|
+
methods: [agentcore.ApiGatewayHttpMethod.GET, agentcore.ApiGatewayHttpMethod.POST],
|
|
1966
|
+
},
|
|
1967
|
+
],
|
|
1968
|
+
},
|
|
1969
|
+
metadataConfiguration: {
|
|
1970
|
+
allowedRequestHeaders: ["X-User-Id"],
|
|
1971
|
+
allowedQueryParameters: ["limit"],
|
|
1972
|
+
},
|
|
1973
|
+
});
|
|
1974
|
+
```
|
|
1975
|
+
|
|
1915
1976
|
### Advanced Usage: Direct Configuration for gateway target
|
|
1916
1977
|
|
|
1917
1978
|
For advanced use cases where you need full control over the target configuration, you can create configurations manually using the static factory methods and use the GatewayTarget constructor directly.
|
|
@@ -1923,6 +1984,7 @@ Each target type has a corresponding configuration class with a static `create()
|
|
|
1923
1984
|
- **Lambda**: `LambdaTargetConfiguration.create(lambdaFunction, toolSchema)`
|
|
1924
1985
|
- **OpenAPI**: `OpenApiTargetConfiguration.create(apiSchema, validateSchema?)`
|
|
1925
1986
|
- **Smithy**: `SmithyTargetConfiguration.create(smithyModel)`
|
|
1987
|
+
- **API Gateway**: `ApiGatewayTargetConfiguration.create(props)`
|
|
1926
1988
|
|
|
1927
1989
|
#### Example: Lambda Target with Custom Configuration
|
|
1928
1990
|
|
|
@@ -1965,7 +2027,7 @@ const target = new agentcore.GatewayTarget(this, "AdvancedTarget", {
|
|
|
1965
2027
|
});
|
|
1966
2028
|
```
|
|
1967
2029
|
|
|
1968
|
-
This approach gives you full control over the configuration but is typically not necessary for most use cases. The convenience methods (`GatewayTarget.forLambda()`, `GatewayTarget.forOpenApi()`, `GatewayTarget.forSmithy()`) handle all of this internally.
|
|
2030
|
+
This approach gives you full control over the configuration but is typically not necessary for most use cases. The convenience methods (`GatewayTarget.forLambda()`, `GatewayTarget.forOpenApi()`, `GatewayTarget.forSmithy()`, `GatewayTarget.forApiGateway()`) handle all of this internally.
|
|
1969
2031
|
|
|
1970
2032
|
### Gateway Interceptors
|
|
1971
2033
|
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { IResource,
|
|
2
|
-
import {
|
|
1
|
+
import type { IResource, ResourceProps } from 'aws-cdk-lib';
|
|
2
|
+
import { Resource } from 'aws-cdk-lib';
|
|
3
|
+
import type { GatewayReference, IGatewayRef } from 'aws-cdk-lib/aws-bedrockagentcore';
|
|
4
|
+
import type { DimensionsMap, MetricOptions } from 'aws-cdk-lib/aws-cloudwatch';
|
|
5
|
+
import { Metric } from 'aws-cdk-lib/aws-cloudwatch';
|
|
3
6
|
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
4
|
-
import * as kms from 'aws-cdk-lib/aws-kms';
|
|
5
|
-
import { Construct } from 'constructs';
|
|
6
|
-
import { IGatewayAuthorizerConfig } from './inbound-auth/authorizer';
|
|
7
|
-
import { IGatewayProtocolConfig } from './protocol';
|
|
7
|
+
import type * as kms from 'aws-cdk-lib/aws-kms';
|
|
8
|
+
import type { Construct } from 'constructs';
|
|
9
|
+
import type { IGatewayAuthorizerConfig } from './inbound-auth/authorizer';
|
|
10
|
+
import type { IGatewayProtocolConfig } from './protocol';
|
|
8
11
|
/******************************************************************************
|
|
9
12
|
* Enums
|
|
10
13
|
*****************************************************************************/
|
|
@@ -25,7 +28,7 @@ export declare enum GatewayExceptionLevel {
|
|
|
25
28
|
/**
|
|
26
29
|
* Interface for Gateway resources
|
|
27
30
|
*/
|
|
28
|
-
export interface IGateway extends IResource {
|
|
31
|
+
export interface IGateway extends IResource, IGatewayRef {
|
|
29
32
|
/**
|
|
30
33
|
* The ARN of the gateway resource
|
|
31
34
|
* @attribute
|
|
@@ -206,6 +209,10 @@ export declare abstract class GatewayBase extends Resource implements IGateway {
|
|
|
206
209
|
abstract readonly statusReason?: string[];
|
|
207
210
|
abstract readonly createdAt?: string;
|
|
208
211
|
abstract readonly updatedAt?: string;
|
|
212
|
+
/**
|
|
213
|
+
* A reference to a Gateway resource.
|
|
214
|
+
*/
|
|
215
|
+
get gatewayRef(): GatewayReference;
|
|
209
216
|
constructor(scope: Construct, id: string, props?: ResourceProps);
|
|
210
217
|
/**
|
|
211
218
|
* Grants IAM actions to the IAM Principal
|
|
@@ -25,7 +25,16 @@ var GatewayExceptionLevel;
|
|
|
25
25
|
* Base Class
|
|
26
26
|
*****************************************************************************/
|
|
27
27
|
class GatewayBase extends aws_cdk_lib_1.Resource {
|
|
28
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayBase", version: "2.
|
|
28
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayBase", version: "2.239.0-alpha.0" };
|
|
29
|
+
/**
|
|
30
|
+
* A reference to a Gateway resource.
|
|
31
|
+
*/
|
|
32
|
+
get gatewayRef() {
|
|
33
|
+
return {
|
|
34
|
+
gatewayIdentifier: this.gatewayId,
|
|
35
|
+
gatewayArn: this.gatewayArn,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
29
38
|
constructor(scope, id, props = {}) {
|
|
30
39
|
super(scope, id, props);
|
|
31
40
|
}
|
|
@@ -43,7 +52,7 @@ class GatewayBase extends aws_cdk_lib_1.Resource {
|
|
|
43
52
|
grant(grantee, ...actions) {
|
|
44
53
|
return iam.Grant.addToPrincipal({
|
|
45
54
|
grantee: grantee,
|
|
46
|
-
resourceArns: [this.gatewayArn],
|
|
55
|
+
resourceArns: [this.gatewayRef.gatewayArn],
|
|
47
56
|
actions: actions,
|
|
48
57
|
});
|
|
49
58
|
}
|
|
@@ -101,7 +110,7 @@ class GatewayBase extends aws_cdk_lib_1.Resource {
|
|
|
101
110
|
const metricProps = {
|
|
102
111
|
namespace: 'AWS/Bedrock-AgentCore',
|
|
103
112
|
metricName,
|
|
104
|
-
dimensionsMap: { ...dimensions, Resource: this.gatewayArn },
|
|
113
|
+
dimensionsMap: { ...dimensions, Resource: this.gatewayRef.gatewayArn },
|
|
105
114
|
...props,
|
|
106
115
|
};
|
|
107
116
|
return this.configureMetric(metricProps);
|
|
@@ -176,4 +185,4 @@ class GatewayBase extends aws_cdk_lib_1.Resource {
|
|
|
176
185
|
}
|
|
177
186
|
}
|
|
178
187
|
exports.GatewayBase = GatewayBase;
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F0ZXdheS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2F0ZXdheS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSw2Q0FBaUU7QUFDakUsK0RBQXNHO0FBQ3RHLDJDQUEyQztBQUszQyxtQ0FBNEc7QUFHNUc7OytFQUUrRTtBQUMvRTs7R0FFRztBQUNILElBQVkscUJBT1g7QUFQRCxXQUFZLHFCQUFxQjtJQUMvQjs7OztPQUlHO0lBQ0gsd0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUFcscUJBQXFCLHFDQUFyQixxQkFBcUIsUUFPaEM7QUF5TUQ7OytFQUUrRTtBQUUvRSxNQUFzQixXQUFZLFNBQVEsc0JBQVE7O0lBZ0JoRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQXVCLEVBQUU7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDekI7SUFFRCx5REFBeUQ7SUFDekQscUJBQXFCO0lBQ3JCLHlEQUF5RDtJQUN6RDs7Ozs7OztPQU9HO0lBQ0ksS0FBSyxDQUFDLE9BQXVCLEVBQUUsR0FBRyxPQUFpQjtRQUN4RCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzlCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDL0IsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsT0FBdUI7UUFDdEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLHlCQUFpQixDQUFDLENBQUM7UUFFeEUsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUNoRCxPQUFPLEVBQUUsT0FBTztZQUNoQixZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDbkIsT0FB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LEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ2xHO0lBRUQ7OztPQUdHO0lBQ0ssZUFBZSxDQUFDLEtBQWtCO1FBQ3hDLE9BQU8sSUFBSSx1QkFBTSxDQUFDO1lBQ2hCLEdBQUcsS0FBSztZQUNSLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87U0FDOUMsQ0FBQyxDQUFDO0tBQ0o7O0FBbExILGtDQW1MQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZXNvdXJjZSwgUmVzb3VyY2UsIFJlc291cmNlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBEaW1lbnNpb25zTWFwLCBNZXRyaWMsIE1ldHJpY09wdGlvbnMsIE1ldHJpY1Byb3BzLCBTdGF0cyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGttcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mta21zJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuLy8gSW50ZXJuYWwgaW1wb3J0c1xuaW1wb3J0IHsgSUdhdGV3YXlBdXRob3JpemVyQ29uZmlnIH0gZnJvbSAnLi9pbmJvdW5kLWF1dGgvYXV0aG9yaXplcic7XG5pbXBvcnQgeyBHQVRFV0FZX0dFVF9QRVJNUywgR0FURVdBWV9MSVNUX1BFUk1TLCBHQVRFV0FZX01BTkFHRV9QRVJNUywgR0FURVdBWV9JTlZPS0VfUEVSTVMgfSBmcm9tICcuL3Blcm1zJztcbmltcG9ydCB7IElHYXRld2F5UHJvdG9jb2xDb25maWcgfSBmcm9tICcuL3Byb3RvY29sJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnVtc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqXG4gKiBFeGNlcHRpb24gbGV2ZWxzIGZvciBnYXRld2F5XG4gKi9cbmV4cG9ydCBlbnVtIEdhdGV3YXlFeGNlcHRpb25MZXZlbCB7XG4gIC8qKlxuICAgKiBEZWJ1ZyBtb2RlIGZvciBncmFudWxhciBleGNlcHRpb24gbWVzc2FnZXMuIEFsbG93cyB0aGUgcmV0dXJuIG9mXG4gICAqIHNwZWNpZmljIGVycm9yIG1lc3NhZ2VzIHJlbGF0ZWQgdG8gdGhlIGdhdGV3YXkgdGFyZ2V0IGNvbmZpZ3VyYXRpb25cbiAgICogdG8gaGVscCB5b3Ugd2l0aCBkZWJ1Z2dpbmcuXG4gICAqL1xuICBERUJVRyA9ICdERUJVRycsXG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmZhY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxuICogSW50ZXJmYWNlIGZvciBHYXRld2F5IHJlc291cmNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElHYXRld2F5IGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGdhdGV3YXkgcmVzb3VyY2VcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIGdhdGV3YXlcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBnYXRld2F5XG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSB0aGF0IHByb3ZpZGVzIHBlcm1pc3Npb25zIGZvciB0aGUgZ2F0ZXdheSB0byBhY2Nlc3MgQVdTIHNlcnZpY2VzXG4gICAqL1xuICByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZ2F0ZXdheVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm90b2NvbCBjb25maWd1cmF0aW9uIGZvciB0aGUgZ2F0ZXdheVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2xDb25maWd1cmF0aW9uOiBJR2F0ZXdheVByb3RvY29sQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgYXV0aG9yaXplciBjb25maWd1cmF0aW9uIGZvciB0aGUgZ2F0ZXdheVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yaXplckNvbmZpZ3VyYXRpb246IElHYXRld2F5QXV0aG9yaXplckNvbmZpZztcblxuICAvKipcbiAgICogVGhlIGV4Y2VwdGlvbiBsZXZlbCBmb3IgdGhlIGdhdGV3YXlcbiAgICovXG4gIHJlYWRvbmx5IGV4Y2VwdGlvbkxldmVsPzogR2F0ZXdheUV4Y2VwdGlvbkxldmVsO1xuXG4gIC8qKlxuICAgKiBUaGUgS01TIGtleSB1c2VkIGZvciBlbmNyeXB0aW9uXG4gICAqL1xuICByZWFkb25seSBrbXNLZXk/OiBrbXMuSUtleTtcblxuICAvKipcbiAgICogVGhlIFVSTCBlbmRwb2ludCBmb3IgdGhlIGdhdGV3YXlcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2F0ZXdheVVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXR1cyBvZiB0aGUgZ2F0ZXdheVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgcmVhc29ucyBmb3IgdGhlIGdhdGV3YXkuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1c1JlYXNvbj86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaW1lc3RhbXAgd2hlbiB0aGUgZ2F0ZXdheSB3YXMgY3JlYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRpbWVzdGFtcCB3aGVuIHRoZSBnYXRld2F5IHdhcyBsYXN0IHVwZGF0ZWRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXBkYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgSUFNIGFjdGlvbnMgdG8gdGhlIElBTSBQcmluY2lwYWxcbiAgICovXG4gIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCAuLi5hY3Rpb25zOiBzdHJpbmdbXSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogR3JhbnRzIGBHZXRgIGFuZCBgTGlzdGAgYWN0aW9ucyBvbiB0aGUgR2F0ZXdheVxuICAgKi9cbiAgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudHMgYENyZWF0ZWAsIGBVcGRhdGVgLCBhbmQgYERlbGV0ZWAgYWN0aW9ucyBvbiB0aGUgR2F0ZXdheVxuICAgKi9cbiAgZ3JhbnRNYW5hZ2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGludm9rZSB0aGlzIEdhdGV3YXlcbiAgICovXG4gIGdyYW50SW52b2tlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZXRyaWNzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvKipcbiAgICogUmV0dXJuIHRoZSBnaXZlbiBuYW1lZCBtZXRyaWMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogQHBhcmFtIG1ldHJpY05hbWUgVGhlIG5hbWUgb2YgdGhlIG1ldHJpY1xuICAgKiBAcGFyYW0gZGltZW5zaW9ucyBBZGRpdGlvbmFsIGRpbWVuc2lvbnMgZm9yIHRoZSBtZXRyaWNcbiAgICogQHBhcmFtIHByb3BzIE9wdGlvbmFsIG1ldHJpYyBjb25maWd1cmF0aW9uXG4gICAqL1xuICBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBkaW1lbnNpb25zOiBEaW1lbnNpb25zTWFwLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgaW52b2NhdGlvbnMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhpcyBtZXRyaWMgdHJhY2tzIGFsbCBzdWNjZXNzZnVsIGludm9jYXRpb25zIG9mIHRoZSBnYXRld2F5LlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgbWV0cmljIGNvbmZpZ3VyYXRpb25cbiAgICogQGRlZmF1bHQgLSBTdW0gc3RhdGlzdGljIG92ZXIgNSBtaW51dGVzXG4gICAqL1xuICBtZXRyaWNJbnZvY2F0aW9ucyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgdGhyb3R0bGVkIHJlcXVlc3RzICg0Mjkgc3RhdHVzIGNvZGUpIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqXG4gICAqIFRoaXMgbWV0cmljIGhlbHBzIGlkZW50aWZ5IHdoZW4gdGhlIGdhdGV3YXkgaXMgcmF0ZSBsaW1pdGluZyByZXF1ZXN0cy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIE9wdGlvbmFsIG1ldHJpYyBjb25maWd1cmF0aW9uXG4gICAqIEBkZWZhdWx0IC0gU3VtIHN0YXRpc3RpYyBvdmVyIDUgbWludXRlc1xuICAgKi9cbiAgbWV0cmljVGhyb3R0bGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBzeXN0ZW0gZXJyb3JzICg1eHggc3RhdHVzIGNvZGUpIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqXG4gICAqIFRoaXMgbWV0cmljIHRyYWNrcyBpbnRlcm5hbCBzZXJ2ZXIgZXJyb3JzIGFuZCBzeXN0ZW0gZmFpbHVyZXMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBPcHRpb25hbCBtZXRyaWMgY29uZmlndXJhdGlvblxuICAgKiBAZGVmYXVsdCAtIFN1bSBzdGF0aXN0aWMgb3ZlciA1IG1pbnV0ZXNcbiAgICovXG4gIG1ldHJpY1N5c3RlbUVycm9ycyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgdXNlciBlcnJvcnMgKDR4eCBzdGF0dXMgY29kZSwgZXhjbHVkaW5nIDQyOSkgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhpcyBtZXRyaWMgdHJhY2tzIGNsaWVudCBlcnJvcnMgbGlrZSBiYWQgcmVxdWVzdHMsIHVuYXV0aG9yaXplZCBhY2Nlc3MsIGV0Yy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIE9wdGlvbmFsIG1ldHJpYyBjb25maWd1cmF0aW9uXG4gICAqIEBkZWZhdWx0IC0gU3VtIHN0YXRpc3RpYyBvdmVyIDUgbWludXRlc1xuICAgKi9cbiAgbWV0cmljVXNlckVycm9ycyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBtZWFzdXJpbmcgdGhlIGxhdGVuY3kgb2YgcmVxdWVzdHMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhlIGxhdGVuY3kgbWV0cmljIHJlcHJlc2VudHMgdGhlIHRpbWUgZWxhcHNlZCBiZXR3ZWVuIHdoZW4gdGhlIHNlcnZpY2UgcmVjZWl2ZXNcbiAgICogdGhlIHJlcXVlc3QgYW5kIHdoZW4gaXQgYmVnaW5zIHNlbmRpbmcgdGhlIGZpcnN0IHJlc3BvbnNlIHRva2VuLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgbWV0cmljIGNvbmZpZ3VyYXRpb25cbiAgICogQGRlZmF1bHQgLSBBdmVyYWdlIHN0YXRpc3RpYyBvdmVyIDUgbWludXRlc1xuICAgKi9cbiAgbWV0cmljTGF0ZW5jeShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBtZWFzdXJpbmcgdGhlIGR1cmF0aW9uIG9mIHJlcXVlc3RzIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqXG4gICAqIFRoZSBkdXJhdGlvbiBtZXRyaWMgcmVwcmVzZW50cyB0aGUgdG90YWwgdGltZSBlbGFwc2VkIGJldHdlZW4gcmVjZWl2aW5nIHRoZSByZXF1ZXN0XG4gICAqIGFuZCBzZW5kaW5nIHRoZSBmaW5hbCByZXNwb25zZSB0b2tlbiwgcmVwcmVzZW50aW5nIGNvbXBsZXRlIGVuZC10by1lbmQgcHJvY2Vzc2luZyB0aW1lLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgbWV0cmljIGNvbmZpZ3VyYXRpb25cbiAgICogQGRlZmF1bHQgLSBBdmVyYWdlIHN0YXRpc3RpYyBvdmVyIDUgbWludXRlc1xuICAgKi9cbiAgbWV0cmljRHVyYXRpb24ocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgbWVhc3VyaW5nIHRoZSB0YXJnZXQgZXhlY3V0aW9uIHRpbWUgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhpcyBtZXRyaWMgaGVscHMgZGV0ZXJtaW5lIHRoZSBjb250cmlidXRpb24gb2YgdGhlIHRhcmdldCAoTGFtYmRhLCBPcGVuQVBJLCBldGMuKVxuICAgKiB0byB0aGUgdG90YWwgbGF0ZW5jeS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIE9wdGlvbmFsIG1ldHJpYyBjb25maWd1cmF0aW9uXG4gICAqIEBkZWZhdWx0IC0gQXZlcmFnZSBzdGF0aXN0aWMgb3ZlciA1IG1pbnV0ZXNcbiAgICovXG4gIG1ldHJpY1RhcmdldEV4ZWN1dGlvblRpbWUocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHNlcnZlZCBieSBlYWNoIHRhcmdldCB0eXBlIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqXG4gICAqIEBwYXJhbSB0YXJnZXRUeXBlIFRoZSB0eXBlIG9mIHRhcmdldCAoZS5nLiwgJ0xhbWJkYScsICdPcGVuQVBJJywgJ1NtaXRoeScpXG4gICAqIEBwYXJhbSBwcm9wcyBPcHRpb25hbCBtZXRyaWMgY29uZmlndXJhdGlvblxuICAgKiBAZGVmYXVsdCAtIFN1bSBzdGF0aXN0aWMgb3ZlciA1IG1pbnV0ZXNcbiAgICovXG4gIG1ldHJpY1RhcmdldFR5cGUodGFyZ2V0VHlwZTogc3RyaW5nLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlIENsYXNzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHYXRld2F5QmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSUdhdGV3YXkge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZ2F0ZXdheUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZ2F0ZXdheUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHByb3RvY29sQ29uZmlndXJhdGlvbjogSUdhdGV3YXlQcm90b2NvbENvbmZpZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGF1dGhvcml6ZXJDb25maWd1cmF0aW9uOiBJR2F0ZXdheUF1dGhvcml6ZXJDb25maWc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBleGNlcHRpb25MZXZlbD86IEdhdGV3YXlFeGNlcHRpb25MZXZlbDtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGttc0tleT86IGttcy5JS2V5O1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZ2F0ZXdheVVybD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1c1JlYXNvbj86IHN0cmluZ1tdO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdXBkYXRlZEF0Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZXNvdXJjZVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQZXJtaXNzaW9uIE1ldGhvZHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8qKlxuICAgKiBHcmFudHMgSUFNIGFjdGlvbnMgdG8gdGhlIElBTSBQcmluY2lwYWxcbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgcGVybWlzc2lvbnMgdG9cbiAgICogQHBhcmFtIGFjdGlvbnMgVGhlIGFjdGlvbnMgdG8gZ3JhbnRcbiAgICovXG4gIHB1YmxpYyBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZTogZ3JhbnRlZSxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMuZ2F0ZXdheUFybl0sXG4gICAgICBhY3Rpb25zOiBhY3Rpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBgR2V0YCBhbmQgYExpc3RgIGFjdGlvbnMgb24gdGhlIEdhdGV3YXlcbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgcmVhZCBwZXJtaXNzaW9ucyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50UmVhZChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgY29uc3QgcmVzb3VyY2VTcGVjaWZpY0dyYW50ID0gdGhpcy5ncmFudChncmFudGVlLCAuLi5HQVRFV0FZX0dFVF9QRVJNUyk7XG5cbiAgICBjb25zdCBhbGxSZXNvdXJjZUdyYW50ID0gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IGdyYW50ZWUsXG4gICAgICByZXNvdXJjZUFybnM6IFsnKiddLFxuICAgICAgYWN0aW9uczogWy4uLkdBVEVXQVlfTElTVF9QRVJNU10sXG4gICAgfSk7XG4gICAgLy8gUmV0dXJuIGNvbWJpbmVkIGdyYW50XG4gICAgcmV0dXJuIHJlc291cmNlU3BlY2lmaWNHcmFudC5jb21iaW5lKGFsbFJlc291cmNlR3JhbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBgQ3JlYXRlYCwgYFVwZGF0ZWAsIGFuZCBgRGVsZXRlYCBhY3Rpb25zIG9uIHRoZSBHYXRld2F5XG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IG1hbmFnZSBwZXJtaXNzaW9ucyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50TWFuYWdlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5ncmFudChncmFudGVlLCAuLi5HQVRFV0FZX01BTkFHRV9QRVJNUyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIHRoaXMgR2F0ZXdheVxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBpbnZva2UgcGVybWlzc2lvbnMgdG9cbiAgICovXG4gIHB1YmxpYyBncmFudEludm9rZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhbnQoZ3JhbnRlZSwgLi4uR0FURVdBWV9JTlZPS0VfUEVSTVMpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1ldHJpYyBNZXRob2RzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvKipcbiAgICogUmV0dXJuIHRoZSBnaXZlbiBuYW1lZCBtZXRyaWMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIG1ldHJpYyB3aWxsIGJlIGNhbGN1bGF0ZWQgYXMgYSBzdW0gb3ZlciBhIHBlcmlvZCBvZiA1IG1pbnV0ZXMuXG4gICAqIFlvdSBjYW4gY3VzdG9taXplIHRoaXMgYnkgdXNpbmcgdGhlIGBzdGF0aXN0aWNgIGFuZCBgcGVyaW9kYCBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0gbWV0cmljTmFtZSBUaGUgbmFtZSBvZiB0aGUgbWV0cmljXG4gICAqIEBwYXJhbSBkaW1lbnNpb25zIEFkZGl0aW9uYWwgZGltZW5zaW9ucyBmb3IgdGhlIG1ldHJpY1xuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgbWV0cmljIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBkaW1lbnNpb25zOiBEaW1lbnNpb25zTWFwLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIGNvbnN0IG1ldHJpY1Byb3BzOiBNZXRyaWNQcm9wcyA9IHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9CZWRyb2NrLUFnZW50Q29yZScsXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgZGltZW5zaW9uc01hcDogeyAuLi5kaW1lbnNpb25zLCBSZXNvdXJjZTogdGhpcy5nYXRld2F5QXJuIH0sXG4gICAgICAuLi5wcm9wcyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyZU1ldHJpYyhtZXRyaWNQcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBpbnZvY2F0aW9ucyBmb3IgdGhpcyBnYXRld2F5LlxuICAgKi9cbiAgcHVibGljIG1ldHJpY0ludm9jYXRpb25zKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdJbnZvY2F0aW9ucycsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHRocm90dGxlZCByZXF1ZXN0cyAoNDI5IHN0YXR1cyBjb2RlKSBmb3IgdGhpcyBnYXRld2F5LlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1Rocm90dGxlcyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnVGhyb3R0bGVzJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2Ygc3lzdGVtIGVycm9ycyAoNXh4IHN0YXR1cyBjb2RlKSBmb3IgdGhpcyBnYXRld2F5LlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1N5c3RlbUVycm9ycyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnU3lzdGVtRXJyb3JzJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgdXNlciBlcnJvcnMgKDR4eCBzdGF0dXMgY29kZSwgZXhjbHVkaW5nIDQyOSkgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNVc2VyRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdVc2VyRXJyb3JzJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBtZWFzdXJpbmcgdGhlIGxhdGVuY3kgb2YgcmVxdWVzdHMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhlIGxhdGVuY3kgbWV0cmljIHJlcHJlc2VudHMgdGhlIHRpbWUgZWxhcHNlZCBiZXR3ZWVuIHdoZW4gdGhlIHNlcnZpY2UgcmVjZWl2ZXNcbiAgICogdGhlIHJlcXVlc3QgYW5kIHdoZW4gaXQgYmVnaW5zIHNlbmRpbmcgdGhlIGZpcnN0IHJlc3BvbnNlIHRva2VuLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY0xhdGVuY3kocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0xhdGVuY3knLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLkFWRVJBR0UsIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBtZWFzdXJpbmcgdGhlIGR1cmF0aW9uIG9mIHJlcXVlc3RzIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqXG4gICAqIFRoZSBkdXJhdGlvbiBtZXRyaWMgcmVwcmVzZW50cyB0aGUgdG90YWwgdGltZSBlbGFwc2VkIGJldHdlZW4gcmVjZWl2aW5nIHRoZSByZXF1ZXN0XG4gICAqIGFuZCBzZW5kaW5nIHRoZSBmaW5hbCByZXNwb25zZSB0b2tlbiwgcmVwcmVzZW50aW5nIGNvbXBsZXRlIGVuZC10by1lbmQgcHJvY2Vzc2luZyB0aW1lLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY0R1cmF0aW9uKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdEdXJhdGlvbicsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuQVZFUkFHRSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIG1lYXN1cmluZyB0aGUgdGFyZ2V0IGV4ZWN1dGlvbiB0aW1lIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqXG4gICAqIFRoaXMgbWV0cmljIGhlbHBzIGRldGVybWluZSB0aGUgY29udHJpYnV0aW9uIG9mIHRoZSB0YXJnZXQgKExhbWJkYSwgT3BlbkFQSSwgZXRjLilcbiAgICogdG8gdGhlIHRvdGFsIGxhdGVuY3kuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljVGFyZ2V0RXhlY3V0aW9uVGltZShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnVGFyZ2V0RXhlY3V0aW9uVGltZScsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuQVZFUkFHRSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiByZXF1ZXN0cyBzZXJ2ZWQgYnkgZWFjaCB0YXJnZXQgdHlwZSBmb3IgdGhpcyBnYXRld2F5LlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1RhcmdldFR5cGUodGFyZ2V0VHlwZTogc3RyaW5nLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnVGFyZ2V0VHlwZScsIHsgVGFyZ2V0VHlwZTogdGFyZ2V0VHlwZSB9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCBtZXRob2QgdG8gY3JlYXRlIGEgbWV0cmljLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgY29uZmlndXJlTWV0cmljKHByb3BzOiBNZXRyaWNQcm9wcykge1xuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcmVnaW9uOiBwcm9wcz8ucmVnaW9uID8/IHRoaXMuc3RhY2sucmVnaW9uLFxuICAgICAgYWNjb3VudDogcHJvcHM/LmFjY291bnQgPz8gdGhpcy5zdGFjay5hY2NvdW50LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F0ZXdheS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2F0ZXdheS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSw2Q0FBdUM7QUFHdkMsK0RBQTJEO0FBQzNELDJDQUEyQztBQUszQyxtQ0FBNEc7QUFHNUc7OytFQUUrRTtBQUMvRTs7R0FFRztBQUNILElBQVkscUJBT1g7QUFQRCxXQUFZLHFCQUFxQjtJQUMvQjs7OztPQUlHO0lBQ0gsd0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUFcscUJBQXFCLHFDQUFyQixxQkFBcUIsUUFPaEM7QUF5TUQ7OytFQUUrRTtBQUUvRSxNQUFzQixXQUFZLFNBQVEsc0JBQVE7O0lBZ0JoRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDakMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUM7S0FDSDtJQUVELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBdUIsRUFBRTtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN6QjtJQUVELHlEQUF5RDtJQUN6RCxxQkFBcUI7SUFDckIseURBQXlEO0lBQ3pEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsT0FBdUIsRUFBRSxHQUFHLE9BQWlCO1FBQ3hELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDOUIsT0FBTyxFQUFFLE9BQU87WUFDaEIsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFDMUMsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsT0FBdUI7UUFDdEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLHlCQUFp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S0FBSyxFQUFFLENBQUMsQ0FBQztLQUN2RjtJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxLQUFxQjtRQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHNCQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNsRztJQUVEOzs7T0FHRztJQUNLLGVBQWUsQ0FBQyxLQUFrQjtRQUN4QyxPQUFPLElBQUksdUJBQU0sQ0FBQztZQUNoQixHQUFHLEtBQUs7WUFDUixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO1NBQzlDLENBQUMsQ0FBQztLQUNKOztBQTVMSCxrQ0E2TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSwgUmVzb3VyY2VQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBHYXRld2F5UmVmZXJlbmNlLCBJR2F0ZXdheVJlZiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCB0eXBlIHsgRGltZW5zaW9uc01hcCwgTWV0cmljT3B0aW9ucywgTWV0cmljUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBNZXRyaWMsIFN0YXRzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHR5cGUgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuLy8gSW50ZXJuYWwgaW1wb3J0c1xuaW1wb3J0IHR5cGUgeyBJR2F0ZXdheUF1dGhvcml6ZXJDb25maWcgfSBmcm9tICcuL2luYm91bmQtYXV0aC9hdXRob3JpemVyJztcbmltcG9ydCB7IEdBVEVXQVlfR0VUX1BFUk1TLCBHQVRFV0FZX0xJU1RfUEVSTVMsIEdBVEVXQVlfTUFOQUdFX1BFUk1TLCBHQVRFV0FZX0lOVk9LRV9QRVJNUyB9IGZyb20gJy4vcGVybXMnO1xuaW1wb3J0IHR5cGUgeyBJR2F0ZXdheVByb3RvY29sQ29uZmlnIH0gZnJvbSAnLi9wcm90b2NvbCc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW51bXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxuICogRXhjZXB0aW9uIGxldmVscyBmb3IgZ2F0ZXdheVxuICovXG5leHBvcnQgZW51bSBHYXRld2F5RXhjZXB0aW9uTGV2ZWwge1xuICAvKipcbiAgICogRGVidWcgbW9kZSBmb3IgZ3JhbnVsYXIgZXhjZXB0aW9uIG1lc3NhZ2VzLiBBbGxvd3MgdGhlIHJldHVybiBvZlxuICAgKiBzcGVjaWZpYyBlcnJvciBtZXNzYWdlcyByZWxhdGVkIHRvIHRoZSBnYXRld2F5IHRhcmdldCBjb25maWd1cmF0aW9uXG4gICAqIHRvIGhlbHAgeW91IHdpdGggZGVidWdnaW5nLlxuICAgKi9cbiAgREVCVUcgPSAnREVCVUcnLFxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKipcbiAqIEludGVyZmFjZSBmb3IgR2F0ZXdheSByZXNvdXJjZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR2F0ZXdheSBleHRlbmRzIElSZXNvdXJjZSwgSUdhdGV3YXlSZWYge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZ2F0ZXdheSByZXNvdXJjZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBnYXRld2F5QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgZ2F0ZXdheVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBnYXRld2F5SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGdhdGV3YXlcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIHRoYXQgcHJvdmlkZXMgcGVybWlzc2lvbnMgZm9yIHRoZSBnYXRld2F5IHRvIGFjY2VzcyBBV1Mgc2VydmljZXNcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBnYXRld2F5XG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb3RvY29sIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBnYXRld2F5XG4gICAqL1xuICByZWFkb25seSBwcm90b2NvbENvbmZpZ3VyYXRpb246IElHYXRld2F5UHJvdG9jb2xDb25maWc7XG5cbiAgLyoqXG4gICAqIFRoZSBhdXRob3JpemVyIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBnYXRld2F5XG4gICAqL1xuICByZWFkb25seSBhdXRob3JpemVyQ29uZmlndXJhdGlvbjogSUdhdGV3YXlBdXRob3JpemVyQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhjZXB0aW9uIGxldmVsIGZvciB0aGUgZ2F0ZXdheVxuICAgKi9cbiAgcmVhZG9ubHkgZXhjZXB0aW9uTGV2ZWw/OiBHYXRld2F5RXhjZXB0aW9uTGV2ZWw7XG5cbiAgLyoqXG4gICAqIFRoZSBLTVMga2V5IHVzZWQgZm9yIGVuY3J5cHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGttc0tleT86IGttcy5JS2V5O1xuXG4gIC8qKlxuICAgKiBUaGUgVVJMIGVuZHBvaW50IGZvciB0aGUgZ2F0ZXdheVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBnYXRld2F5VXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdHVzIG9mIHRoZSBnYXRld2F5XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXR1cyByZWFzb25zIGZvciB0aGUgZ2F0ZXdheS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzUmVhc29uPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRpbWVzdGFtcCB3aGVuIHRoZSBnYXRld2F5IHdhcyBjcmVhdGVkXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZWRBdD86IHN0cmluZztcblxuICAvKipcbiAgICogVGltZXN0YW1wIHdoZW4gdGhlIGdhdGV3YXkgd2FzIGxhc3QgdXBkYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB1cGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBJQU0gYWN0aW9ucyB0byB0aGUgSUFNIFByaW5jaXBhbFxuICAgKi9cbiAgZ3JhbnQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUsIC4uLmFjdGlvbnM6IHN0cmluZ1tdKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudHMgYEdldGAgYW5kIGBMaXN0YCBhY3Rpb25zIG9uIHRoZSBHYXRld2F5XG4gICAqL1xuICBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBgQ3JlYXRlYCwgYFVwZGF0ZWAsIGFuZCBgRGVsZXRlYCBhY3Rpb25zIG9uIHRoZSBHYXRld2F5XG4gICAqL1xuICBncmFudE1hbmFnZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIHRoaXMgR2F0ZXdheVxuICAgKi9cbiAgZ3JhbnRJbnZva2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1ldHJpY3NcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGdpdmVuIG5hbWVkIG1ldHJpYyBmb3IgdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBAcGFyYW0gbWV0cmljTmFtZSBUaGUgbmFtZSBvZiB0aGUgbWV0cmljXG4gICAqIEBwYXJhbSBkaW1lbnNpb25zIEFkZGl0aW9uYWwgZGltZW5zaW9ucyBmb3IgdGhlIG1ldHJpY1xuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgbWV0cmljIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIGRpbWVuc2lvbnM6IERpbWVuc2lvbnNNYXAsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBpbnZvY2F0aW9ucyBmb3IgdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBUaGlzIG1ldHJpYyB0cmFja3MgYWxsIHN1Y2Nlc3NmdWwgaW52b2NhdGlvbnMgb2YgdGhlIGdhdGV3YXkuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBPcHRpb25hbCBtZXRyaWMgY29uZmlndXJhdGlvblxuICAgKiBAZGVmYXVsdCAtIFN1bSBzdGF0aXN0aWMgb3ZlciA1IG1pbnV0ZXNcbiAgICovXG4gIG1ldHJpY0ludm9jYXRpb25zKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB0aHJvdHRsZWQgcmVxdWVzdHMgKDQyOSBzdGF0dXMgY29kZSkgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhpcyBtZXRyaWMgaGVscHMgaWRlbnRpZnkgd2hlbiB0aGUgZ2F0ZXdheSBpcyByYXRlIGxpbWl0aW5nIHJlcXVlc3RzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgbWV0cmljIGNvbmZpZ3VyYXRpb25cbiAgICogQGRlZmF1bHQgLSBTdW0gc3RhdGlzdGljIG92ZXIgNSBtaW51dGVzXG4gICAqL1xuICBtZXRyaWNUaHJvdHRsZXMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHN5c3RlbSBlcnJvcnMgKDV4eCBzdGF0dXMgY29kZSkgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhpcyBtZXRyaWMgdHJhY2tzIGludGVybmFsIHNlcnZlciBlcnJvcnMgYW5kIHN5c3RlbSBmYWlsdXJlcy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIE9wdGlvbmFsIG1ldHJpYyBjb25maWd1cmF0aW9uXG4gICAqIEBkZWZhdWx0IC0gU3VtIHN0YXRpc3RpYyBvdmVyIDUgbWludXRlc1xuICAgKi9cbiAgbWV0cmljU3lzdGVtRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB1c2VyIGVycm9ycyAoNHh4IHN0YXR1cyBjb2RlLCBleGNsdWRpbmcgNDI5KSBmb3IgdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBUaGlzIG1ldHJpYyB0cmFja3MgY2xpZW50IGVycm9ycyBsaWtlIGJhZCByZXF1ZXN0cywgdW5hdXRob3JpemVkIGFjY2VzcywgZXRjLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgbWV0cmljIGNvbmZpZ3VyYXRpb25cbiAgICogQGRlZmF1bHQgLSBTdW0gc3RhdGlzdGljIG92ZXIgNSBtaW51dGVzXG4gICAqL1xuICBtZXRyaWNVc2VyRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIG1lYXN1cmluZyB0aGUgbGF0ZW5jeSBvZiByZXF1ZXN0cyBmb3IgdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBUaGUgbGF0ZW5jeSBtZXRyaWMgcmVwcmVzZW50cyB0aGUgdGltZSBlbGFwc2VkIGJldHdlZW4gd2hlbiB0aGUgc2VydmljZSByZWNlaXZlc1xuICAgKiB0aGUgcmVxdWVzdCBhbmQgd2hlbiBpdCBiZWdpbnMgc2VuZGluZyB0aGUgZmlyc3QgcmVzcG9uc2UgdG9rZW4uXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBPcHRpb25hbCBtZXRyaWMgY29uZmlndXJhdGlvblxuICAgKiBAZGVmYXVsdCAtIEF2ZXJhZ2Ugc3RhdGlzdGljIG92ZXIgNSBtaW51dGVzXG4gICAqL1xuICBtZXRyaWNMYXRlbmN5KHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIG1lYXN1cmluZyB0aGUgZHVyYXRpb24gb2YgcmVxdWVzdHMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhlIGR1cmF0aW9uIG1ldHJpYyByZXByZXNlbnRzIHRoZSB0b3RhbCB0aW1lIGVsYXBzZWQgYmV0d2VlbiByZWNlaXZpbmcgdGhlIHJlcXVlc3RcbiAgICogYW5kIHNlbmRpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIHRva2VuLCByZXByZXNlbnRpbmcgY29tcGxldGUgZW5kLXRvLWVuZCBwcm9jZXNzaW5nIHRpbWUuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBPcHRpb25hbCBtZXRyaWMgY29uZmlndXJhdGlvblxuICAgKiBAZGVmYXVsdCAtIEF2ZXJhZ2Ugc3RhdGlzdGljIG92ZXIgNSBtaW51dGVzXG4gICAqL1xuICBtZXRyaWNEdXJhdGlvbihwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBtZWFzdXJpbmcgdGhlIHRhcmdldCBleGVjdXRpb24gdGltZSBmb3IgdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBUaGlzIG1ldHJpYyBoZWxwcyBkZXRlcm1pbmUgdGhlIGNvbnRyaWJ1dGlvbiBvZiB0aGUgdGFyZ2V0IChMYW1iZGEsIE9wZW5BUEksIGV0Yy4pXG4gICAqIHRvIHRoZSB0b3RhbCBsYXRlbmN5LlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgbWV0cmljIGNvbmZpZ3VyYXRpb25cbiAgICogQGRlZmF1bHQgLSBBdmVyYWdlIHN0YXRpc3RpYyBvdmVyIDUgbWludXRlc1xuICAgKi9cbiAgbWV0cmljVGFyZ2V0RXhlY3V0aW9uVGltZShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgc2VydmVkIGJ5IGVhY2ggdGFyZ2V0IHR5cGUgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogQHBhcmFtIHRhcmdldFR5cGUgVGhlIHR5cGUgb2YgdGFyZ2V0IChlLmcuLCAnTGFtYmRhJywgJ09wZW5BUEknLCAnU21pdGh5JylcbiAgICogQHBhcmFtIHByb3BzIE9wdGlvbmFsIG1ldHJpYyBjb25maWd1cmF0aW9uXG4gICAqIEBkZWZhdWx0IC0gU3VtIHN0YXRpc3RpYyBvdmVyIDUgbWludXRlc1xuICAgKi9cbiAgbWV0cmljVGFyZ2V0VHlwZSh0YXJnZXRUeXBlOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhc2UgQ2xhc3NcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdhdGV3YXlCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJR2F0ZXdheSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBnYXRld2F5QXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBnYXRld2F5SWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcHJvdG9jb2xDb25maWd1cmF0aW9uOiBJR2F0ZXdheVByb3RvY29sQ29uZmlnO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYXV0aG9yaXplckNvbmZpZ3VyYXRpb246IElHYXRld2F5QXV0aG9yaXplckNvbmZpZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGV4Y2VwdGlvbkxldmVsPzogR2F0ZXdheUV4Y2VwdGlvbkxldmVsO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkga21zS2V5Pzoga21zLklLZXk7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBnYXRld2F5VXJsPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc3RhdHVzPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc3RhdHVzUmVhc29uPzogc3RyaW5nW107XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB1cGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgcmVmZXJlbmNlIHRvIGEgR2F0ZXdheSByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZ2F0ZXdheVJlZigpOiBHYXRld2F5UmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2F0ZXdheUlkZW50aWZpZXI6IHRoaXMuZ2F0ZXdheUlkLFxuICAgICAgZ2F0ZXdheUFybjogdGhpcy5nYXRld2F5QXJuLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmVzb3VyY2VQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUGVybWlzc2lvbiBNZXRob2RzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvKipcbiAgICogR3JhbnRzIElBTSBhY3Rpb25zIHRvIHRoZSBJQU0gUHJpbmNpcGFsXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IHBlcm1pc3Npb25zIHRvXG4gICAqIEBwYXJhbSBhY3Rpb25zIFRoZSBhY3Rpb25zIHRvIGdyYW50XG4gICAqL1xuICBwdWJsaWMgZ3JhbnQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUsIC4uLmFjdGlvbnM6IHN0cmluZ1tdKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IGdyYW50ZWUsXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLmdhdGV3YXlSZWYuZ2F0ZXdheUFybl0sXG4gICAgICBhY3Rpb25zOiBhY3Rpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBgR2V0YCBhbmQgYExpc3RgIGFjdGlvbnMgb24gdGhlIEdhdGV3YXlcbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgcmVhZCBwZXJtaXNzaW9ucyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50UmVhZChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgY29uc3QgcmVzb3VyY2VTcGVjaWZpY0dyYW50ID0gdGhpcy5ncmFudChncmFudGVlLCAuLi5HQVRFV0FZX0dFVF9QRVJNUyk7XG5cbiAgICBjb25zdCBhbGxSZXNvdXJjZUdyYW50ID0gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IGdyYW50ZWUsXG4gICAgICByZXNvdXJjZUFybnM6IFsnKiddLFxuICAgICAgYWN0aW9uczogWy4uLkdBVEVXQVlfTElTVF9QRVJNU10sXG4gICAgfSk7XG4gICAgLy8gUmV0dXJuIGNvbWJpbmVkIGdyYW50XG4gICAgcmV0dXJuIHJlc291cmNlU3BlY2lmaWNHcmFudC5jb21iaW5lKGFsbFJlc291cmNlR3JhbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBgQ3JlYXRlYCwgYFVwZGF0ZWAsIGFuZCBgRGVsZXRlYCBhY3Rpb25zIG9uIHRoZSBHYXRld2F5XG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IG1hbmFnZSBwZXJtaXNzaW9ucyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50TWFuYWdlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5ncmFudChncmFudGVlLCAuLi5HQVRFV0FZX01BTkFHRV9QRVJNUyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIHRoaXMgR2F0ZXdheVxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBpbnZva2UgcGVybWlzc2lvbnMgdG9cbiAgICovXG4gIHB1YmxpYyBncmFudEludm9rZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhbnQoZ3JhbnRlZSwgLi4uR0FURVdBWV9JTlZPS0VfUEVSTVMpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1ldHJpYyBNZXRob2RzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvKipcbiAgICogUmV0dXJuIHRoZSBnaXZlbiBuYW1lZCBtZXRyaWMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIG1ldHJpYyB3aWxsIGJlIGNhbGN1bGF0ZWQgYXMgYSBzdW0gb3ZlciBhIHBlcmlvZCBvZiA1IG1pbnV0ZXMuXG4gICAqIFlvdSBjYW4gY3VzdG9taXplIHRoaXMgYnkgdXNpbmcgdGhlIGBzdGF0aXN0aWNgIGFuZCBgcGVyaW9kYCBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0gbWV0cmljTmFtZSBUaGUgbmFtZSBvZiB0aGUgbWV0cmljXG4gICAqIEBwYXJhbSBkaW1lbnNpb25zIEFkZGl0aW9uYWwgZGltZW5zaW9ucyBmb3IgdGhlIG1ldHJpY1xuICAgKiBAcGFyYW0gcHJvcHMgT3B0aW9uYWwgbWV0cmljIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBkaW1lbnNpb25zOiBEaW1lbnNpb25zTWFwLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIGNvbnN0IG1ldHJpY1Byb3BzOiBNZXRyaWNQcm9wcyA9IHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9CZWRyb2NrLUFnZW50Q29yZScsXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgZGltZW5zaW9uc01hcDogeyAuLi5kaW1lbnNpb25zLCBSZXNvdXJjZTogdGhpcy5nYXRld2F5UmVmLmdhdGV3YXlBcm4gfSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlTWV0cmljKG1ldHJpY1Byb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIGludm9jYXRpb25zIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljSW52b2NhdGlvbnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0ludm9jYXRpb25zJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgdGhyb3R0bGVkIHJlcXVlc3RzICg0Mjkgc3RhdHVzIGNvZGUpIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljVGhyb3R0bGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdUaHJvdHRsZXMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBzeXN0ZW0gZXJyb3JzICg1eHggc3RhdHVzIGNvZGUpIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljU3lzdGVtRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdTeXN0ZW1FcnJvcnMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB1c2VyIGVycm9ycyAoNHh4IHN0YXR1cyBjb2RlLCBleGNsdWRpbmcgNDI5KSBmb3IgdGhpcyBnYXRld2F5LlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1VzZXJFcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1VzZXJFcnJvcnMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIG1lYXN1cmluZyB0aGUgbGF0ZW5jeSBvZiByZXF1ZXN0cyBmb3IgdGhpcyBnYXRld2F5LlxuICAgKlxuICAgKiBUaGUgbGF0ZW5jeSBtZXRyaWMgcmVwcmVzZW50cyB0aGUgdGltZSBlbGFwc2VkIGJldHdlZW4gd2hlbiB0aGUgc2VydmljZSByZWNlaXZlc1xuICAgKiB0aGUgcmVxdWVzdCBhbmQgd2hlbiBpdCBiZWdpbnMgc2VuZGluZyB0aGUgZmlyc3QgcmVzcG9uc2UgdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgbWV0cmljTGF0ZW5jeShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnTGF0ZW5jeScsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuQVZFUkFHRSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIG1lYXN1cmluZyB0aGUgZHVyYXRpb24gb2YgcmVxdWVzdHMgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhlIGR1cmF0aW9uIG1ldHJpYyByZXByZXNlbnRzIHRoZSB0b3RhbCB0aW1lIGVsYXBzZWQgYmV0d2VlbiByZWNlaXZpbmcgdGhlIHJlcXVlc3RcbiAgICogYW5kIHNlbmRpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIHRva2VuLCByZXByZXNlbnRpbmcgY29tcGxldGUgZW5kLXRvLWVuZCBwcm9jZXNzaW5nIHRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljRHVyYXRpb24ocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0R1cmF0aW9uJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5BVkVSQUdFLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgbWVhc3VyaW5nIHRoZSB0YXJnZXQgZXhlY3V0aW9uIHRpbWUgZm9yIHRoaXMgZ2F0ZXdheS5cbiAgICpcbiAgICogVGhpcyBtZXRyaWMgaGVscHMgZGV0ZXJtaW5lIHRoZSBjb250cmlidXRpb24gb2YgdGhlIHRhcmdldCAoTGFtYmRhLCBPcGVuQVBJLCBldGMuKVxuICAgKiB0byB0aGUgdG90YWwgbGF0ZW5jeS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNUYXJnZXRFeGVjdXRpb25UaW1lKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdUYXJnZXRFeGVjdXRpb25UaW1lJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5BVkVSQUdFLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHNlcnZlZCBieSBlYWNoIHRhcmdldCB0eXBlIGZvciB0aGlzIGdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljVGFyZ2V0VHlwZSh0YXJnZXRUeXBlOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdUYXJnZXRUeXBlJywgeyBUYXJnZXRUeXBlOiB0YXJnZXRUeXBlIH0sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIG1ldGhvZCB0byBjcmVhdGUgYSBtZXRyaWMuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBjb25maWd1cmVNZXRyaWMocHJvcHM6IE1ldHJpY1Byb3BzKSB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICByZWdpb246IHByb3BzPy5yZWdpb24gPz8gdGhpcy5zdGFjay5yZWdpb24sXG4gICAgICBhY2NvdW50OiBwcm9wcz8uYWNjb3VudCA/PyB0aGlzLnN0YWNrLmFjY291bnQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|