@jjrawlins/cdk-ami-builder 0.0.22 → 0.0.24
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 +12 -12
- package/cdk-ami-builder/jsii/jsii.go +2 -2
- package/cdk-ami-builder/version +1 -1
- package/lib/ImagePipeline/ImagePipeline.js +1 -1
- package/lib/Lambdas/CheckStateMachineStatus/CheckStateMachineStatus-function.js +1 -1
- package/lib/Lambdas/StartStateMachine/StartStateMachine-function.js +1 -1
- package/node_modules/@aws-sdk/client-ec2/dist-cjs/index.js +125 -5
- package/node_modules/@aws-sdk/client-ec2/dist-es/models/models_1.js +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-es/models/models_7.js +0 -4
- package/node_modules/@aws-sdk/client-ec2/dist-es/models/models_8.js +4 -0
- package/node_modules/@aws-sdk/client-ec2/dist-es/protocols/Aws_ec2.js +124 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptAddressTransferCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptCapacityReservationBillingOwnershipCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptReservedInstancesExchangeQuoteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptTransitGatewayMulticastDomainAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptTransitGatewayPeeringAttachmentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptTransitGatewayVpcAttachmentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptVpcEndpointConnectionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AcceptVpcPeeringConnectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AdvertiseByoipCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AllocateAddressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AllocateHostsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AllocateIpamPoolCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ApplySecurityGroupsToClientVpnTargetNetworkCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssignIpv6AddressesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssignPrivateIpAddressesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssignPrivateNatGatewayAddressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateAddressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateCapacityReservationBillingOwnerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateClientVpnTargetNetworkCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateDhcpOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateEnclaveCertificateIamRoleCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateIamInstanceProfileCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateInstanceEventWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateIpamByoasnCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateIpamResourceDiscoveryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateNatGatewayAddressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateRouteServerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateSecurityGroupVpcCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateSubnetCidrBlockCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateTransitGatewayMulticastDomainCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateTransitGatewayPolicyTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateTransitGatewayRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateTrunkInterfaceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AssociateVpcCidrBlockCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachClassicLinkVpcCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachInternetGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachNetworkInterfaceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachVerifiedAccessTrustProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachVolumeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachVpnGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AuthorizeClientVpnIngressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AuthorizeSecurityGroupEgressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AuthorizeSecurityGroupIngressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/BundleInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelBundleTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelCapacityReservationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelCapacityReservationFleetsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelConversionTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelDeclarativePoliciesReportCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelExportTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelImageLaunchPermissionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelImportTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelReservedInstancesListingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelSpotFleetRequestsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelSpotInstanceRequestsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ConfirmProductInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CopyFpgaImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CopyImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CopySnapshotCommand.d.ts +9 -10
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCapacityReservationBySplittingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCapacityReservationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCapacityReservationFleetCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCarrierGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateClientVpnEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateClientVpnRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCoipCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCoipPoolCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCustomerGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateDefaultSubnetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateDefaultVpcCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateDelegateMacVolumeOwnershipTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateDhcpOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateEgressOnlyInternetGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateFleetCommand.d.ts +6 -4
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateFlowLogsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateFpgaImageCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateImageUsageReportCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateInstanceConnectEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateInstanceEventWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateInstanceExportTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateInternetGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamExternalResourceVerificationTokenCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamPoolCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamResourceDiscoveryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateIpamScopeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateKeyPairCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLaunchTemplateCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLaunchTemplateVersionCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayRouteTableVpcAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayVirtualInterfaceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateLocalGatewayVirtualInterfaceGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateMacSystemIntegrityProtectionModificationTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateManagedPrefixListCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNatGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkAclCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkAclEntryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkInsightsAccessScopeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkInsightsPathCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkInterfaceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateNetworkInterfacePermissionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreatePlacementGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreatePublicIpv4PoolCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateReplaceRootVolumeTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateReservedInstancesListingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRestoreImageTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteServerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteServerEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteServerPeerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSecurityGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSnapshotCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSnapshotsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSpotDatafeedSubscriptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateStoreImageTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSubnetCidrReservationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateSubnetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTagsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTrafficMirrorFilterCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTrafficMirrorFilterRuleCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTrafficMirrorSessionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTrafficMirrorTargetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayConnectCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayConnectPeerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayMulticastDomainCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayPeeringAttachmentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayPolicyTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayPrefixListReferenceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayRouteTableAnnouncementCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayVpcAttachmentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVerifiedAccessEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVerifiedAccessGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVerifiedAccessInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVerifiedAccessTrustProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVolumeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcBlockPublicAccessExclusionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcEndpointConnectionNotificationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcEndpointServiceConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpcPeeringConnectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpnConnectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpnConnectionRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateVpnGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteCarrierGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteClientVpnEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteClientVpnRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteCoipCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteCoipPoolCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteCustomerGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteDhcpOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteEgressOnlyInternetGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteFleetsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteFlowLogsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteFpgaImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteImageUsageReportCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteInstanceConnectEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteInstanceEventWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteInternetGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamExternalResourceVerificationTokenCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamPoolCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamResourceDiscoveryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteIpamScopeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteKeyPairCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLaunchTemplateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLaunchTemplateVersionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayRouteTableVpcAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayVirtualInterfaceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLocalGatewayVirtualInterfaceGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteManagedPrefixListCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNatGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkAclCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkAclEntryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInsightsAccessScopeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInsightsAnalysisCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInsightsPathCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInterfaceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteNetworkInterfacePermissionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeletePlacementGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeletePublicIpv4PoolCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteQueuedReservedInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteServerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteServerEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteServerPeerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSecurityGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSnapshotCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSpotDatafeedSubscriptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSubnetCidrReservationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteSubnetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTagsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTrafficMirrorFilterCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTrafficMirrorFilterRuleCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTrafficMirrorSessionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTrafficMirrorTargetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayConnectCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayConnectPeerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayMulticastDomainCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayPeeringAttachmentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayPolicyTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayPrefixListReferenceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayRouteTableAnnouncementCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayVpcAttachmentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVerifiedAccessEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVerifiedAccessGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVerifiedAccessInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVerifiedAccessTrustProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVolumeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcBlockPublicAccessExclusionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcEndpointConnectionNotificationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcEndpointServiceConfigurationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcEndpointsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpcPeeringConnectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpnConnectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpnConnectionRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteVpnGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeprovisionByoipCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeprovisionIpamByoasnCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeprovisionIpamPoolCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeprovisionPublicIpv4PoolCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeregisterImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeregisterInstanceEventNotificationAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeregisterTransitGatewayMulticastGroupMembersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeregisterTransitGatewayMulticastGroupSourcesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAccountAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAddressTransfersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAddressesAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAddressesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAggregateIdFormatCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAvailabilityZonesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeAwsNetworkPerformanceMetricSubscriptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeBundleTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeByoipCidrsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlockExtensionHistoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlockExtensionOfferingsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlockOfferingsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlockStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityBlocksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityReservationBillingRequestsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityReservationFleetsCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityReservationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCarrierGatewaysCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClassicLinkInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnAuthorizationRulesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnConnectionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnEndpointsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnRoutesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeClientVpnTargetNetworksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCoipPoolsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeConversionTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCustomerGatewaysCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeDeclarativePoliciesReportsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeDhcpOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeEgressOnlyInternetGatewaysCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeElasticGpusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeExportImageTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeExportTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFastLaunchImagesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFastSnapshotRestoresCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFleetHistoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFleetInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFleetsCommand.d.ts +6 -4
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFlowLogsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFpgaImageAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFpgaImagesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeHostReservationOfferingsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeHostReservationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeHostsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIamInstanceProfileAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIdFormatCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIdentityIdFormatCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImageAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImageReferencesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImageUsageReportEntriesCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImageUsageReportsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImagesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImportImageTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImportSnapshotTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceConnectEndpointsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceCreditSpecificationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceEventNotificationAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceEventWindowsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceImageMetadataCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceTopologyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceTypeOfferingsCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceTypesCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstancesCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInternetGatewaysCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamByoasnCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamExternalResourceVerificationTokensCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamPoolsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamResourceDiscoveriesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamResourceDiscoveryAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamScopesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpamsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeIpv6PoolsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeKeyPairsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLaunchTemplateVersionsCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLaunchTemplatesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayRouteTableVpcAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayRouteTablesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayVirtualInterfaceGroupsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewayVirtualInterfacesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLocalGatewaysCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeLockedSnapshotsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeMacHostsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeMacModificationTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeManagedPrefixListsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeMovingAddressesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNatGatewaysCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkAclsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInsightsAccessScopeAnalysesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInsightsAccessScopesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInsightsAnalysesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInsightsPathsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInterfaceAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInterfacePermissionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInterfacesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeOutpostLagsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribePlacementGroupsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribePrefixListsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribePrincipalIdFormatCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribePublicIpv4PoolsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRegionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReplaceRootVolumeTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesListingsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesModificationsCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesOfferingsCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRouteServerEndpointsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRouteServerPeersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRouteServersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeRouteTablesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeScheduledInstanceAvailabilityCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeScheduledInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSecurityGroupReferencesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSecurityGroupRulesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSecurityGroupVpcAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSecurityGroupsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeServiceLinkVirtualInterfacesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSnapshotAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSnapshotTierStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSnapshotsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotDatafeedSubscriptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotFleetInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotFleetRequestHistoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotFleetRequestsCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotInstanceRequestsCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSpotPriceHistoryCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeStaleSecurityGroupsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeStoreImageTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeSubnetsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTagsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrafficMirrorFilterRulesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrafficMirrorFiltersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrafficMirrorSessionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrafficMirrorTargetsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayAttachmentsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayConnectPeersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayConnectsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayMulticastDomainsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayPeeringAttachmentsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayPolicyTablesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayRouteTableAnnouncementsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayRouteTablesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayVpcAttachmentsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewaysCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTrunkInterfaceAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessEndpointsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessGroupsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessInstanceLoggingConfigurationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVerifiedAccessTrustProvidersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVolumeAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVolumeStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVolumesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVolumesModificationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcBlockPublicAccessExclusionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcBlockPublicAccessOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcClassicLinkCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcClassicLinkDnsSupportCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointConnectionNotificationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointConnectionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointServiceConfigurationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointServicePermissionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointServicesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcEndpointsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcPeeringConnectionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpcsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpnConnectionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeVpnGatewaysCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachClassicLinkVpcCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachInternetGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachNetworkInterfaceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachVerifiedAccessTrustProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachVolumeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DetachVpnGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableAddressTransferCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableAllowedImagesSettingsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableAwsNetworkPerformanceMetricSubscriptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableEbsEncryptionByDefaultCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableFastLaunchCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableFastSnapshotRestoresCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableImageBlockPublicAccessCommand.d.ts +2 -4
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableImageDeprecationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableImageDeregistrationProtectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableIpamOrganizationAdminAccountCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableRouteServerPropagationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableSerialConsoleAccessCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableSnapshotBlockPublicAccessCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableTransitGatewayRouteTablePropagationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableVgwRoutePropagationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableVpcClassicLinkCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisableVpcClassicLinkDnsSupportCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateAddressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateCapacityReservationBillingOwnerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateClientVpnTargetNetworkCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateEnclaveCertificateIamRoleCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateIamInstanceProfileCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateInstanceEventWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateIpamByoasnCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateIpamResourceDiscoveryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateNatGatewayAddressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateRouteServerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateSecurityGroupVpcCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateSubnetCidrBlockCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTransitGatewayMulticastDomainCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTransitGatewayPolicyTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTransitGatewayRouteTableCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTrunkInterfaceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateVpcCidrBlockCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableAddressTransferCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableAllowedImagesSettingsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableAwsNetworkPerformanceMetricSubscriptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableEbsEncryptionByDefaultCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableFastLaunchCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableFastSnapshotRestoresCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableImageBlockPublicAccessCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableImageDeprecationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableImageDeregistrationProtectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableIpamOrganizationAdminAccountCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableReachabilityAnalyzerOrganizationSharingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableRouteServerPropagationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableSerialConsoleAccessCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableSnapshotBlockPublicAccessCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableTransitGatewayRouteTablePropagationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableVgwRoutePropagationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableVolumeIOCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableVpcClassicLinkCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/EnableVpcClassicLinkDnsSupportCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportClientVpnClientCertificateRevocationListCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportClientVpnClientConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportTransitGatewayRoutesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ExportVerifiedAccessInstanceClientConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetActiveVpnTunnelStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAllowedImagesSettingsCommand.d.ts +14 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAssociatedEnclaveCertificateIamRolesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAssociatedIpv6PoolCidrsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAwsNetworkPerformanceDataCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetCapacityReservationUsageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetCoipPoolUsageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetConsoleOutputCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetConsoleScreenshotCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetDeclarativePoliciesReportSummaryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetDefaultCreditSpecificationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetEbsDefaultKmsKeyIdCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetEbsEncryptionByDefaultCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetFlowLogsIntegrationTemplateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetGroupsForCapacityReservationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetHostReservationPurchasePreviewCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetImageBlockPublicAccessStateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetInstanceMetadataDefaultsCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetInstanceTpmEkPubCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetInstanceTypesFromInstanceRequirementsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetInstanceUefiDataCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamAddressHistoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamDiscoveredAccountsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamDiscoveredPublicAddressesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamDiscoveredResourceCidrsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamPoolAllocationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamPoolCidrsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetIpamResourceCidrsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetLaunchTemplateDataCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetManagedPrefixListAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetManagedPrefixListEntriesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.d.ts +4 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetNetworkInsightsAccessScopeContentCommand.d.ts +3 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetPasswordDataCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetReservedInstancesExchangeQuoteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetRouteServerAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetRouteServerPropagationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetRouteServerRoutingDatabaseCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSecurityGroupsForVpcCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSerialConsoleAccessStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSnapshotBlockPublicAccessStateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSpotPlacementScoresCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetSubnetCidrReservationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayAttachmentPropagationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayMulticastDomainAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayPolicyTableAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayPolicyTableEntriesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayPrefixListReferencesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayRouteTableAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayRouteTablePropagationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVerifiedAccessEndpointPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVerifiedAccessEndpointTargetsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVerifiedAccessGroupPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpnConnectionDeviceSampleConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpnConnectionDeviceTypesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpnTunnelReplacementStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportClientVpnClientCertificateRevocationListCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportInstanceCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportKeyPairCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportSnapshotCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ImportVolumeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ListImagesInRecycleBinCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ListSnapshotsInRecycleBinCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/LockSnapshotCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyAddressAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyAvailabilityZoneGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyCapacityReservationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyCapacityReservationFleetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyClientVpnEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyDefaultCreditSpecificationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyEbsDefaultKmsKeyIdCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyFleetCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyFpgaImageAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyHostsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIdFormatCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIdentityIdFormatCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyImageAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceCapacityReservationAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceConnectEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceCpuOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceCreditSpecificationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceEventStartTimeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceEventWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceMaintenanceOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceMetadataDefaultsCommand.d.ts +5 -3
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceMetadataOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstanceNetworkPerformanceOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyInstancePlacementCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamPoolCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamResourceCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamResourceDiscoveryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamScopeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyLaunchTemplateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyLocalGatewayRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyManagedPrefixListCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyNetworkInterfaceAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyPrivateDnsNameOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyPublicIpDnsNameOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyReservedInstancesCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyRouteServerCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySecurityGroupRulesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySnapshotAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySnapshotTierCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySpotFleetRequestCommand.d.ts +3 -1
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifySubnetAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTrafficMirrorFilterNetworkServicesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTrafficMirrorFilterRuleCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTrafficMirrorSessionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTransitGatewayCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTransitGatewayPrefixListReferenceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTransitGatewayVpcAttachmentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessEndpointPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessGroupPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessInstanceLoggingConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVerifiedAccessTrustProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVolumeAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVolumeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcBlockPublicAccessExclusionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcBlockPublicAccessOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointConnectionNotificationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointServiceConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointServicePayerResponsibilityCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcEndpointServicePermissionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcPeeringConnectionOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpcTenancyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnConnectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnConnectionOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnTunnelCertificateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyVpnTunnelOptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/MonitorInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/MoveAddressToVpcCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/MoveByoipCidrToIpamCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/MoveCapacityReservationInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ProvisionByoipCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ProvisionIpamByoasnCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ProvisionIpamPoolCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ProvisionPublicIpv4PoolCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseCapacityBlockCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseCapacityBlockExtensionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseHostReservationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseReservedInstancesOfferingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/PurchaseScheduledInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RebootInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RegisterImageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RegisterInstanceEventNotificationAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RegisterTransitGatewayMulticastGroupMembersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RegisterTransitGatewayMulticastGroupSourcesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectCapacityReservationBillingOwnershipCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectTransitGatewayMulticastDomainAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectTransitGatewayPeeringAttachmentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectTransitGatewayVpcAttachmentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectVpcEndpointConnectionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectVpcPeeringConnectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReleaseAddressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReleaseHostsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReleaseIpamPoolAllocationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceIamInstanceProfileAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceImageCriteriaInAllowedImagesSettingsCommand.d.ts +14 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceNetworkAclAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceNetworkAclEntryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceRouteTableAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceTransitGatewayRouteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceVpnTunnelCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReportInstanceStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RequestSpotFleetCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RequestSpotInstancesCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetAddressAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetEbsDefaultKmsKeyIdCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetFpgaImageAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetImageAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetInstanceAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetNetworkInterfaceAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ResetSnapshotAttributeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreAddressToClassicCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreImageFromRecycleBinCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreManagedPrefixListVersionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreSnapshotFromRecycleBinCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RestoreSnapshotTierCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RevokeClientVpnIngressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RevokeSecurityGroupEgressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RevokeSecurityGroupIngressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RunInstancesCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RunScheduledInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/SearchLocalGatewayRoutesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/SearchTransitGatewayMulticastGroupsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/SearchTransitGatewayRoutesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/SendDiagnosticInterruptCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartDeclarativePoliciesReportCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartNetworkInsightsAccessScopeAnalysisCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartNetworkInsightsAnalysisCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartVpcEndpointServicePrivateDnsVerificationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StopInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/TerminateClientVpnConnectionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/TerminateInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnassignIpv6AddressesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnassignPrivateIpAddressesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnassignPrivateNatGatewayAddressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnlockSnapshotCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UnmonitorInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/commands/WithdrawByoipCidrCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_1.d.ts +6 -4
- package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_2.d.ts +4 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_4.d.ts +11 -11
- package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_6.d.ts +100 -65
- package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_7.d.ts +45 -31
- package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_8.d.ts +149 -22
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.d.ts +2 -4
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetNetworkInsightsAccessScopeContentCommand.d.ts +4 -2
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_1.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_6.d.ts +11 -12
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_7.d.ts +12 -10
- package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_8.d.ts +20 -2
- package/node_modules/@aws-sdk/client-ec2/package.json +11 -11
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateCapacityProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateClusterCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateServiceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/CreateTaskSetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteAccountSettingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteCapacityProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteClusterCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteServiceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteTaskDefinitionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeleteTaskSetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeregisterContainerInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DeregisterTaskDefinitionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeCapacityProvidersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeClustersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeContainerInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeServiceDeploymentsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeServiceRevisionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeServicesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeTaskDefinitionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeTaskSetsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DescribeTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/DiscoverPollEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ExecuteCommandCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/GetTaskProtectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListAccountSettingsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListClustersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListContainerInstancesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListServiceDeploymentsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListServicesByNamespaceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListServicesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTaskDefinitionFamiliesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTaskDefinitionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/ListTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutAccountSettingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutAccountSettingDefaultCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/PutClusterCapacityProvidersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/RegisterContainerInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/RegisterTaskDefinitionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/RunTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/StartTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/StopServiceDeploymentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/StopTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/SubmitAttachmentStateChangesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/SubmitContainerStateChangeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/SubmitTaskStateChangeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/TagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UntagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateCapacityProviderCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateClusterCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateClusterSettingsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateContainerAgentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateContainerInstancesStateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateServiceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateServicePrimaryTaskSetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateTaskProtectionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/dist-types/commands/UpdateTaskSetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ecs/package.json +10 -10
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/CancelKeyDeletionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ConnectCustomKeyStoreCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/CreateAliasCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/CreateCustomKeyStoreCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/CreateGrantCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/CreateKeyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DecryptCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DeleteAliasCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DeleteCustomKeyStoreCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DeleteImportedKeyMaterialCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DeriveSharedSecretCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DescribeCustomKeyStoresCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DescribeKeyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DisableKeyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DisableKeyRotationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/DisconnectCustomKeyStoreCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/EnableKeyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/EnableKeyRotationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/EncryptCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateDataKeyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateDataKeyPairCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateDataKeyPairWithoutPlaintextCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateDataKeyWithoutPlaintextCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateMacCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GenerateRandomCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GetKeyPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GetKeyRotationStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GetParametersForImportCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/GetPublicKeyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ImportKeyMaterialCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListAliasesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListGrantsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListKeyPoliciesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListKeyRotationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListKeysCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListResourceTagsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ListRetirableGrantsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/PutKeyPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ReEncryptCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ReplicateKeyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/RetireGrantCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/RevokeGrantCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/RotateKeyOnDemandCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/ScheduleKeyDeletionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/SignCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/TagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/UntagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/UpdateAliasCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/UpdateCustomKeyStoreCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/UpdateKeyDescriptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/UpdatePrimaryRegionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/VerifyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/dist-types/commands/VerifyMacCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-kms/package.json +10 -10
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/AbortMultipartUploadCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CompleteMultipartUploadCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CopyObjectCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketMetadataConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketMetadataTableConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateMultipartUploadCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateSessionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketAnalyticsConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCorsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketEncryptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketInventoryConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketLifecycleCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetadataConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetadataTableConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetricsConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketOwnershipControlsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketReplicationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketTaggingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketWebsiteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectTaggingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeletePublicAccessBlockCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAccelerateConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAclCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAnalyticsConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketCorsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketEncryptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketInventoryConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLocationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLoggingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetadataConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetadataTableConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetricsConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketNotificationConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketReplicationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketRequestPaymentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketTaggingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketVersioningCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketWebsiteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAclCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLegalHoldCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLockConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectRetentionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTaggingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTorrentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetPublicAccessBlockCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadBucketCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadObjectCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketAnalyticsConfigurationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketInventoryConfigurationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketMetricsConfigurationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListDirectoryBucketsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListMultipartUploadsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectVersionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsV2Command.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListPartsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAccelerateConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAclCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAnalyticsConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketCorsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketEncryptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketInventoryConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLoggingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketMetricsConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketReplicationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketRequestPaymentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketTaggingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketVersioningCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketWebsiteCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectAclCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLegalHoldCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLockConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectRetentionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectTaggingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutPublicAccessBlockCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/RenameObjectCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/RestoreObjectCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/SelectObjectContentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/UpdateBucketMetadataInventoryTableConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/UpdateBucketMetadataJournalTableConfigurationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/WriteGetObjectResponseCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-s3/package.json +17 -17
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/BatchGetSecretValueCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/CancelRotateSecretCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/CreateSecretCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DeleteResourcePolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DeleteSecretCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DescribeSecretCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetRandomPasswordCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetResourcePolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetSecretValueCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ListSecretVersionIdsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ListSecretsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/PutResourcePolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/PutSecretValueCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RemoveRegionsFromReplicationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ReplicateSecretToRegionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RestoreSecretCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RotateSecretCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/StopReplicationToReplicaCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/TagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UntagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UpdateSecretCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UpdateSecretVersionStageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ValidateResourcePolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-secrets-manager/package.json +10 -10
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/CreateActivityCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/CreateStateMachineAliasCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/CreateStateMachineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DeleteActivityCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DeleteStateMachineAliasCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DeleteStateMachineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DeleteStateMachineVersionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeActivityCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeMapRunCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeStateMachineAliasCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeStateMachineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/DescribeStateMachineForExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/GetActivityTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/GetExecutionHistoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListActivitiesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListExecutionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListMapRunsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListStateMachineAliasesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListStateMachineVersionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListStateMachinesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/PublishStateMachineVersionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/RedriveExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/SendTaskFailureCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/SendTaskHeartbeatCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/SendTaskSuccessCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/StartExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/StartSyncExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/StopExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/TagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/TestStateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/UntagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/UpdateMapRunCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/UpdateStateMachineAliasCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/UpdateStateMachineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/dist-types/commands/ValidateStateMachineDefinitionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sfn/package.json +10 -10
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/AddPermissionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/CheckIfPhoneNumberIsOptedOutCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ConfirmSubscriptionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/CreatePlatformApplicationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/CreatePlatformEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/CreateSMSSandboxPhoneNumberCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/CreateTopicCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/DeleteEndpointCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/DeletePlatformApplicationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/DeleteSMSSandboxPhoneNumberCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/DeleteTopicCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetDataProtectionPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetEndpointAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetPlatformApplicationAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetSMSAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetSMSSandboxAccountStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetSubscriptionAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/GetTopicAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListEndpointsByPlatformApplicationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListOriginationNumbersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListPhoneNumbersOptedOutCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListPlatformApplicationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListSMSSandboxPhoneNumbersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListSubscriptionsByTopicCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListSubscriptionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/ListTopicsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/OptInPhoneNumberCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/PublishBatchCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/PublishCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/PutDataProtectionPolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/RemovePermissionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetEndpointAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetPlatformApplicationAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetSMSAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetSubscriptionAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/SetTopicAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/SubscribeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/TagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/UnsubscribeCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/UntagResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/dist-types/commands/VerifySMSSandboxPhoneNumberCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sns/package.json +10 -10
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/AddPermissionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/CancelMessageMoveTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ChangeMessageVisibilityBatchCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ChangeMessageVisibilityCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/CreateQueueCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/DeleteMessageBatchCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/DeleteMessageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/DeleteQueueCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/GetQueueAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/GetQueueUrlCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ListDeadLetterSourceQueuesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ListMessageMoveTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ListQueueTagsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ListQueuesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/PurgeQueueCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/ReceiveMessageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/RemovePermissionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/SendMessageBatchCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/SendMessageCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/SetQueueAttributesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/StartMessageMoveTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/TagQueueCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/dist-types/commands/UntagQueueCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sqs/package.json +11 -11
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/AddTagsToResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/AssociateOpsItemRelatedItemCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CancelCommandCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CancelMaintenanceWindowExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateActivationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateAssociationBatchCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateDocumentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateMaintenanceWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateOpsItemCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateOpsMetadataCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreatePatchBaselineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateResourceDataSyncCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteActivationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteDocumentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteInventoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteMaintenanceWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteOpsItemCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteOpsMetadataCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteParameterCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteParametersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeletePatchBaselineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteResourceDataSyncCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteResourcePolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterManagedInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterPatchBaselineForPatchGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterTargetFromMaintenanceWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterTaskFromMaintenanceWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeActivationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationExecutionTargetsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationExecutionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAutomationExecutionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAutomationStepExecutionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAvailablePatchesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeDocumentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeDocumentPermissionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeEffectiveInstanceAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeEffectivePatchesForPatchBaselineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstanceAssociationsStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstanceInformationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchStatesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchStatesForPatchGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePropertiesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInventoryDeletionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionTaskInvocationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowScheduleCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowTargetsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowTasksCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowsForTargetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeOpsItemsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeParametersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchBaselinesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchGroupStateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchGroupsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchPropertiesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeSessionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DisassociateOpsItemRelatedItemCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetAccessTokenCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetAutomationExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetCalendarStateCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetCommandInvocationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetConnectionStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDefaultPatchBaselineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDeployablePatchSnapshotForInstanceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDocumentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetExecutionPreviewCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetInventoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetInventorySchemaCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionTaskInvocationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsItemCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsMetadataCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsSummaryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParameterCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParameterHistoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParametersByPathCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParametersCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetPatchBaselineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetPatchBaselineForPatchGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetResourcePoliciesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetServiceSettingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/LabelParameterVersionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListAssociationVersionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListAssociationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListCommandInvocationsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListCommandsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceItemsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceSummariesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentMetadataHistoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentVersionsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListInventoryEntriesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesSummaryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsItemEventsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsItemRelatedItemsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsMetadataCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListResourceComplianceSummariesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListResourceDataSyncCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ModifyDocumentPermissionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutComplianceItemsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutInventoryCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutParameterCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutResourcePolicyCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterDefaultPatchBaselineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterPatchBaselineForPatchGroupCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterTargetWithMaintenanceWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterTaskWithMaintenanceWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RemoveTagsFromResourceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResetServiceSettingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResumeSessionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendAutomationSignalCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendCommandCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAccessRequestCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAssociationsOnceCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAutomationExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartChangeRequestExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartExecutionPreviewCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartSessionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StopAutomationExecutionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/TerminateSessionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UnlabelParameterVersionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateAssociationCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateAssociationStatusCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentDefaultVersionCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentMetadataCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowTargetCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowTaskCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateManagedInstanceRoleCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateOpsItemCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateOpsMetadataCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdatePatchBaselineCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateResourceDataSyncCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateServiceSettingCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-ssm/package.json +10 -10
- package/node_modules/@aws-sdk/client-sso/dist-types/commands/GetRoleCredentialsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sso/dist-types/commands/ListAccountRolesCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sso/dist-types/commands/ListAccountsCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sso/dist-types/commands/LogoutCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/client-sso/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-node/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +2 -2
- package/node_modules/@aws-sdk/middleware-expect-continue/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getCrc32ChecksumAlgorithmFunction.d.ts +1 -1
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/stringHasher.d.ts +1 -1
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/getCrc32ChecksumAlgorithmFunction.d.ts +1 -1
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/stringHasher.d.ts +1 -1
- package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-host-header/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-location-constraint/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-logger/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-sdk-ec2/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-sdk-sqs/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-ssec/package.json +1 -1
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/commands/CreateTokenCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.d.ts +2 -0
- package/node_modules/@aws-sdk/nested-clients/package.json +9 -9
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +2 -2
- package/node_modules/@aws-sdk/util-endpoints/package.json +1 -1
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
- package/node_modules/@smithy/core/dist-types/submodules/cbor/cbor.d.ts +1 -1
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/cbor.d.ts +1 -1
- package/node_modules/@smithy/core/package.json +2 -2
- package/node_modules/@smithy/middleware-endpoint/package.json +2 -2
- package/node_modules/@smithy/middleware-retry/package.json +4 -4
- package/node_modules/@smithy/service-error-classification/dist-cjs/index.js +2 -2
- package/node_modules/@smithy/service-error-classification/dist-es/index.js +3 -2
- package/node_modules/@smithy/service-error-classification/package.json +1 -1
- package/node_modules/@smithy/smithy-client/package.json +4 -4
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
- package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
- package/node_modules/@smithy/util-retry/package.json +5 -3
- package/node_modules/@smithy/util-stream/dist-types/ByteArrayCollector.d.ts +1 -1
- package/node_modules/@smithy/util-stream/dist-types/ts3.4/ByteArrayCollector.d.ts +1 -1
- package/node_modules/@smithy/util-stream/package.json +1 -1
- package/node_modules/cdk-iam-floyd/README.md +3 -3
- package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/cdk-iam-floyd.d.ts +2 -4
- package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/cdk-iam-floyd.js +5 -9
- package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/iam-floyd.d.ts +2 -4
- package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/iam-floyd.js +3 -5
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudformation.d.ts +23 -0
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudformation.js +29 -1
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchobservabilityadminservice.d.ts +133 -1
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchobservabilityadminservice.js +166 -2
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticvmwareservice.d.ts +16 -0
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticvmwareservice.js +24 -2
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenter.d.ts +333 -0
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenter.js +334 -1
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenterdirectory.d.ts +108 -0
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenterdirectory.js +109 -1
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenteroidcservice.d.ts +4 -1
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenteroidcservice.js +5 -2
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/identitystore.d.ts +93 -0
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/identitystore.js +103 -1
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/invoicingservice.d.ts +24 -0
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/invoicingservice.js +34 -1
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/qinconnect.d.ts +8 -0
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/qinconnect.js +12 -1
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3.d.ts +2 -0
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3.js +3 -1
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/taxsettings.d.ts +48 -0
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/taxsettings.js +68 -2
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspaces.d.ts +6 -14
- package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspaces.js +7 -18
- package/node_modules/cdk-iam-floyd/package.json +4 -4
- package/package.json +13 -13
- package/node_modules/@aws-sdk/middleware-sdk-ec2/dist-es/fixture.js +0 -13
- package/node_modules/@aws-sdk/middleware-sdk-ec2/dist-types/fixture.d.ts +0 -12
- package/node_modules/@aws-sdk/middleware-sdk-ec2/dist-types/ts3.4/fixture.d.ts +0 -12
|
@@ -466,6 +466,17 @@ export declare class Cloudformation extends PolicyStatement {
|
|
|
466
466
|
* https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ImportStacksToStackSet.html
|
|
467
467
|
*/
|
|
468
468
|
toImportStacksToStackSet(): this;
|
|
469
|
+
/**
|
|
470
|
+
* Grants permission to return Hook invocations result information for a specified Hook, a combination of Hook and status, or all Hooks
|
|
471
|
+
*
|
|
472
|
+
* Access Level: List
|
|
473
|
+
*
|
|
474
|
+
* Possible conditions:
|
|
475
|
+
* - .ifTypeArn()
|
|
476
|
+
*
|
|
477
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ListHookResults.html
|
|
478
|
+
*/
|
|
479
|
+
toListAllHookResults(): this;
|
|
469
480
|
/**
|
|
470
481
|
* Grants permission to return the ID and status of each active change set for a stack. For example, AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or CREATE_PENDING state
|
|
471
482
|
*
|
|
@@ -1099,6 +1110,18 @@ export declare class Cloudformation extends PolicyStatement {
|
|
|
1099
1110
|
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
|
|
1100
1111
|
*/
|
|
1101
1112
|
ifTemplateUrl(value: string | string[], operator?: Operator | string): this;
|
|
1113
|
+
/**
|
|
1114
|
+
* Filters access by the ARN of a CloudFormation extension
|
|
1115
|
+
*
|
|
1116
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-template-conditions
|
|
1117
|
+
*
|
|
1118
|
+
* Applies to actions:
|
|
1119
|
+
* - .toListAllHookResults()
|
|
1120
|
+
*
|
|
1121
|
+
* @param value The value(s) to check
|
|
1122
|
+
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
|
|
1123
|
+
*/
|
|
1124
|
+
ifTypeArn(value: string | string[], operator?: Operator | string): this;
|
|
1102
1125
|
/**
|
|
1103
1126
|
* Statement provider for service [cloudformation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html).
|
|
1104
1127
|
*
|
|
@@ -566,6 +566,19 @@ class Cloudformation extends shared_1.PolicyStatement {
|
|
|
566
566
|
toImportStacksToStackSet() {
|
|
567
567
|
return this.to('ImportStacksToStackSet');
|
|
568
568
|
}
|
|
569
|
+
/**
|
|
570
|
+
* Grants permission to return Hook invocations result information for a specified Hook, a combination of Hook and status, or all Hooks
|
|
571
|
+
*
|
|
572
|
+
* Access Level: List
|
|
573
|
+
*
|
|
574
|
+
* Possible conditions:
|
|
575
|
+
* - .ifTypeArn()
|
|
576
|
+
*
|
|
577
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ListHookResults.html
|
|
578
|
+
*/
|
|
579
|
+
toListAllHookResults() {
|
|
580
|
+
return this.to('ListAllHookResults');
|
|
581
|
+
}
|
|
569
582
|
/**
|
|
570
583
|
* Grants permission to return the ID and status of each active change set for a stack. For example, AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or CREATE_PENDING state
|
|
571
584
|
*
|
|
@@ -1316,6 +1329,20 @@ class Cloudformation extends shared_1.PolicyStatement {
|
|
|
1316
1329
|
ifTemplateUrl(value, operator) {
|
|
1317
1330
|
return this.if(`TemplateUrl`, value, operator ?? 'StringLike');
|
|
1318
1331
|
}
|
|
1332
|
+
/**
|
|
1333
|
+
* Filters access by the ARN of a CloudFormation extension
|
|
1334
|
+
*
|
|
1335
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-template-conditions
|
|
1336
|
+
*
|
|
1337
|
+
* Applies to actions:
|
|
1338
|
+
* - .toListAllHookResults()
|
|
1339
|
+
*
|
|
1340
|
+
* @param value The value(s) to check
|
|
1341
|
+
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
|
|
1342
|
+
*/
|
|
1343
|
+
ifTypeArn(value, operator) {
|
|
1344
|
+
return this.if(`TypeArn`, value, operator ?? 'ArnLike');
|
|
1345
|
+
}
|
|
1319
1346
|
/**
|
|
1320
1347
|
* Statement provider for service [cloudformation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html).
|
|
1321
1348
|
*
|
|
@@ -1396,6 +1423,7 @@ class Cloudformation extends shared_1.PolicyStatement {
|
|
|
1396
1423
|
],
|
|
1397
1424
|
List: [
|
|
1398
1425
|
'DescribeStacks',
|
|
1426
|
+
'ListAllHookResults',
|
|
1399
1427
|
'ListChangeSets',
|
|
1400
1428
|
'ListExports',
|
|
1401
1429
|
'ListGeneratedTemplates',
|
|
@@ -1429,4 +1457,4 @@ class Cloudformation extends shared_1.PolicyStatement {
|
|
|
1429
1457
|
}
|
|
1430
1458
|
}
|
|
1431
1459
|
exports.Cloudformation = Cloudformation;
|
|
1432
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmb3JtYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZvcm1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBeUQ7QUFHekQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLHdCQUFlO0lBR2pEOzs7Ozs7T0FNRztJQUNJLDZCQUE2QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGlDQUFpQztRQUN0QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx5QkFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0ksYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxzQkFBc0I7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cEIsbUNBQW1DO2dCQUNuQyw4QkFBOEI7Z0JBQzlCLHdCQUF3QjtnQkFDeEIsZUFBZTtnQkFDZixZQUFZO2dCQUNaLHVCQUF1QjtnQkFDdkIsa0JBQWtCO2dCQUNsQixXQUFXO2FBQ1o7WUFDRCx3QkFBd0IsRUFBRTtnQkFDeEIsZ0JBQWdCO2FBQ2pCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLGFBQWE7Z0JBQ2IsZUFBZTthQUNoQjtTQUNGLENBQUM7SUF1VUYsQ0FBQztDQUNGO0FBMy9DRCx3Q0EyL0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzTGV2ZWxMaXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FjY2Vzcy1sZXZlbCc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IGF3c19pYW0gYXMgaWFtIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtjbG91ZGZvcm1hdGlvbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzY2xvdWRmb3JtYXRpb24uaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZGZvcm1hdGlvbiBleHRlbmRzIFBvbGljeVN0YXRlbWVudCB7XG4gIHB1YmxpYyBzZXJ2aWNlUHJlZml4ID0gJ2Nsb3VkZm9ybWF0aW9uJztcblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gYWN0aXZhdGUgdHJ1c3RlZCBhY2Nlc3MgYmV0d2VlbiBTdGFja1NldHMgYW5kIE9yZ2FuaXphdGlvbnMuIFdpdGggdHJ1c3RlZCBhY2Nlc3MgYmV0d2VlbiBTdGFja1NldHMgYW5kIE9yZ2FuaXphdGlvbnMgYWN0aXZhdGVkLCB0aGUgbWFuYWdlbWVudCBhY2NvdW50IGhhcyBwZXJtaXNzaW9ucyB0byBjcmVhdGUgYW5kIG1hbmFnZSBTdGFja1NldHMgZm9yIHlvdXIgb3JnYW5pemF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0FjdGl2YXRlT3JnYW5pemF0aW9uc0FjY2Vzcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9BY3RpdmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0FjdGl2YXRlT3JnYW5pemF0aW9uc0FjY2VzcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFjdGl2YXRlIGEgcHVibGljIHRoaXJkLXBhcnR5IGV4dGVuc2lvbiwgbWFraW5nIGl0IGF2YWlsYWJsZSBmb3IgdXNlIGluIHN0YWNrIHRlbXBsYXRlc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9BY3RpdmF0ZVR5cGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQWN0aXZhdGVUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdBY3RpdmF0ZVR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gY29uZmlndXJhdGlvbiBkYXRhIGZvciB0aGUgc3BlY2lmaWVkIENsb3VkRm9ybWF0aW9uIGV4dGVuc2lvbnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9CYXRjaERlc2NyaWJlVHlwZUNvbmZpZ3VyYXRpb25zLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0JhdGNoRGVzY3JpYmVUeXBlQ29uZmlndXJhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0JhdGNoRGVzY3JpYmVUeXBlQ29uZmlndXJhdGlvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjYW5jZWwgYW4gdXBkYXRlIG9uIHRoZSBzcGVjaWZpZWQgc3RhY2tcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ2FuY2VsVXBkYXRlU3RhY2suaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ2FuY2VsVXBkYXRlU3RhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NhbmNlbFVwZGF0ZVN0YWNrJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY29udGludWUgcm9sbGluZyBiYWNrIGEgc3RhY2sgdGhhdCBpcyBpbiB0aGUgVVBEQVRFX1JPTExCQUNLX0ZBSUxFRCBzdGF0ZSB0byB0aGUgVVBEQVRFX1JPTExCQUNLX0NPTVBMRVRFIHN0YXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZSb2xlQXJuKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NvbnRpbnVlVXBkYXRlUm9sbGJhY2suaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ29udGludWVVcGRhdGVSb2xsYmFjaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ29udGludWVVcGRhdGVSb2xsYmFjaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIGxpc3Qgb2YgY2hhbmdlcyBmb3IgYSBzdGFja1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQ2hhbmdlU2V0TmFtZSgpXG4gICAqIC0gLmlmUmVzb3VyY2VUeXBlcygpXG4gICAqIC0gLmlmSW1wb3J0UmVzb3VyY2VUeXBlcygpXG4gICAqIC0gLmlmUm9sZUFybigpXG4gICAqIC0gLmlmU3RhY2tQb2xpY3lVcmwoKVxuICAgKiAtIC5pZlRlbXBsYXRlVXJsKClcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZUNoYW5nZVNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVDaGFuZ2VTZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZUNoYW5nZVNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIHRlbXBsYXRlIGZyb20gZXhpc3RpbmcgcmVzb3VyY2VzIHRoYXQgYXJlIG5vdCBhbHJlYWR5IG1hbmFnZWQgd2l0aCBDbG91ZEZvcm1hdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVHZW5lcmF0ZWRUZW1wbGF0ZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVHZW5lcmF0ZWRUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlR2VuZXJhdGVkVGVtcGxhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBzdGFjayBhcyBzcGVjaWZpZWQgaW4gdGhlIHRlbXBsYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZSZXNvdXJjZVR5cGVzKClcbiAgICogLSAuaWZSb2xlQXJuKClcbiAgICogLSAuaWZTdGFja1BvbGljeVVybCgpXG4gICAqIC0gLmlmVGVtcGxhdGVVcmwoKVxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlU3RhY2suaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlU3RhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVN0YWNrJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIHN0YWNrIGluc3RhbmNlcyBmb3IgdGhlIHNwZWNpZmllZCBhY2NvdW50cywgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmVnaW9uc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqIC0gLmlmVGFyZ2V0UmVnaW9uKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZVN0YWNrSW5zdGFuY2VzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVN0YWNrSW5zdGFuY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVTdGFja0luc3RhbmNlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIHN0YWNrIHJlZmFjdG9yXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZVN0YWNrUmVmYWN0b3IuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlU3RhY2tSZWZhY3RvcigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlU3RhY2tSZWZhY3RvcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIHN0YWNrc2V0IGFzIHNwZWNpZmllZCBpbiB0aGUgdGVtcGxhdGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlJvbGVBcm4oKVxuICAgKiAtIC5pZlRlbXBsYXRlVXJsKClcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZVN0YWNrU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVN0YWNrU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVTdGFja1NldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwbG9hZCB0ZW1wbGF0ZXMgdG8gQW1hem9uIFMzIGJ1Y2tldHMuIFVzZWQgb25seSBieSB0aGUgQVdTIENsb3VkRm9ybWF0aW9uIGNvbnNvbGUgYW5kIGlzIG5vdCBkb2N1bWVudGVkIGluIHRoZSBBUEkgcmVmZXJlbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVVwbG9hZEJ1Y2tldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlVXBsb2FkQnVja2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVhY3RpdmF0ZSB0cnVzdGVkIGFjY2VzcyBiZXR3ZWVuIFN0YWNrU2V0cyBhbmQgT3JnYW5pemF0aW9ucy4gSWYgdHJ1c3RlZCBhY2Nlc3MgaXMgZGVhY3RpdmF0ZWQsIHRoZSBtYW5hZ2VtZW50IGFjY291bnQgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9ucyB0byBjcmVhdGUgYW5kIG1hbmFnZSBzZXJ2aWNlLW1hbmFnZWQgU3RhY2tTZXRzIGZvciB5b3VyIG9yZ2FuaXphdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWFjdGl2YXRlT3JnYW5pemF0aW9uc0FjY2Vzcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWFjdGl2YXRlT3JnYW5pemF0aW9uc0FjY2VzcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVhY3RpdmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWFjdGl2YXRlIGEgcHVibGljIGV4dGVuc2lvbiB0aGF0IHdhcyBwcmV2aW91c2x5IGFjdGl2YXRlZCBpbiB0aGlzIGFjY291bnQgYW5kIHJlZ2lvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWFjdGl2YXRlVHlwZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWFjdGl2YXRlVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVhY3RpdmF0ZVR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgdGhlIHNwZWNpZmllZCBjaGFuZ2Ugc2V0LiBEZWxldGluZyBjaGFuZ2Ugc2V0cyBlbnN1cmVzIHRoYXQgbm8gb25lIGV4ZWN1dGVzIHRoZSB3cm9uZyBjaGFuZ2Ugc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZDaGFuZ2VTZXROYW1lKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZUNoYW5nZVNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVDaGFuZ2VTZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUNoYW5nZVNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIGdlbmVyYXRlZCB0ZW1wbGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVHZW5lcmF0ZWRUZW1wbGF0ZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVHZW5lcmF0ZWRUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlR2VuZXJhdGVkVGVtcGxhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYSBzcGVjaWZpZWQgc3RhY2tcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlJvbGVBcm4oKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlU3RhY2suaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlU3RhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZVN0YWNrJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIHN0YWNrIGluc3RhbmNlcyBmb3IgdGhlIHNwZWNpZmllZCBhY2NvdW50cywgaW4gdGhlIHNwZWNpZmllZCByZWdpb25zXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZUYXJnZXRSZWdpb24oKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlU3RhY2tJbnN0YW5jZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlU3RhY2tJbnN0YW5jZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZVN0YWNrSW5zdGFuY2VzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGEgc3BlY2lmaWVkIHN0YWNrc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZVN0YWNrU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZVN0YWNrU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVTdGFja1NldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlcmVnaXN0ZXIgYW4gZXhpc3RpbmcgQ2xvdWRGb3JtYXRpb24gdHlwZSBvciB0eXBlIHZlcnNpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVyZWdpc3RlclR5cGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVyZWdpc3RlclR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlcmVnaXN0ZXJUeXBlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgeW91ciBhY2NvdW50J3MgQVdTIENsb3VkRm9ybWF0aW9uIGxpbWl0c1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlQWNjb3VudExpbWl0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUFjY291bnRMaW1pdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlQWNjb3VudExpbWl0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBzcGVjaWZpZWQgY2hhbmdlIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZDaGFuZ2VTZXROYW1lKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlQ2hhbmdlU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQ2hhbmdlU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUNoYW5nZVNldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgSG9vayBpbnZvY2F0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIGNoYW5nZSBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQ2hhbmdlU2V0TmFtZSgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUNoYW5nZVNldEhvb2tzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlQ2hhbmdlU2V0SG9va3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlQ2hhbmdlU2V0SG9va3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXNjcmliZSBhIGdlbmVyYXRlZCB0ZW1wbGF0ZS4gVGhlIG91dHB1dCBpbmNsdWRlcyBkZXRhaWxzIGFib3V0IHRoZSBwcm9ncmVzcyBvZiB0aGUgY3JlYXRpb24gb2YgYSBnZW5lcmF0ZWQgdGVtcGxhdGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUdlbmVyYXRlZFRlbXBsYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlR2VuZXJhdGVkVGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlR2VuZXJhdGVkVGVtcGxhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGFjY291bnQncyBPcmdhbml6YXRpb25BY2Nlc3Mgc3RhdHVzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVPcmdhbml6YXRpb25zQWNjZXNzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlT3JnYW5pemF0aW9uc0FjY2VzcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVPcmdhbml6YXRpb25zQWNjZXNzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGluZm9ybWF0aW9uIGFib3V0IGEgQ2xvdWRGb3JtYXRpb24gZXh0ZW5zaW9uIHB1Ymxpc2hlclxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlUHVibGlzaGVyLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlUHVibGlzaGVyKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVB1Ymxpc2hlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlc2NyaWJlIGRldGFpbHMgb2YgYSByZXNvdXJjZSBzY2FuXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVSZXNvdXJjZVNjYW4uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVSZXNvdXJjZVNjYW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlUmVzb3VyY2VTY2FuJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGluZm9ybWF0aW9uIGFib3V0IGEgc3RhY2sgZHJpZnQgZGV0ZWN0aW9uIG9wZXJhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlU3RhY2tEcmlmdERldGVjdGlvblN0YXR1cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVN0YWNrRHJpZnREZXRlY3Rpb25TdGF0dXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlU3RhY2tEcmlmdERldGVjdGlvblN0YXR1cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBhbGwgc3RhY2sgcmVsYXRlZCBldmVudHMgZm9yIGEgc3BlY2lmaWVkIHN0YWNrXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVTdGFja0V2ZW50cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVN0YWNrRXZlbnRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVN0YWNrRXZlbnRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHRoZSBzdGFjayBpbnN0YW5jZSB0aGF0J3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgc3RhY2sgc2V0LCBBV1MgYWNjb3VudCwgYW5kIHJlZ2lvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlU3RhY2tJbnN0YW5jZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVN0YWNrSW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlU3RhY2tJbnN0YW5jZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBzcGVjaWZpZWQgc3RhY2sgcmVmYWN0b3JcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVN0YWNrUmVmYWN0b3IuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdGFja1JlZmFjdG9yKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVN0YWNrUmVmYWN0b3InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gYSBkZXNjcmlwdGlvbiBvZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlIGluIHRoZSBzcGVjaWZpZWQgc3RhY2tcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVN0YWNrUmVzb3VyY2UuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdGFja1Jlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVN0YWNrUmVzb3VyY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gZHJpZnQgaW5mb3JtYXRpb24gZm9yIHRoZSByZXNvdXJjZXMgdGhhdCBoYXZlIGJlZW4gY2hlY2tlZCBmb3IgZHJpZnQgaW4gdGhlIHNwZWNpZmllZCBzdGFja1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlU3RhY2tSZXNvdXJjZURyaWZ0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVN0YWNrUmVzb3VyY2VEcmlmdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlU3RhY2tSZXNvdXJjZURyaWZ0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBBV1MgcmVzb3VyY2UgZGVzY3JpcHRpb25zIGZvciBydW5uaW5nIGFuZCBkZWxldGVkIHN0YWNrc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlU3RhY2tSZXNvdXJjZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdGFja1Jlc291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVTdGFja1Jlc291cmNlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmllZCBzdGFjayBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVN0YWNrU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlU3RhY2tTZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlU3RhY2tTZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzcGVjaWZpZWQgc3RhY2sgc2V0IG9wZXJhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlU3RhY2tTZXRPcGVyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdGFja1NldE9wZXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVTdGFja1NldE9wZXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBzcGVjaWZpZWQgc3RhY2ssIGFuZCB0byBhbGwgc3RhY2tzIHdoZW4gdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBMaXN0U3RhY2tzIGFjdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gY2xvdWRmb3JtYXRpb246TGlzdFN0YWNrc1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVTdGFja3MuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdGFja3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlU3RhY2tzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDbG91ZEZvcm1hdGlvbiB0eXBlIHJlcXVlc3RlZFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlVHlwZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlVHlwZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVnaXN0cmF0aW9uIHByb2Nlc3MgZm9yIGEgQ2xvdWRGb3JtYXRpb24gdHlwZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlVHlwZVJlZ2lzdHJhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVR5cGVSZWdpc3RyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlVHlwZVJlZ2lzdHJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRldGVjdHMgd2hldGhlciBhIHN0YWNrJ3MgYWN0dWFsIGNvbmZpZ3VyYXRpb24gZGlmZmVycywgb3IgaGFzIGRyaWZ0ZWQsIGZyb20gaXQncyBleHBlY3RlZCBjb25maWd1cmF0aW9uLCBhcyBkZWZpbmVkIGluIHRoZSBzdGFjayB0ZW1wbGF0ZSBhbmQgYW55IHZhbHVlcyBzcGVjaWZpZWQgYXMgdGVtcGxhdGUgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RldGVjdFN0YWNrRHJpZnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGV0ZWN0U3RhY2tEcmlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGV0ZWN0U3RhY2tEcmlmdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBpbmZvcm1hdGlvbiBhYm91dCB3aGV0aGVyIGEgcmVzb3VyY2UncyBhY3R1YWwgY29uZmlndXJhdGlvbiBkaWZmZXJzLCBvciBoYXMgZHJpZnRlZCwgZnJvbSBpdCdzIGV4cGVjdGVkIGNvbmZpZ3VyYXRpb24sIGFzIGRlZmluZWQgaW4gdGhlIHN0YWNrIHRlbXBsYXRlIGFuZCBhbnkgdmFsdWVzIHNwZWNpZmllZCBhcyB0ZW1wbGF0ZSBwYXJhbWV0ZXJzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGV0ZWN0U3RhY2tSZXNvdXJjZURyaWZ0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RldGVjdFN0YWNrUmVzb3VyY2VEcmlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGV0ZWN0U3RhY2tSZXNvdXJjZURyaWZ0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZW5hYmxlIHVzZXJzIHRvIGRldGVjdCBkcmlmdCBvbiBhIHN0YWNrIHNldCBhbmQgdGhlIHN0YWNrIGluc3RhbmNlcyB0aGF0IGJlbG9uZyB0byB0aGF0IHN0YWNrIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RldGVjdFN0YWNrU2V0RHJpZnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGV0ZWN0U3RhY2tTZXREcmlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGV0ZWN0U3RhY2tTZXREcmlmdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgZXN0aW1hdGVkIG1vbnRobHkgY29zdCBvZiBhIHRlbXBsYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlRlbXBsYXRlVXJsKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0VzdGltYXRlVGVtcGxhdGVDb3N0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0VzdGltYXRlVGVtcGxhdGVDb3N0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdFc3RpbWF0ZVRlbXBsYXRlQ29zdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBhIHN0YWNrIHVzaW5nIHRoZSBpbnB1dCBpbmZvcm1hdGlvbiB0aGF0IHdhcyBwcm92aWRlZCB3aGVuIHRoZSBzcGVjaWZpZWQgY2hhbmdlIHNldCB3YXMgY3JlYXRlZFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQ2hhbmdlU2V0TmFtZSgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9FeGVjdXRlQ2hhbmdlU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0V4ZWN1dGVDaGFuZ2VTZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0V4ZWN1dGVDaGFuZ2VTZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBleGVjdXRlIGEgc3RhY2sgcmVmYWN0b3IgdXNpbmcgdGhlIGlucHV0IGluZm9ybWF0aW9uIHRoYXQgd2FzIHByb3ZpZGVkIHdoZW4gdGhlIHNwZWNpZmllZCBzdGFjayByZWZhY3RvciB3YXMgY3JlYXRlZFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9FeGVjdXRlU3RhY2tSZWZhY3Rvci5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9FeGVjdXRlU3RhY2tSZWZhY3RvcigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRXhlY3V0ZVN0YWNrUmVmYWN0b3InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBhIGdlbmVyYXRlZCB0ZW1wbGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldEdlbmVyYXRlZFRlbXBsYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEdlbmVyYXRlZFRlbXBsYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRHZW5lcmF0ZWRUZW1wbGF0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgc3RhY2sgcG9saWN5IGZvciBhIHNwZWNpZmllZCBzdGFja1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldFN0YWNrUG9saWN5Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFN0YWNrUG9saWN5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRTdGFja1BvbGljeScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgdGVtcGxhdGUgYm9keSBmb3IgYSBzcGVjaWZpZWQgc3RhY2tcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRUZW1wbGF0ZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0VGVtcGxhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gaW5mb3JtYXRpb24gYWJvdXQgYSBuZXcgb3IgZXhpc3RpbmcgdGVtcGxhdGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmVGVtcGxhdGVVcmwoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0VGVtcGxhdGVTdW1tYXJ5Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFRlbXBsYXRlU3VtbWFyeSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0VGVtcGxhdGVTdW1tYXJ5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZW5hYmxlIHVzZXJzIHRvIGltcG9ydCBleGlzdGluZyBzdGFja3MgdG8gYSBuZXcgb3IgZXhpc3Rpbmcgc3RhY2tzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfSW1wb3J0U3RhY2tzVG9TdGFja1NldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9JbXBvcnRTdGFja3NUb1N0YWNrU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdJbXBvcnRTdGFja3NUb1N0YWNrU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHRoZSBJRCBhbmQgc3RhdHVzIG9mIGVhY2ggYWN0aXZlIGNoYW5nZSBzZXQgZm9yIGEgc3RhY2suIEZvciBleGFtcGxlLCBBV1MgQ2xvdWRGb3JtYXRpb24gbGlzdHMgY2hhbmdlIHNldHMgdGhhdCBhcmUgaW4gdGhlIENSRUFURV9JTl9QUk9HUkVTUyBvciBDUkVBVEVfUEVORElORyBzdGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RDaGFuZ2VTZXRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RDaGFuZ2VTZXRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0Q2hhbmdlU2V0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgYWxsIGV4cG9ydGVkIG91dHB1dCB2YWx1ZXMgaW4gdGhlIGFjY291bnQgYW5kIHJlZ2lvbiBpbiB3aGljaCB5b3UgY2FsbCB0aGlzIGFjdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RFeHBvcnRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RFeHBvcnRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0RXhwb3J0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgeW91ciBnZW5lcmF0ZWQgdGVtcGxhdGVzIGluIHRoaXMgUmVnaW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEdlbmVyYXRlZFRlbXBsYXRlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0R2VuZXJhdGVkVGVtcGxhdGVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0R2VuZXJhdGVkVGVtcGxhdGVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIEhvb2sgaW52b2NhdGlvbnMgcmVzdWx0IGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIHRhcmdldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZDaGFuZ2VTZXROYW1lKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RIb29rUmVzdWx0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0SG9va1Jlc3VsdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RIb29rUmVzdWx0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgYWxsIHN0YWNrcyB0aGF0IGFyZSBpbXBvcnRpbmcgYW4gZXhwb3J0ZWQgb3V0cHV0IHZhbHVlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdEltcG9ydHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEltcG9ydHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RJbXBvcnRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB0aGUgcmVsYXRlZCByZXNvdXJjZXMgZm9yIGEgbGlzdCBvZiByZXNvdXJjZXMgZnJvbSBhIHJlc291cmNlIHNjYW4uIFRoZSByZXNwb25zZSBpbmRpY2F0ZXMgd2hldGhlciBlYWNoIHJldHVybmVkIHJlc291cmNlIGlzIGFscmVhZHkgbWFuYWdlZCBieSBDbG91ZEZvcm1hdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RSZXNvdXJjZVNjYW5SZWxhdGVkUmVzb3VyY2VzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RSZXNvdXJjZVNjYW5SZWxhdGVkUmVzb3VyY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0UmVzb3VyY2VTY2FuUmVsYXRlZFJlc291cmNlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgdGhlIHJlc291cmNlcyBmcm9tIGEgcmVzb3VyY2Ugc2Nhbi4gVGhlIHJlc3VsdHMgY2FuIGJlIGZpbHRlcmVkIGJ5IHJlc291cmNlIGlkZW50aWZpZXIsIHJlc291cmNlIHR5cGUgcHJlZml4LCB0YWcga2V5LCBhbmQgdGFnIHZhbHVlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFJlc291cmNlU2NhblJlc291cmNlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0UmVzb3VyY2VTY2FuUmVzb3VyY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0UmVzb3VyY2VTY2FuUmVzb3VyY2VzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB0aGUgcmVzb3VyY2Ugc2NhbnMgZnJvbSBuZXdlc3QgdG8gb2xkZXN0LiBCeSBkZWZhdWx0IGl0IHdpbGwgcmV0dXJuIHVwIHRvIDEwIHJlc291cmNlIHNjYW5zXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFJlc291cmNlU2NhbnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFJlc291cmNlU2NhbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RSZXNvdXJjZVNjYW5zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGRyaWZ0IGluZm9ybWF0aW9uIGZvciB0aGUgcmVzb3VyY2VzIHRoYXQgaGF2ZSBiZWVuIGNoZWNrZWQgZm9yIGRyaWZ0IGluIHRoZSBzcGVjaWZpZWQgc3RhY2sgaW5zdGFuY2VcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0U3RhY2tJbnN0YW5jZVJlc291cmNlRHJpZnRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RTdGFja0luc3RhbmNlUmVzb3VyY2VEcmlmdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RTdGFja0luc3RhbmNlUmVzb3VyY2VEcmlmdHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gc3VtbWFyeSBpbmZvcm1hdGlvbiBhYm91dCBzdGFjayBpbnN0YW5jZXMgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgc3RhY2sgc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFN0YWNrU2V0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0U3RhY2tJbnN0YW5jZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RTdGFja0luc3RhbmNlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgbGlzdCBvZiBhY3Rpb25zIG9mIHRoZSBzcGVjaWZpZWQgc3RhY2sgcmVmYWN0b3JcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0U3RhY2tSZWZhY3RvckFjdGlvbnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFN0YWNrUmVmYWN0b3JBY3Rpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0U3RhY2tSZWZhY3RvckFjdGlvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIElEIGFuZCBzdGF0dXMgb2YgZWFjaCBhY3RpdmUgc3RhY2sgcmVmYWN0b3JcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0U3RhY2tSZWZhY3RvcnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFN0YWNrUmVmYWN0b3JzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0U3RhY2tSZWZhY3RvcnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gZGVzY3JpcHRpb25zIG9mIGFsbCByZXNvdXJjZXMgb2YgdGhlIHNwZWNpZmllZCBzdGFja1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RTdGFja1Jlc291cmNlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0U3RhY2tSZXNvdXJjZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RTdGFja1Jlc291cmNlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBzdW1tYXJ5IGluZm9ybWF0aW9uIGFib3V0IFN0YWNrU2V0IEF1dG8gRGVwbG95bWVudCBUYXJnZXRzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFN0YWNrU2V0QXV0b0RlcGxveW1lbnRUYXJnZXRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RTdGFja1NldEF1dG9EZXBsb3ltZW50VGFyZ2V0cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFN0YWNrU2V0QXV0b0RlcGxveW1lbnRUYXJnZXRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHN1bW1hcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlc3VsdHMgb2YgYSBzdGFjayBzZXQgb3BlcmF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFN0YWNrU2V0T3BlcmF0aW9uUmVzdWx0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0U3RhY2tTZXRPcGVyYXRpb25SZXN1bHRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0U3RhY2tTZXRPcGVyYXRpb25SZXN1bHRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHN1bW1hcnkgaW5mb3JtYXRpb24gYWJvdXQgb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gYSBzdGFjayBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0U3RhY2tTZXRPcGVyYXRpb25zLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RTdGFja1NldE9wZXJhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RTdGFja1NldE9wZXJhdGlvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gc3VtbWFyeSBpbmZvcm1hdGlvbiBhYm91dCBzdGFjayBzZXRzIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlclxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RTdGFja1NldHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFN0YWNrU2V0cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFN0YWNrU2V0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgc3VtbWFyeSBpbmZvcm1hdGlvbiBmb3Igc3RhY2tzIHdob3NlIHN0YXR1cyBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgU3RhY2tTdGF0dXNGaWx0ZXIuIEluIGNvbWJpbmF0aW9uIHdpdGggdGhlIERlc2NyaWJlU3RhY2tzIGFjdGlvbiwgZ3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBkZXNjcmlwdGlvbnMgZm9yIHN0YWNrc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RTdGFja3MuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFN0YWNrcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFN0YWNrcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgQ2xvdWRGb3JtYXRpb24gdHlwZSByZWdpc3RyYXRpb24gYXR0ZW1wdHNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0VHlwZVJlZ2lzdHJhdGlvbnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFR5cGVSZWdpc3RyYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0VHlwZVJlZ2lzdHJhdGlvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHZlcnNpb25zIG9mIGEgcGFydGljdWxhciBDbG91ZEZvcm1hdGlvbiB0eXBlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFR5cGVWZXJzaW9ucy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0VHlwZVZlcnNpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0VHlwZVZlcnNpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBhdmFpbGFibGUgQ2xvdWRGb3JtYXRpb24gdHlwZXNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0VHlwZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFR5cGVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0VHlwZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBwdWJsaXNoIHRoZSBzcGVjaWZpZWQgZXh0ZW5zaW9uIHRvIHRoZSBDbG91ZEZvcm1hdGlvbiByZWdpc3RyeSBhcyBhIHB1YmxpYyBleHRlbnNpb24gaW4gdGhpcyByZWdpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUHVibGlzaFR5cGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHVibGlzaFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1Ymxpc2hUeXBlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVjb3JkIHRoZSBoYW5kbGVyIHByb2dyZXNzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1JlY29yZEhhbmRsZXJQcm9ncmVzcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9SZWNvcmRIYW5kbGVyUHJvZ3Jlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1JlY29yZEhhbmRsZXJQcm9ncmVzcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlZ2lzdGVyIGFjY291bnQgYXMgYSBwdWJsaXNoZXIgb2YgcHVibGljIGV4dGVuc2lvbnMgaW4gdGhlIENsb3VkRm9ybWF0aW9uIHJlZ2lzdHJ5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1JlZ2lzdGVyUHVibGlzaGVyLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1JlZ2lzdGVyUHVibGlzaGVyKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdSZWdpc3RlclB1Ymxpc2hlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlZ2lzdGVyIGEgbmV3IENsb3VkRm9ybWF0aW9uIHR5cGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUmVnaXN0ZXJUeXBlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1JlZ2lzdGVyVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUmVnaXN0ZXJUeXBlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcm9sbGJhY2sgdGhlIHN0YWNrIHRvIHRoZSBsYXN0IHN0YWJsZSBzdGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmUm9sZUFybigpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9Sb2xsYmFja1N0YWNrLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1JvbGxiYWNrU3RhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1JvbGxiYWNrU3RhY2snKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzZXQgYSBzdGFjayBwb2xpY3kgZm9yIGEgc3BlY2lmaWVkIHN0YWNrXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUGVybWlzc2lvbnMgbWFuYWdlbWVudFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlN0YWNrUG9saWN5VXJsKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1NldFN0YWNrUG9saWN5Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1NldFN0YWNrUG9saWN5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTZXRTdGFja1BvbGljeScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHNldCB0aGUgY29uZmlndXJhdGlvbiBkYXRhIGZvciBhIHJlZ2lzdGVyZWQgQ2xvdWRGb3JtYXRpb24gZXh0ZW5zaW9uLCBpbiB0aGUgZ2l2ZW4gYWNjb3VudCBhbmQgcmVnaW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1NldFR5cGVDb25maWd1cmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1NldFR5cGVDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTZXRUeXBlQ29uZmlndXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHNldCB3aGljaCB2ZXJzaW9uIG9mIGEgQ2xvdWRGb3JtYXRpb24gdHlwZSBhcHBsaWVzIHRvIENsb3VkRm9ybWF0aW9uIG9wZXJhdGlvbnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfU2V0VHlwZURlZmF1bHRWZXJzaW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1NldFR5cGVEZWZhdWx0VmVyc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU2V0VHlwZURlZmF1bHRWZXJzaW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gc2VuZCBhIHNpZ25hbCB0byB0aGUgc3BlY2lmaWVkIHJlc291cmNlIHdpdGggYSBzdWNjZXNzIG9yIGZhaWx1cmUgc3RhdHVzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1NpZ25hbFJlc291cmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1NpZ25hbFJlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTaWduYWxSZXNvdXJjZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHN0YXJ0IGEgc2NhbiBvZiB0aGUgcmVzb3VyY2VzIGluIHRoaXMgYWNjb3VudCBpbiB0aGlzIFJlZ2lvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9TdGFydFJlc291cmNlU2Nhbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TdGFydFJlc291cmNlU2NhbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU3RhcnRSZXNvdXJjZVNjYW4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzdG9wIGFuIGluLXByb2dyZXNzIG9wZXJhdGlvbiBvbiBhIHN0YWNrIHNldCBhbmQgaXRzIGFzc29jaWF0ZWQgc3RhY2sgaW5zdGFuY2VzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1N0b3BTdGFja1NldE9wZXJhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TdG9wU3RhY2tTZXRPcGVyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1N0b3BTdGFja1NldE9wZXJhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHRhZyBjbG91ZGZvcm1hdGlvbiByZXNvdXJjZXNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBUYWdnaW5nXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqIC0gLmlmQXdzUmVxdWVzdFRhZygpXG4gICAqIC0gLmlmQ3JlYXRlQWN0aW9uKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1RhZ1Jlc291cmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1RhZ1Jlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdUYWdSZXNvdXJjZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHRlc3QgYSByZWdpc3RlcmVkIGV4dGVuc2lvbiB0byBtYWtlIHN1cmUgaXQgbWVldHMgYWxsIG5lY2Vzc2FyeSByZXF1aXJlbWVudHMgZm9yIGJlaW5nIHB1Ymxpc2hlZCBpbiB0aGUgQ2xvdWRGb3JtYXRpb24gcmVnaXN0cnlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVGVzdFR5cGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVGVzdFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1Rlc3RUeXBlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdW50YWcgY2xvdWRmb3JtYXRpb24gcmVzb3VyY2VzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogVGFnZ2luZ1xuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKiAtIC5pZkNyZWF0ZUFjdGlvbigpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VbnRhZ1Jlc291cmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VudGFnUmVzb3VyY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VudGFnUmVzb3VyY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgYSBnZW5lcmF0ZWQgdGVtcGxhdGUuIFRoaXMgY2FuIGJlIHVzZWQgdG8gY2hhbmdlIHRoZSBuYW1lLCBhZGQgYW5kIHJlbW92ZSByZXNvdXJjZXMsIHJlZnJlc2ggcmVzb3VyY2VzLCBhbmQgY2hhbmdlIHRoZSBEZWxldGlvblBvbGljeSBhbmQgVXBkYXRlUmVwbGFjZVBvbGljeSBzZXR0aW5nc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VcGRhdGVHZW5lcmF0ZWRUZW1wbGF0ZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVHZW5lcmF0ZWRUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlR2VuZXJhdGVkVGVtcGxhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgYSBzdGFjayBhcyBzcGVjaWZpZWQgaW4gdGhlIHRlbXBsYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZSZXNvdXJjZVR5cGVzKClcbiAgICogLSAuaWZSb2xlQXJuKClcbiAgICogLSAuaWZTdGFja1BvbGljeVVybCgpXG4gICAqIC0gLmlmVGVtcGxhdGVVcmwoKVxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVXBkYXRlU3RhY2suaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlU3RhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZVN0YWNrJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHRoZSBwYXJhbWV0ZXIgdmFsdWVzIGZvciBzdGFjayBpbnN0YW5jZXMgZm9yIHRoZSBzcGVjaWZpZWQgYWNjb3VudHMsIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHJlZ2lvbnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlRhcmdldFJlZ2lvbigpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VcGRhdGVTdGFja0luc3RhbmNlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVTdGFja0luc3RhbmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlU3RhY2tJbnN0YW5jZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgYSBzdGFja3NldCBhcyBzcGVjaWZpZWQgaW4gdGhlIHRlbXBsYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZSb2xlQXJuKClcbiAgICogLSAuaWZUZW1wbGF0ZVVybCgpXG4gICAqIC0gLmlmVGFyZ2V0UmVnaW9uKClcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VwZGF0ZVN0YWNrU2V0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZVN0YWNrU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVTdGFja1NldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSB0ZXJtaW5hdGlvbiBwcm90ZWN0aW9uIGZvciB0aGUgc3BlY2lmaWVkIHN0YWNrXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VwZGF0ZVRlcm1pbmF0aW9uUHJvdGVjdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVUZXJtaW5hdGlvblByb3RlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZVRlcm1pbmF0aW9uUHJvdGVjdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHZhbGlkYXRlIGEgc3BlY2lmaWVkIHRlbXBsYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlRlbXBsYXRlVXJsKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1ZhbGlkYXRlVGVtcGxhdGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVmFsaWRhdGVUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVmFsaWRhdGVUZW1wbGF0ZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFjY2Vzc0xldmVsTGlzdDogQWNjZXNzTGV2ZWxMaXN0ID0ge1xuICAgIFdyaXRlOiBbXG4gICAgICAnQWN0aXZhdGVPcmdhbml6YXRpb25zQWNjZXNzJyxcbiAgICAgICdBY3RpdmF0ZVR5cGUnLFxuICAgICAgJ0NhbmNlbFVwZGF0ZVN0YWNrJyxcbiAgICAgICdDb250aW51ZVVwZGF0ZVJvbGxiYWNrJyxcbiAgICAgICdDcmVhdGVDaGFuZ2VTZXQnLFxuICAgICAgJ0NyZWF0ZUdlbmVyYXRlZFRlbXBsYXRlJyxcbiAgICAgICdDcmVhdGVTdGFjaycsXG4gICAgICAnQ3JlYXRlU3RhY2tJbnN0YW5jZXMnLFxuICAgICAgJ0NyZWF0ZVN0YWNrUmVmYWN0b3InLFxuICAgICAgJ0NyZWF0ZVN0YWNrU2V0JyxcbiAgICAgICdDcmVhdGVVcGxvYWRCdWNrZXQnLFxuICAgICAgJ0RlYWN0aXZhdGVPcmdhbml6YXRpb25zQWNjZXNzJyxcbiAgICAgICdEZWFjdGl2YXRlVHlwZScsXG4gICAgICAnRGVsZXRlQ2hhbmdlU2V0JyxcbiAgICAgICdEZWxldGVHZW5lcmF0ZWRUZW1wbGF0ZScsXG4gICAgICAnRGVsZXRlU3RhY2snLFxuICAgICAgJ0RlbGV0ZVN0YWNrSW5zdGFuY2VzJyxcbiAgICAgICdEZWxldGVTdGFja1NldCcsXG4gICAgICAnRGVyZWdpc3RlclR5cGUnLFxuICAgICAgJ0V4ZWN1dGVDaGFuZ2VTZXQnLFxuICAgICAgJ0V4ZWN1dGVTdGFja1JlZmFjdG9yJyxcbiAgICAgICdJbXBvcnRTdGFja3NUb1N0YWNrU2V0JyxcbiAgICAgICdQdWJsaXNoVHlwZScsXG4gICAgICAnUmVjb3JkSGFuZGxlclByb2dyZXNzJyxcbiAgICAgICdSZWdpc3RlclB1Ymxpc2hlcicsXG4gICAgICAnUmVnaXN0ZXJUeXBlJyxcbiAgICAgICdSb2xsYmFja1N0YWNrJyxcbiAgICAgICdTZXRUeXBlQ29uZmlndXJhdGlvbicsXG4gICAgICAnU2V0VHlwZURlZmF1bHRWZXJzaW9uJyxcbiAgICAgICdTaWduYWxSZXNvdXJjZScsXG4gICAgICAnU3RhcnRSZXNvdXJjZVNjYW4nLFxuICAgICAgJ1N0b3BTdGFja1NldE9wZXJhdGlvbicsXG4gICAgICAnVGVzdFR5cGUnLFxuICAgICAgJ1VwZGF0ZUdlbmVyYXRlZFRlbXBsYXRlJyxcbiAgICAgICdVcGRhdGVTdGFjaycsXG4gICAgICAnVXBkYXRlU3RhY2tJbnN0YW5jZXMnLFxuICAgICAgJ1VwZGF0ZVN0YWNrU2V0JyxcbiAgICAgICdVcGRhdGVUZXJtaW5hdGlvblByb3RlY3Rpb24nXG4gICAgXSxcbiAgICBSZWFkOiBbXG4gICAgICAnQmF0Y2hEZXNjcmliZVR5cGVDb25maWd1cmF0aW9ucycsXG4gICAgICAnRGVzY3JpYmVBY2NvdW50TGltaXRzJyxcbiAgICAgICdEZXNjcmliZUNoYW5nZVNldCcsXG4gICAgICAnRGVzY3JpYmVDaGFuZ2VTZXRIb29rcycsXG4gICAgICAnRGVzY3JpYmVHZW5lcmF0ZWRUZW1wbGF0ZScsXG4gICAgICAnRGVzY3JpYmVPcmdhbml6YXRpb25zQWNjZXNzJyxcbiAgICAgICdEZXNjcmliZVB1Ymxpc2hlcicsXG4gICAgICAnRGVzY3JpYmVSZXNvdXJjZVNjYW4nLFxuICAgICAgJ0Rlc2NyaWJlU3RhY2tEcmlmdERldGVjdGlvblN0YXR1cycsXG4gICAgICAnRGVzY3JpYmVTdGFja0V2ZW50cycsXG4gICAgICAnRGVzY3JpYmVTdGFja0luc3RhbmNlJyxcbiAgICAgICdEZXNjcmliZVN0YWNrUmVmYWN0b3InLFxuICAgICAgJ0Rlc2NyaWJlU3RhY2tSZXNvdXJjZScsXG4gICAgICAnRGVzY3JpYmVTdGFja1Jlc291cmNlRHJpZnRzJyxcbiAgICAgICdEZXNjcmliZVN0YWNrUmVzb3VyY2VzJyxcbiAgICAgICdEZXNjcmliZVN0YWNrU2V0JyxcbiAgICAgICdEZXNjcmliZVN0YWNrU2V0T3BlcmF0aW9uJyxcbiAgICAgICdEZXNjcmliZVR5cGUnLFxuICAgICAgJ0Rlc2NyaWJlVHlwZVJlZ2lzdHJhdGlvbicsXG4gICAgICAnRGV0ZWN0U3RhY2tEcmlmdCcsXG4gICAgICAnRGV0ZWN0U3RhY2tSZXNvdXJjZURyaWZ0JyxcbiAgICAgICdEZXRlY3RTdGFja1NldERyaWZ0JyxcbiAgICAgICdFc3RpbWF0ZVRlbXBsYXRlQ29zdCcsXG4gICAgICAnR2V0R2VuZXJhdGVkVGVtcGxhdGUnLFxuICAgICAgJ0dldFN0YWNrUG9saWN5JyxcbiAgICAgICdHZXRUZW1wbGF0ZScsXG4gICAgICAnR2V0VGVtcGxhdGVTdW1tYXJ5JyxcbiAgICAgICdWYWxpZGF0ZVRlbXBsYXRlJ1xuICAgIF0sXG4gICAgTGlzdDogW1xuICAgICAgJ0Rlc2NyaWJlU3RhY2tzJyxcbiAgICAgICdMaXN0Q2hhbmdlU2V0cycsXG4gICAgICAnTGlzdEV4cG9ydHMnLFxuICAgICAgJ0xpc3RHZW5lcmF0ZWRUZW1wbGF0ZXMnLFxuICAgICAgJ0xpc3RIb29rUmVzdWx0cycsXG4gICAgICAnTGlzdEltcG9ydHMnLFxuICAgICAgJ0xpc3RSZXNvdXJjZVNjYW5SZWxhdGVkUmVzb3VyY2VzJyxcbiAgICAgICdMaXN0UmVzb3VyY2VTY2FuUmVzb3VyY2VzJyxcbiAgICAgICdMaXN0UmVzb3VyY2VTY2FucycsXG4gICAgICAnTGlzdFN0YWNrSW5zdGFuY2VSZXNvdXJjZURyaWZ0cycsXG4gICAgICAnTGlzdFN0YWNrSW5zdGFuY2VzJyxcbiAgICAgICdMaXN0U3RhY2tSZWZhY3RvckFjdGlvbnMnLFxuICAgICAgJ0xpc3RTdGFja1JlZmFjdG9ycycsXG4gICAgICAnTGlzdFN0YWNrUmVzb3VyY2VzJyxcbiAgICAgICdMaXN0U3RhY2tTZXRBdXRvRGVwbG95bWVudFRhcmdldHMnLFxuICAgICAgJ0xpc3RTdGFja1NldE9wZXJhdGlvblJlc3VsdHMnLFxuICAgICAgJ0xpc3RTdGFja1NldE9wZXJhdGlvbnMnLFxuICAgICAgJ0xpc3RTdGFja1NldHMnLFxuICAgICAgJ0xpc3RTdGFja3MnLFxuICAgICAgJ0xpc3RUeXBlUmVnaXN0cmF0aW9ucycsXG4gICAgICAnTGlzdFR5cGVWZXJzaW9ucycsXG4gICAgICAnTGlzdFR5cGVzJ1xuICAgIF0sXG4gICAgJ1Blcm1pc3Npb25zIG1hbmFnZW1lbnQnOiBbXG4gICAgICAnU2V0U3RhY2tQb2xpY3knXG4gICAgXSxcbiAgICBUYWdnaW5nOiBbXG4gICAgICAnVGFnUmVzb3VyY2UnLFxuICAgICAgJ1VudGFnUmVzb3VyY2UnXG4gICAgXVxuICB9O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBjaGFuZ2VzZXQgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9jZm4td2hhdGlzLWNvbmNlcHRzLmh0bWwjdzJhYjFiNWMxNWMxMVxuICAgKlxuICAgKiBAcGFyYW0gY2hhbmdlU2V0TmFtZSAtIElkZW50aWZpZXIgZm9yIHRoZSBjaGFuZ2VTZXROYW1lLlxuICAgKiBAcGFyYW0gaWQgLSBJZGVudGlmaWVyIGZvciB0aGUgaWQuXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHJlZ2lvbiAtIFJlZ2lvbiBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcmVnaW9uLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZXNldChjaGFuZ2VTZXROYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGFjY291bnQ/OiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06Y2xvdWRmb3JtYXRpb246JHsgcmVnaW9uID8/IHRoaXMuZGVmYXVsdFJlZ2lvbiB9OiR7IGFjY291bnQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9OmNoYW5nZVNldC8keyBjaGFuZ2VTZXROYW1lIH0vJHsgaWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIHN0YWNrIHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvY2ZuLXdoYXRpcy1jb25jZXB0cy5odG1sI3cyYWIxYjVjMTViOVxuICAgKlxuICAgKiBAcGFyYW0gc3RhY2tOYW1lIC0gSWRlbnRpZmllciBmb3IgdGhlIHN0YWNrTmFtZS5cbiAgICogQHBhcmFtIGlkIC0gSWRlbnRpZmllciBmb3IgdGhlIGlkLlxuICAgKiBAcGFyYW0gYWNjb3VudCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSByZWdpb24gLSBSZWdpb24gb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHJlZ2lvbi5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXNvdXJjZVRhZygpXG4gICAqL1xuICBwdWJsaWMgb25TdGFjayhzdGFja05hbWU6IHN0cmluZywgaWQ6IHN0cmluZywgYWNjb3VudD86IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpjbG91ZGZvcm1hdGlvbjokeyByZWdpb24gPz8gdGhpcy5kZWZhdWx0UmVnaW9uIH06JHsgYWNjb3VudCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06c3RhY2svJHsgc3RhY2tOYW1lIH0vJHsgaWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIHN0YWNrc2V0IHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvc3RhY2tzZXRzLWNvbmNlcHRzLmh0bWwjc3RhY2tzZXRzLWNvbmNlcHRzLXN0YWNrc2V0XG4gICAqXG4gICAqIEBwYXJhbSBzdGFja1NldE5hbWUgLSBJZGVudGlmaWVyIGZvciB0aGUgc3RhY2tTZXROYW1lLlxuICAgKiBAcGFyYW0gaWQgLSBJZGVudGlmaWVyIGZvciB0aGUgaWQuXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHJlZ2lvbiAtIFJlZ2lvbiBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcmVnaW9uLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICovXG4gIHB1YmxpYyBvblN0YWNrc2V0KHN0YWNrU2V0TmFtZTogc3RyaW5nLCBpZDogc3RyaW5nLCBhY2NvdW50Pzogc3RyaW5nLCByZWdpb24/OiBzdHJpbmcsIHBhcnRpdGlvbj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm9uKGBhcm46JHsgcGFydGl0aW9uID8/IHRoaXMuZGVmYXVsdFBhcnRpdGlvbiB9OmNsb3VkZm9ybWF0aW9uOiR7IHJlZ2lvbiA/PyB0aGlzLmRlZmF1bHRSZWdpb24gfTokeyBhY2NvdW50ID8/IHRoaXMuZGVmYXVsdEFjY291bnQgfTpzdGFja3NldC8keyBzdGFja1NldE5hbWUgfTokeyBpZCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgc3RhY2tzZXQtdGFyZ2V0IHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWxcbiAgICpcbiAgICogQHBhcmFtIHN0YWNrU2V0VGFyZ2V0IC0gSWRlbnRpZmllciBmb3IgdGhlIHN0YWNrU2V0VGFyZ2V0LlxuICAgKiBAcGFyYW0gYWNjb3VudCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSByZWdpb24gLSBSZWdpb24gb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHJlZ2lvbi5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICovXG4gIHB1YmxpYyBvblN0YWNrc2V0VGFyZ2V0KHN0YWNrU2V0VGFyZ2V0OiBzdHJpbmcsIGFjY291bnQ/OiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06Y2xvdWRmb3JtYXRpb246JHsgcmVnaW9uID8/IHRoaXMuZGVmYXVsdFJlZ2lvbiB9OiR7IGFjY291bnQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9OnN0YWNrc2V0LXRhcmdldC8keyBzdGFja1NldFRhcmdldCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgdHlwZSB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL3VzaW5nLWlhbS10ZW1wbGF0ZS5odG1sXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gSWRlbnRpZmllciBmb3IgdGhlIHR5cGUuXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHJlZ2lvbiAtIFJlZ2lvbiBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcmVnaW9uLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKi9cbiAgcHVibGljIG9uVHlwZSh0eXBlOiBzdHJpbmcsIGFjY291bnQ/OiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06Y2xvdWRmb3JtYXRpb246JHsgcmVnaW9uID8/IHRoaXMuZGVmYXVsdFJlZ2lvbiB9OiR7IGFjY291bnQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9OnR5cGUvcmVzb3VyY2UvJHsgdHlwZSB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgZ2VuZXJhdGVkdGVtcGxhdGUgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9nZW5lcmF0ZS1JYUMuaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBJZGVudGlmaWVyIGZvciB0aGUgaWQuXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHJlZ2lvbiAtIFJlZ2lvbiBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcmVnaW9uLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKi9cbiAgcHVibGljIG9uR2VuZXJhdGVkdGVtcGxhdGUoaWQ6IHN0cmluZywgYWNjb3VudD86IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpjbG91ZGZvcm1hdGlvbjokeyByZWdpb24gPz8gdGhpcy5kZWZhdWx0UmVnaW9uIH06JHsgYWNjb3VudCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06Z2VuZXJhdGVkVGVtcGxhdGUvJHsgaWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIHJlc291cmNlc2NhbiB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2dlbmVyYXRlLUlhQy5odG1sXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIElkZW50aWZpZXIgZm9yIHRoZSBpZC5cbiAgICogQHBhcmFtIGFjY291bnQgLSBBY2NvdW50IG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gYCpgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBhY2NvdW50LlxuICAgKiBAcGFyYW0gcmVnaW9uIC0gUmVnaW9uIG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gYCpgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyByZWdpb24uXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqL1xuICBwdWJsaWMgb25SZXNvdXJjZXNjYW4oaWQ6IHN0cmluZywgYWNjb3VudD86IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpjbG91ZGZvcm1hdGlvbjokeyByZWdpb24gPz8gdGhpcy5kZWZhdWx0UmVnaW9uIH06JHsgYWNjb3VudCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06cmVzb3VyY2VTY2FuLyR7IGlkIH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSB0aGUgdGFncyB0aGF0IGFyZSBwYXNzZWQgaW4gdGhlIHJlcXVlc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b0NyZWF0ZUNoYW5nZVNldCgpXG4gICAqIC0gLnRvQ3JlYXRlU3RhY2soKVxuICAgKiAtIC50b0NyZWF0ZVN0YWNrU2V0KClcbiAgICogLSAudG9UYWdSZXNvdXJjZSgpXG4gICAqIC0gLnRvVXBkYXRlU3RhY2soKVxuICAgKiAtIC50b1VwZGF0ZVN0YWNrU2V0KClcbiAgICpcbiAgICogQHBhcmFtIHRhZ0tleSBUaGUgdGFnIGtleSB0byBjaGVja1xuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkF3c1JlcXVlc3RUYWcodGFnS2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBhd3M6UmVxdWVzdFRhZy8keyB0YWdLZXkgfWAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSB0YWdzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVzb3VyY2VcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byByZXNvdXJjZSB0eXBlczpcbiAgICogLSBjaGFuZ2VzZXRcbiAgICogLSBzdGFja1xuICAgKiAtIHN0YWNrc2V0XG4gICAqXG4gICAqIEBwYXJhbSB0YWdLZXkgVGhlIHRhZyBrZXkgdG8gY2hlY2tcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZBd3NSZXNvdXJjZVRhZyh0YWdLZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYGF3czpSZXNvdXJjZVRhZy8keyB0YWdLZXkgfWAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSB0YWcga2V5cyB0aGF0IGFyZSBwYXNzZWQgaW4gdGhlIHJlcXVlc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b0NyZWF0ZUNoYW5nZVNldCgpXG4gICAqIC0gLnRvQ3JlYXRlU3RhY2soKVxuICAgKiAtIC50b0NyZWF0ZVN0YWNrSW5zdGFuY2VzKClcbiAgICogLSAudG9DcmVhdGVTdGFja1NldCgpXG4gICAqIC0gLnRvVGFnUmVzb3VyY2UoKVxuICAgKiAtIC50b1VudGFnUmVzb3VyY2UoKVxuICAgKiAtIC50b1VwZGF0ZVN0YWNrKClcbiAgICogLSAudG9VcGRhdGVTdGFja1NldCgpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmQXdzVGFnS2V5cyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgYXdzOlRhZ0tleXNgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSBhbiBBV1MgQ2xvdWRGb3JtYXRpb24gY2hhbmdlIHNldCBuYW1lLiBVc2UgdG8gY29udHJvbCB3aGljaCBjaGFuZ2Ugc2V0cyBJQU0gdXNlcnMgY2FuIGV4ZWN1dGUgb3IgZGVsZXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL3VzaW5nLWlhbS10ZW1wbGF0ZS5odG1sI3VzaW5nLWlhbS10ZW1wbGF0ZS1jb25kaXRpb25zXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9DcmVhdGVDaGFuZ2VTZXQoKVxuICAgKiAtIC50b0RlbGV0ZUNoYW5nZVNldCgpXG4gICAqIC0gLnRvRGVzY3JpYmVDaGFuZ2VTZXQoKVxuICAgKiAtIC50b0Rlc2NyaWJlQ2hhbmdlU2V0SG9va3MoKVxuICAgKiAtIC50b0V4ZWN1dGVDaGFuZ2VTZXQoKVxuICAgKiAtIC50b0xpc3RIb29rUmVzdWx0cygpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmQ2hhbmdlU2V0TmFtZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgQ2hhbmdlU2V0TmFtZWAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSBuYW1lIG9mIGEgcmVzb3VyY2UtbXV0YXRpbmcgQVBJIGFjdGlvbi4gVXNlIHRvIGNvbnRyb2wgd2hpY2ggQVBJcyBJQU0gdXNlcnMgY2FuIHVzZSB0byBhZGQgb3IgcmVtb3ZlIHRhZ3Mgb24gYSBzdGFjayBvciBzdGFjayBzZXRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b1RhZ1Jlc291cmNlKClcbiAgICogLSAudG9VbnRhZ1Jlc291cmNlKClcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZDcmVhdGVBY3Rpb24odmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYENyZWF0ZUFjdGlvbmAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSB0ZW1wbGF0ZSByZXNvdXJjZSB0eXBlcywgc3VjaCBhcyBBV1M6OkVDMjo6SW5zdGFuY2UuIFVzZSB0byBjb250cm9sIHdoaWNoIHJlc291cmNlIHR5cGVzIElBTSB1c2VycyBjYW4gd29yayB3aXRoIHdoZW4gdGhleSB3YW50IHRvIGltcG9ydCBhIHJlc291cmNlIGludG8gYSBzdGFja1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1pYW0tdGVtcGxhdGUuaHRtbCN1c2luZy1pYW0tdGVtcGxhdGUtY29uZGl0aW9uc1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlQ2hhbmdlU2V0KClcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZJbXBvcnRSZXNvdXJjZVR5cGVzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBJbXBvcnRSZXNvdXJjZVR5cGVzYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgdGhlIHRlbXBsYXRlIHJlc291cmNlIHR5cGVzLCBzdWNoIGFzIEFXUzo6RUMyOjpJbnN0YW5jZS4gVXNlIHRvIGNvbnRyb2wgd2hpY2ggcmVzb3VyY2UgdHlwZXMgSUFNIHVzZXJzIGNhbiB3b3JrIHdpdGggd2hlbiB0aGV5IGNyZWF0ZSBvciB1cGRhdGUgYSBzdGFja1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1pYW0tdGVtcGxhdGUuaHRtbCN1c2luZy1pYW0tdGVtcGxhdGUtY29uZGl0aW9uc1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlQ2hhbmdlU2V0KClcbiAgICogLSAudG9DcmVhdGVTdGFjaygpXG4gICAqIC0gLnRvVXBkYXRlU3RhY2soKVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZlJlc291cmNlVHlwZXModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYFJlc291cmNlVHlwZXNgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSB0aGUgQVJOIG9mIGFuIElBTSBzZXJ2aWNlIHJvbGUuIFVzZSB0byBjb250cm9sIHdoaWNoIHNlcnZpY2Ugcm9sZSBJQU0gdXNlcnMgY2FuIHVzZSB0byB3b3JrIHdpdGggc3RhY2tzIG9yIGNoYW5nZSBzZXRzXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL3VzaW5nLWlhbS10ZW1wbGF0ZS5odG1sI3VzaW5nLWlhbS10ZW1wbGF0ZS1jb25kaXRpb25zXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9Db250aW51ZVVwZGF0ZVJvbGxiYWNrKClcbiAgICogLSAudG9DcmVhdGVDaGFuZ2VTZXQoKVxuICAgKiAtIC50b0NyZWF0ZVN0YWNrKClcbiAgICogLSAudG9DcmVhdGVTdGFja1NldCgpXG4gICAqIC0gLnRvRGVsZXRlU3RhY2soKVxuICAgKiAtIC50b1JvbGxiYWNrU3RhY2soKVxuICAgKiAtIC50b1VwZGF0ZVN0YWNrKClcbiAgICogLSAudG9VcGRhdGVTdGFja1NldCgpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW2FybiBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfQVJOKS4gKipEZWZhdWx0OioqIGBBcm5MaWtlYFxuICAgKi9cbiAgcHVibGljIGlmUm9sZUFybih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgUm9sZUFybmAsIHZhbHVlLCBvcGVyYXRvciA/PyAnQXJuTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IGFuIEFtYXpvbiBTMyBzdGFjayBwb2xpY3kgVVJMLiBVc2UgdG8gY29udHJvbCB3aGljaCBzdGFjayBwb2xpY2llcyBJQU0gdXNlcnMgY2FuIGFzc29jaWF0ZSB3aXRoIGEgc3RhY2sgZHVyaW5nIGEgY3JlYXRlIG9yIHVwZGF0ZSBzdGFjayBhY3Rpb25cbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b0NyZWF0ZUNoYW5nZVNldCgpXG4gICAqIC0gLnRvQ3JlYXRlU3RhY2soKVxuICAgKiAtIC50b1NldFN0YWNrUG9saWN5KClcbiAgICogLSAudG9VcGRhdGVTdGFjaygpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmU3RhY2tQb2xpY3lVcmwodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYFN0YWNrUG9saWN5VXJsYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgc3RhY2sgc2V0IHRhcmdldCByZWdpb24uIFVzZSB0byBjb250cm9sIHdoaWNoIHJlZ2lvbnMgSUFNIHVzZXJzIGNhbiB1c2Ugd2hlbiB0aGV5IGNyZWF0ZSBvciB1cGRhdGUgc3RhY2sgc2V0c1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1pYW0tdGVtcGxhdGUuaHRtbCN1c2luZy1pYW0tdGVtcGxhdGUtY29uZGl0aW9uc1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlU3RhY2tJbnN0YW5jZXMoKVxuICAgKiAtIC50b0RlbGV0ZVN0YWNrSW5zdGFuY2VzKClcbiAgICogLSAudG9VcGRhdGVTdGFja0luc3RhbmNlcygpXG4gICAqIC0gLnRvVXBkYXRlU3RhY2tTZXQoKVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZlRhcmdldFJlZ2lvbih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgVGFyZ2V0UmVnaW9uYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgYW4gQW1hem9uIFMzIHRlbXBsYXRlIFVSTC4gVXNlIHRvIGNvbnRyb2wgd2hpY2ggdGVtcGxhdGVzIElBTSB1c2VycyBjYW4gdXNlIHdoZW4gdGhleSBjcmVhdGUgb3IgdXBkYXRlIHN0YWNrc1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1pYW0tdGVtcGxhdGUuaHRtbCN1c2luZy1pYW0tdGVtcGxhdGUtY29uZGl0aW9uc1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlQ2hhbmdlU2V0KClcbiAgICogLSAudG9DcmVhdGVTdGFjaygpXG4gICAqIC0gLnRvQ3JlYXRlU3RhY2tTZXQoKVxuICAgKiAtIC50b0VzdGltYXRlVGVtcGxhdGVDb3N0KClcbiAgICogLSAudG9HZXRUZW1wbGF0ZVN1bW1hcnkoKVxuICAgKiAtIC50b1VwZGF0ZVN0YWNrKClcbiAgICogLSAudG9VcGRhdGVTdGFja1NldCgpXG4gICAqIC0gLnRvVmFsaWRhdGVUZW1wbGF0ZSgpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmVGVtcGxhdGVVcmwodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYFRlbXBsYXRlVXJsYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtjbG91ZGZvcm1hdGlvbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzY2xvdWRmb3JtYXRpb24uaHRtbCkuXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IGlhbS5Qb2xpY3lTdGF0ZW1lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxufVxuIl19
|
|
1460
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmb3JtYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZvcm1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBeUQ7QUFHekQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLHdCQUFlO0lBR2pEOzs7Ozs7T0FNRztJQUNJLDZCQUE2QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGlDQUFpQztRQUN0QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx5QkFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0ksYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxzQkFBc0I7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QkFDcEIsa0JBQWtCO2FBQ25CO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLGdCQUFnQjtnQkFDaEIsb0JBQW9CO2dCQUNwQixnQkFBZ0I7Z0JBQ2hCLGFBQWE7Z0JBQ2Isd0JBQXdCO2dCQUN4QixpQkFBaUI7Z0JBQ2pCLGFBQWE7Z0JBQ2Isa0NBQWtDO2dCQUNsQywyQkFBMkI7Z0JBQzNCLG1CQUFtQjtnQkFDbkIsaUNBQWlDO2dCQUNqQyxvQkFBb0I7Z0JBQ3BCLDBCQUEwQjtnQkFDMUIsb0JBQW9CO2dCQUNwQixvQkFBb0I7Z0JBQ3BCLG1DQUFtQztnQkFDbkMsOEJBQThCO2dCQUM5Qix3QkFBd0I7Z0JBQ3hCLGVBQWU7Z0JBQ2YsWUFBWTtnQkFDWix1QkFBdUI7Z0JBQ3ZCLGtCQUFrQjtnQkFDbEIsV0FBVzthQUNaO1lBQ0Qsd0JBQXdCLEVBQUU7Z0JBQ3hCLGdCQUFnQjthQUNqQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxhQUFhO2dCQUNiLGVBQWU7YUFDaEI7U0FDRixDQUFDO0lBc1ZGLENBQUM7Q0FDRjtBQXpoREQsd0NBeWhEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBPcGVyYXRvciB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBhd3NfaWFtIGFzIGlhbSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbY2xvdWRmb3JtYXRpb25dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2F3c2Nsb3VkZm9ybWF0aW9uLmh0bWwpLlxuICpcbiAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRmb3JtYXRpb24gZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdjbG91ZGZvcm1hdGlvbic7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFjdGl2YXRlIHRydXN0ZWQgYWNjZXNzIGJldHdlZW4gU3RhY2tTZXRzIGFuZCBPcmdhbml6YXRpb25zLiBXaXRoIHRydXN0ZWQgYWNjZXNzIGJldHdlZW4gU3RhY2tTZXRzIGFuZCBPcmdhbml6YXRpb25zIGFjdGl2YXRlZCwgdGhlIG1hbmFnZW1lbnQgYWNjb3VudCBoYXMgcGVybWlzc2lvbnMgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgU3RhY2tTZXRzIGZvciB5b3VyIG9yZ2FuaXphdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9BY3RpdmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3MuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQWN0aXZhdGVPcmdhbml6YXRpb25zQWNjZXNzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdBY3RpdmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhY3RpdmF0ZSBhIHB1YmxpYyB0aGlyZC1wYXJ0eSBleHRlbnNpb24sIG1ha2luZyBpdCBhdmFpbGFibGUgZm9yIHVzZSBpbiBzdGFjayB0ZW1wbGF0ZXNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQWN0aXZhdGVUeXBlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0FjdGl2YXRlVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQWN0aXZhdGVUeXBlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgdGhlIHNwZWNpZmllZCBDbG91ZEZvcm1hdGlvbiBleHRlbnNpb25zXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQmF0Y2hEZXNjcmliZVR5cGVDb25maWd1cmF0aW9ucy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9CYXRjaERlc2NyaWJlVHlwZUNvbmZpZ3VyYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdCYXRjaERlc2NyaWJlVHlwZUNvbmZpZ3VyYXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY2FuY2VsIGFuIHVwZGF0ZSBvbiB0aGUgc3BlY2lmaWVkIHN0YWNrXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NhbmNlbFVwZGF0ZVN0YWNrLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NhbmNlbFVwZGF0ZVN0YWNrKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDYW5jZWxVcGRhdGVTdGFjaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNvbnRpbnVlIHJvbGxpbmcgYmFjayBhIHN0YWNrIHRoYXQgaXMgaW4gdGhlIFVQREFURV9ST0xMQkFDS19GQUlMRUQgc3RhdGUgdG8gdGhlIFVQREFURV9ST0xMQkFDS19DT01QTEVURSBzdGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmUm9sZUFybigpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9Db250aW51ZVVwZGF0ZVJvbGxiYWNrLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NvbnRpbnVlVXBkYXRlUm9sbGJhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NvbnRpbnVlVXBkYXRlUm9sbGJhY2snKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBsaXN0IG9mIGNoYW5nZXMgZm9yIGEgc3RhY2tcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkNoYW5nZVNldE5hbWUoKVxuICAgKiAtIC5pZlJlc291cmNlVHlwZXMoKVxuICAgKiAtIC5pZkltcG9ydFJlc291cmNlVHlwZXMoKVxuICAgKiAtIC5pZlJvbGVBcm4oKVxuICAgKiAtIC5pZlN0YWNrUG9saWN5VXJsKClcbiAgICogLSAuaWZUZW1wbGF0ZVVybCgpXG4gICAqIC0gLmlmQXdzUmVxdWVzdFRhZygpXG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVDaGFuZ2VTZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlQ2hhbmdlU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVDaGFuZ2VTZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSB0ZW1wbGF0ZSBmcm9tIGV4aXN0aW5nIHJlc291cmNlcyB0aGF0IGFyZSBub3QgYWxyZWFkeSBtYW5hZ2VkIHdpdGggQ2xvdWRGb3JtYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlR2VuZXJhdGVkVGVtcGxhdGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlR2VuZXJhdGVkVGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZUdlbmVyYXRlZFRlbXBsYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGEgc3RhY2sgYXMgc3BlY2lmaWVkIGluIHRoZSB0ZW1wbGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmUmVzb3VyY2VUeXBlcygpXG4gICAqIC0gLmlmUm9sZUFybigpXG4gICAqIC0gLmlmU3RhY2tQb2xpY3lVcmwoKVxuICAgKiAtIC5pZlRlbXBsYXRlVXJsKClcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZVN0YWNrLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVN0YWNrKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVTdGFjaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBzdGFjayBpbnN0YW5jZXMgZm9yIHRoZSBzcGVjaWZpZWQgYWNjb3VudHMsIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHJlZ2lvbnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKiAtIC5pZlRhcmdldFJlZ2lvbigpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVTdGFja0luc3RhbmNlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVTdGFja0luc3RhbmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlU3RhY2tJbnN0YW5jZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBzdGFjayByZWZhY3RvclxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVTdGFja1JlZmFjdG9yLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVN0YWNrUmVmYWN0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVN0YWNrUmVmYWN0b3InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBzdGFja3NldCBhcyBzcGVjaWZpZWQgaW4gdGhlIHRlbXBsYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZSb2xlQXJuKClcbiAgICogLSAuaWZUZW1wbGF0ZVVybCgpXG4gICAqIC0gLmlmQXdzUmVxdWVzdFRhZygpXG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVTdGFja1NldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVTdGFja1NldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlU3RhY2tTZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGxvYWQgdGVtcGxhdGVzIHRvIEFtYXpvbiBTMyBidWNrZXRzLiBVc2VkIG9ubHkgYnkgdGhlIEFXUyBDbG91ZEZvcm1hdGlvbiBjb25zb2xlIGFuZCBpcyBub3QgZG9jdW1lbnRlZCBpbiB0aGUgQVBJIHJlZmVyZW5jZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL3VzaW5nLWlhbS10ZW1wbGF0ZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVVcGxvYWRCdWNrZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVVwbG9hZEJ1Y2tldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlYWN0aXZhdGUgdHJ1c3RlZCBhY2Nlc3MgYmV0d2VlbiBTdGFja1NldHMgYW5kIE9yZ2FuaXphdGlvbnMuIElmIHRydXN0ZWQgYWNjZXNzIGlzIGRlYWN0aXZhdGVkLCB0aGUgbWFuYWdlbWVudCBhY2NvdW50IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbnMgdG8gY3JlYXRlIGFuZCBtYW5hZ2Ugc2VydmljZS1tYW5hZ2VkIFN0YWNrU2V0cyBmb3IgeW91ciBvcmdhbml6YXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVhY3RpdmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3MuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVhY3RpdmF0ZU9yZ2FuaXphdGlvbnNBY2Nlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlYWN0aXZhdGVPcmdhbml6YXRpb25zQWNjZXNzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVhY3RpdmF0ZSBhIHB1YmxpYyBleHRlbnNpb24gdGhhdCB3YXMgcHJldmlvdXNseSBhY3RpdmF0ZWQgaW4gdGhpcyBhY2NvdW50IGFuZCByZWdpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVhY3RpdmF0ZVR5cGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVhY3RpdmF0ZVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlYWN0aXZhdGVUeXBlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIHRoZSBzcGVjaWZpZWQgY2hhbmdlIHNldC4gRGVsZXRpbmcgY2hhbmdlIHNldHMgZW5zdXJlcyB0aGF0IG5vIG9uZSBleGVjdXRlcyB0aGUgd3JvbmcgY2hhbmdlIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQ2hhbmdlU2V0TmFtZSgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVDaGFuZ2VTZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlQ2hhbmdlU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVDaGFuZ2VTZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYSBnZW5lcmF0ZWQgdGVtcGxhdGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVsZXRlR2VuZXJhdGVkVGVtcGxhdGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlR2VuZXJhdGVkVGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUdlbmVyYXRlZFRlbXBsYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGEgc3BlY2lmaWVkIHN0YWNrXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZSb2xlQXJuKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZVN0YWNrLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZVN0YWNrKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVTdGFjaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBzdGFjayBpbnN0YW5jZXMgZm9yIHRoZSBzcGVjaWZpZWQgYWNjb3VudHMsIGluIHRoZSBzcGVjaWZpZWQgcmVnaW9uc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmVGFyZ2V0UmVnaW9uKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlbGV0ZVN0YWNrSW5zdGFuY2VzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZVN0YWNrSW5zdGFuY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVTdGFja0luc3RhbmNlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIHNwZWNpZmllZCBzdGFja3NldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZWxldGVTdGFja1NldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVTdGFja1NldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlU3RhY2tTZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXJlZ2lzdGVyIGFuIGV4aXN0aW5nIENsb3VkRm9ybWF0aW9uIHR5cGUgb3IgdHlwZSB2ZXJzaW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RlcmVnaXN0ZXJUeXBlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlcmVnaXN0ZXJUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXJlZ2lzdGVyVHlwZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIHlvdXIgYWNjb3VudCdzIEFXUyBDbG91ZEZvcm1hdGlvbiBsaW1pdHNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUFjY291bnRMaW1pdHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVBY2NvdW50TGltaXRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUFjY291bnRMaW1pdHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgc3BlY2lmaWVkIGNoYW5nZSBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQ2hhbmdlU2V0TmFtZSgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZUNoYW5nZVNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUNoYW5nZVNldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVDaGFuZ2VTZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIEhvb2sgaW52b2NhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBjaGFuZ2Ugc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkNoYW5nZVNldE5hbWUoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVDaGFuZ2VTZXRIb29rcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUNoYW5nZVNldEhvb2tzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUNoYW5nZVNldEhvb2tzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVzY3JpYmUgYSBnZW5lcmF0ZWQgdGVtcGxhdGUuIFRoZSBvdXRwdXQgaW5jbHVkZXMgZGV0YWlscyBhYm91dCB0aGUgcHJvZ3Jlc3Mgb2YgdGhlIGNyZWF0aW9uIG9mIGEgZ2VuZXJhdGVkIHRlbXBsYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVHZW5lcmF0ZWRUZW1wbGF0ZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZUdlbmVyYXRlZFRlbXBsYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZUdlbmVyYXRlZFRlbXBsYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhY2NvdW50J3MgT3JnYW5pemF0aW9uQWNjZXNzIHN0YXR1c1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlT3JnYW5pemF0aW9uc0FjY2Vzcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZU9yZ2FuaXphdGlvbnNBY2Nlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlT3JnYW5pemF0aW9uc0FjY2VzcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBpbmZvcm1hdGlvbiBhYm91dCBhIENsb3VkRm9ybWF0aW9uIGV4dGVuc2lvbiBwdWJsaXNoZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVB1Ymxpc2hlci5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVB1Ymxpc2hlcigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVQdWJsaXNoZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXNjcmliZSBkZXRhaWxzIG9mIGEgcmVzb3VyY2Ugc2NhblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlUmVzb3VyY2VTY2FuLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlUmVzb3VyY2VTY2FuKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVJlc291cmNlU2NhbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBpbmZvcm1hdGlvbiBhYm91dCBhIHN0YWNrIGRyaWZ0IGRldGVjdGlvbiBvcGVyYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVN0YWNrRHJpZnREZXRlY3Rpb25TdGF0dXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdGFja0RyaWZ0RGV0ZWN0aW9uU3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVN0YWNrRHJpZnREZXRlY3Rpb25TdGF0dXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gYWxsIHN0YWNrIHJlbGF0ZWQgZXZlbnRzIGZvciBhIHNwZWNpZmllZCBzdGFja1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlU3RhY2tFdmVudHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdGFja0V2ZW50cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVTdGFja0V2ZW50cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgc3RhY2sgaW5zdGFuY2UgdGhhdCdzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHN0YWNrIHNldCwgQVdTIGFjY291bnQsIGFuZCByZWdpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVN0YWNrSW5zdGFuY2UuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdGFja0luc3RhbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVN0YWNrSW5zdGFuY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgc3BlY2lmaWVkIHN0YWNrIHJlZmFjdG9yXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVTdGFja1JlZmFjdG9yLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlU3RhY2tSZWZhY3RvcigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVTdGFja1JlZmFjdG9yJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGEgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBpbiB0aGUgc3BlY2lmaWVkIHN0YWNrXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVTdGFja1Jlc291cmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlU3RhY2tSZXNvdXJjZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVzY3JpYmVTdGFja1Jlc291cmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGRyaWZ0IGluZm9ybWF0aW9uIGZvciB0aGUgcmVzb3VyY2VzIHRoYXQgaGF2ZSBiZWVuIGNoZWNrZWQgZm9yIGRyaWZ0IGluIHRoZSBzcGVjaWZpZWQgc3RhY2tcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVN0YWNrUmVzb3VyY2VEcmlmdHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVTdGFja1Jlc291cmNlRHJpZnRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVN0YWNrUmVzb3VyY2VEcmlmdHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gQVdTIHJlc291cmNlIGRlc2NyaXB0aW9ucyBmb3IgcnVubmluZyBhbmQgZGVsZXRlZCBzdGFja3NcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVN0YWNrUmVzb3VyY2VzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlU3RhY2tSZXNvdXJjZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlU3RhY2tSZXNvdXJjZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzcGVjaWZpZWQgc3RhY2sgc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRGVzY3JpYmVTdGFja1NldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXNjcmliZVN0YWNrU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVN0YWNrU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc3BlY2lmaWVkIHN0YWNrIHNldCBvcGVyYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVN0YWNrU2V0T3BlcmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlU3RhY2tTZXRPcGVyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rlc2NyaWJlU3RhY2tTZXRPcGVyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgc3BlY2lmaWVkIHN0YWNrLCBhbmQgdG8gYWxsIHN0YWNrcyB3aGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgTGlzdFN0YWNrcyBhY3Rpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIERlcGVuZGVudCBhY3Rpb25zOlxuICAgKiAtIGNsb3VkZm9ybWF0aW9uOkxpc3RTdGFja3NcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlU3RhY2tzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rlc2NyaWJlU3RhY2tzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVN0YWNrcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ2xvdWRGb3JtYXRpb24gdHlwZSByZXF1ZXN0ZWRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVR5cGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzIGZvciBhIENsb3VkRm9ybWF0aW9uIHR5cGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXNjcmliZVR5cGVSZWdpc3RyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVzY3JpYmVUeXBlUmVnaXN0cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZXNjcmliZVR5cGVSZWdpc3RyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZXRlY3RzIHdoZXRoZXIgYSBzdGFjaydzIGFjdHVhbCBjb25maWd1cmF0aW9uIGRpZmZlcnMsIG9yIGhhcyBkcmlmdGVkLCBmcm9tIGl0J3MgZXhwZWN0ZWQgY29uZmlndXJhdGlvbiwgYXMgZGVmaW5lZCBpbiB0aGUgc3RhY2sgdGVtcGxhdGUgYW5kIGFueSB2YWx1ZXMgc3BlY2lmaWVkIGFzIHRlbXBsYXRlIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXRlY3RTdGFja0RyaWZ0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RldGVjdFN0YWNrRHJpZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RldGVjdFN0YWNrRHJpZnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gaW5mb3JtYXRpb24gYWJvdXQgd2hldGhlciBhIHJlc291cmNlJ3MgYWN0dWFsIGNvbmZpZ3VyYXRpb24gZGlmZmVycywgb3IgaGFzIGRyaWZ0ZWQsIGZyb20gaXQncyBleHBlY3RlZCBjb25maWd1cmF0aW9uLCBhcyBkZWZpbmVkIGluIHRoZSBzdGFjayB0ZW1wbGF0ZSBhbmQgYW55IHZhbHVlcyBzcGVjaWZpZWQgYXMgdGVtcGxhdGUgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0RldGVjdFN0YWNrUmVzb3VyY2VEcmlmdC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZXRlY3RTdGFja1Jlc291cmNlRHJpZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RldGVjdFN0YWNrUmVzb3VyY2VEcmlmdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGVuYWJsZSB1c2VycyB0byBkZXRlY3QgZHJpZnQgb24gYSBzdGFjayBzZXQgYW5kIHRoZSBzdGFjayBpbnN0YW5jZXMgdGhhdCBiZWxvbmcgdG8gdGhhdCBzdGFjayBzZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9EZXRlY3RTdGFja1NldERyaWZ0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RldGVjdFN0YWNrU2V0RHJpZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RldGVjdFN0YWNrU2V0RHJpZnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIGVzdGltYXRlZCBtb250aGx5IGNvc3Qgb2YgYSB0ZW1wbGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZUZW1wbGF0ZVVybCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9Fc3RpbWF0ZVRlbXBsYXRlQ29zdC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9Fc3RpbWF0ZVRlbXBsYXRlQ29zdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRXN0aW1hdGVUZW1wbGF0ZUNvc3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgYSBzdGFjayB1c2luZyB0aGUgaW5wdXQgaW5mb3JtYXRpb24gdGhhdCB3YXMgcHJvdmlkZWQgd2hlbiB0aGUgc3BlY2lmaWVkIGNoYW5nZSBzZXQgd2FzIGNyZWF0ZWRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkNoYW5nZVNldE5hbWUoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRXhlY3V0ZUNoYW5nZVNldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9FeGVjdXRlQ2hhbmdlU2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdFeGVjdXRlQ2hhbmdlU2V0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZXhlY3V0ZSBhIHN0YWNrIHJlZmFjdG9yIHVzaW5nIHRoZSBpbnB1dCBpbmZvcm1hdGlvbiB0aGF0IHdhcyBwcm92aWRlZCB3aGVuIHRoZSBzcGVjaWZpZWQgc3RhY2sgcmVmYWN0b3Igd2FzIGNyZWF0ZWRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfRXhlY3V0ZVN0YWNrUmVmYWN0b3IuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRXhlY3V0ZVN0YWNrUmVmYWN0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0V4ZWN1dGVTdGFja1JlZmFjdG9yJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgYSBnZW5lcmF0ZWQgdGVtcGxhdGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRHZW5lcmF0ZWRUZW1wbGF0ZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRHZW5lcmF0ZWRUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0R2VuZXJhdGVkVGVtcGxhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIHN0YWNrIHBvbGljeSBmb3IgYSBzcGVjaWZpZWQgc3RhY2tcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRTdGFja1BvbGljeS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRTdGFja1BvbGljeSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0U3RhY2tQb2xpY3knKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIHRlbXBsYXRlIGJvZHkgZm9yIGEgc3BlY2lmaWVkIHN0YWNrXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0VGVtcGxhdGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0VGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldFRlbXBsYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGluZm9ybWF0aW9uIGFib3V0IGEgbmV3IG9yIGV4aXN0aW5nIHRlbXBsYXRlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlRlbXBsYXRlVXJsKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldFRlbXBsYXRlU3VtbWFyeS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRUZW1wbGF0ZVN1bW1hcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldFRlbXBsYXRlU3VtbWFyeScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGVuYWJsZSB1c2VycyB0byBpbXBvcnQgZXhpc3Rpbmcgc3RhY2tzIHRvIGEgbmV3IG9yIGV4aXN0aW5nIHN0YWNrc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0ltcG9ydFN0YWNrc1RvU3RhY2tTZXQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvSW1wb3J0U3RhY2tzVG9TdGFja1NldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnSW1wb3J0U3RhY2tzVG9TdGFja1NldCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBIb29rIGludm9jYXRpb25zIHJlc3VsdCBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpZWQgSG9vaywgYSBjb21iaW5hdGlvbiBvZiBIb29rIGFuZCBzdGF0dXMsIG9yIGFsbCBIb29rc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZUeXBlQXJuKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RIb29rUmVzdWx0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0QWxsSG9va1Jlc3VsdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RBbGxIb29rUmVzdWx0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiB0aGUgSUQgYW5kIHN0YXR1cyBvZiBlYWNoIGFjdGl2ZSBjaGFuZ2Ugc2V0IGZvciBhIHN0YWNrLiBGb3IgZXhhbXBsZSwgQVdTIENsb3VkRm9ybWF0aW9uIGxpc3RzIGNoYW5nZSBzZXRzIHRoYXQgYXJlIGluIHRoZSBDUkVBVEVfSU5fUFJPR1JFU1Mgb3IgQ1JFQVRFX1BFTkRJTkcgc3RhdGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0Q2hhbmdlU2V0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0Q2hhbmdlU2V0cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdENoYW5nZVNldHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGFsbCBleHBvcnRlZCBvdXRwdXQgdmFsdWVzIGluIHRoZSBhY2NvdW50IGFuZCByZWdpb24gaW4gd2hpY2ggeW91IGNhbGwgdGhpcyBhY3Rpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0RXhwb3J0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0RXhwb3J0cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEV4cG9ydHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHlvdXIgZ2VuZXJhdGVkIHRlbXBsYXRlcyBpbiB0aGlzIFJlZ2lvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RHZW5lcmF0ZWRUZW1wbGF0ZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEdlbmVyYXRlZFRlbXBsYXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdEdlbmVyYXRlZFRlbXBsYXRlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBIb29rIGludm9jYXRpb25zIHJlc3VsdCBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCB0YXJnZXRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQ2hhbmdlU2V0TmFtZSgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0SG9va1Jlc3VsdHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdEhvb2tSZXN1bHRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0SG9va1Jlc3VsdHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IGFsbCBzdGFja3MgdGhhdCBhcmUgaW1wb3J0aW5nIGFuIGV4cG9ydGVkIG91dHB1dCB2YWx1ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RJbXBvcnRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RJbXBvcnRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0SW1wb3J0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgdGhlIHJlbGF0ZWQgcmVzb3VyY2VzIGZvciBhIGxpc3Qgb2YgcmVzb3VyY2VzIGZyb20gYSByZXNvdXJjZSBzY2FuLiBUaGUgcmVzcG9uc2UgaW5kaWNhdGVzIHdoZXRoZXIgZWFjaCByZXR1cm5lZCByZXNvdXJjZSBpcyBhbHJlYWR5IG1hbmFnZWQgYnkgQ2xvdWRGb3JtYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0UmVzb3VyY2VTY2FuUmVsYXRlZFJlc291cmNlcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0UmVzb3VyY2VTY2FuUmVsYXRlZFJlc291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFJlc291cmNlU2NhblJlbGF0ZWRSZXNvdXJjZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSByZXNvdXJjZXMgZnJvbSBhIHJlc291cmNlIHNjYW4uIFRoZSByZXN1bHRzIGNhbiBiZSBmaWx0ZXJlZCBieSByZXNvdXJjZSBpZGVudGlmaWVyLCByZXNvdXJjZSB0eXBlIHByZWZpeCwgdGFnIGtleSwgYW5kIHRhZyB2YWx1ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RSZXNvdXJjZVNjYW5SZXNvdXJjZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFJlc291cmNlU2NhblJlc291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFJlc291cmNlU2NhblJlc291cmNlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgdGhlIHJlc291cmNlIHNjYW5zIGZyb20gbmV3ZXN0IHRvIG9sZGVzdC4gQnkgZGVmYXVsdCBpdCB3aWxsIHJldHVybiB1cCB0byAxMCByZXNvdXJjZSBzY2Fuc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RSZXNvdXJjZVNjYW5zLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RSZXNvdXJjZVNjYW5zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0UmVzb3VyY2VTY2FucycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBkcmlmdCBpbmZvcm1hdGlvbiBmb3IgdGhlIHJlc291cmNlcyB0aGF0IGhhdmUgYmVlbiBjaGVja2VkIGZvciBkcmlmdCBpbiB0aGUgc3BlY2lmaWVkIHN0YWNrIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFN0YWNrSW5zdGFuY2VSZXNvdXJjZURyaWZ0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0U3RhY2tJbnN0YW5jZVJlc291cmNlRHJpZnRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0U3RhY2tJbnN0YW5jZVJlc291cmNlRHJpZnRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHN1bW1hcnkgaW5mb3JtYXRpb24gYWJvdXQgc3RhY2sgaW5zdGFuY2VzIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHN0YWNrIHNldFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RTdGFja1NldHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFN0YWNrSW5zdGFuY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0U3RhY2tJbnN0YW5jZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIGxpc3Qgb2YgYWN0aW9ucyBvZiB0aGUgc3BlY2lmaWVkIHN0YWNrIHJlZmFjdG9yXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFN0YWNrUmVmYWN0b3JBY3Rpb25zLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RTdGFja1JlZmFjdG9yQWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFN0YWNrUmVmYWN0b3JBY3Rpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHRoZSBJRCBhbmQgc3RhdHVzIG9mIGVhY2ggYWN0aXZlIHN0YWNrIHJlZmFjdG9yXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFN0YWNrUmVmYWN0b3JzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RTdGFja1JlZmFjdG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFN0YWNrUmVmYWN0b3JzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIGRlc2NyaXB0aW9ucyBvZiBhbGwgcmVzb3VyY2VzIG9mIHRoZSBzcGVjaWZpZWQgc3RhY2tcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0U3RhY2tSZXNvdXJjZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFN0YWNrUmVzb3VyY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0U3RhY2tSZXNvdXJjZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gc3VtbWFyeSBpbmZvcm1hdGlvbiBhYm91dCBTdGFja1NldCBBdXRvIERlcGxveW1lbnQgVGFyZ2V0c1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RTdGFja1NldEF1dG9EZXBsb3ltZW50VGFyZ2V0cy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0U3RhY2tTZXRBdXRvRGVwbG95bWVudFRhcmdldHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RTdGFja1NldEF1dG9EZXBsb3ltZW50VGFyZ2V0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBzdW1tYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSByZXN1bHRzIG9mIGEgc3RhY2sgc2V0IG9wZXJhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RTdGFja1NldE9wZXJhdGlvblJlc3VsdHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFN0YWNrU2V0T3BlcmF0aW9uUmVzdWx0cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFN0YWNrU2V0T3BlcmF0aW9uUmVzdWx0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHVybiBzdW1tYXJ5IGluZm9ybWF0aW9uIGFib3V0IG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uIGEgc3RhY2sgc2V0XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFN0YWNrU2V0T3BlcmF0aW9ucy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0U3RhY2tTZXRPcGVyYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0U3RhY2tTZXRPcGVyYXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0dXJuIHN1bW1hcnkgaW5mb3JtYXRpb24gYWJvdXQgc3RhY2sgc2V0cyB0aGF0IGFyZSBhc3NvY2lhdGVkIHdpdGggdGhlIHVzZXJcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0U3RhY2tTZXRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RTdGFja1NldHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RTdGFja1NldHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXR1cm4gdGhlIHN1bW1hcnkgaW5mb3JtYXRpb24gZm9yIHN0YWNrcyB3aG9zZSBzdGF0dXMgbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIFN0YWNrU3RhdHVzRmlsdGVyLiBJbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBEZXNjcmliZVN0YWNrcyBhY3Rpb24sIGdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgZGVzY3JpcHRpb25zIGZvciBzdGFja3NcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9MaXN0U3RhY2tzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RTdGFja3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0xpc3RTdGFja3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IENsb3VkRm9ybWF0aW9uIHR5cGUgcmVnaXN0cmF0aW9uIGF0dGVtcHRzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFR5cGVSZWdpc3RyYXRpb25zLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RUeXBlUmVnaXN0cmF0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFR5cGVSZWdpc3RyYXRpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB2ZXJzaW9ucyBvZiBhIHBhcnRpY3VsYXIgQ2xvdWRGb3JtYXRpb24gdHlwZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RUeXBlVmVyc2lvbnMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFR5cGVWZXJzaW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFR5cGVWZXJzaW9ucycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGxpc3QgYXZhaWxhYmxlIENsb3VkRm9ybWF0aW9uIHR5cGVzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogTGlzdFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfTGlzdFR5cGVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RUeXBlcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFR5cGVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcHVibGlzaCB0aGUgc3BlY2lmaWVkIGV4dGVuc2lvbiB0byB0aGUgQ2xvdWRGb3JtYXRpb24gcmVnaXN0cnkgYXMgYSBwdWJsaWMgZXh0ZW5zaW9uIGluIHRoaXMgcmVnaW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1Ymxpc2hUeXBlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1Ymxpc2hUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdWJsaXNoVHlwZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlY29yZCB0aGUgaGFuZGxlciBwcm9ncmVzc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9SZWNvcmRIYW5kbGVyUHJvZ3Jlc3MuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUmVjb3JkSGFuZGxlclByb2dyZXNzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdSZWNvcmRIYW5kbGVyUHJvZ3Jlc3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWdpc3RlciBhY2NvdW50IGFzIGEgcHVibGlzaGVyIG9mIHB1YmxpYyBleHRlbnNpb25zIGluIHRoZSBDbG91ZEZvcm1hdGlvbiByZWdpc3RyeVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9SZWdpc3RlclB1Ymxpc2hlci5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9SZWdpc3RlclB1Ymxpc2hlcigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUmVnaXN0ZXJQdWJsaXNoZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWdpc3RlciBhIG5ldyBDbG91ZEZvcm1hdGlvbiB0eXBlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1JlZ2lzdGVyVHlwZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9SZWdpc3RlclR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1JlZ2lzdGVyVHlwZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJvbGxiYWNrIHRoZSBzdGFjayB0byB0aGUgbGFzdCBzdGFibGUgc3RhdGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlJvbGVBcm4oKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUm9sbGJhY2tTdGFjay5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9Sb2xsYmFja1N0YWNrKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdSb2xsYmFja1N0YWNrJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gc2V0IGEgc3RhY2sgcG9saWN5IGZvciBhIHNwZWNpZmllZCBzdGFja1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFBlcm1pc3Npb25zIG1hbmFnZW1lbnRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZTdGFja1BvbGljeVVybCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9TZXRTdGFja1BvbGljeS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TZXRTdGFja1BvbGljeSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU2V0U3RhY2tQb2xpY3knKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzZXQgdGhlIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgYSByZWdpc3RlcmVkIENsb3VkRm9ybWF0aW9uIGV4dGVuc2lvbiwgaW4gdGhlIGdpdmVuIGFjY291bnQgYW5kIHJlZ2lvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9TZXRUeXBlQ29uZmlndXJhdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TZXRUeXBlQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU2V0VHlwZUNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzZXQgd2hpY2ggdmVyc2lvbiBvZiBhIENsb3VkRm9ybWF0aW9uIHR5cGUgYXBwbGllcyB0byBDbG91ZEZvcm1hdGlvbiBvcGVyYXRpb25zXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1NldFR5cGVEZWZhdWx0VmVyc2lvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TZXRUeXBlRGVmYXVsdFZlcnNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1NldFR5cGVEZWZhdWx0VmVyc2lvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHNlbmQgYSBzaWduYWwgdG8gdGhlIHNwZWNpZmllZCByZXNvdXJjZSB3aXRoIGEgc3VjY2VzcyBvciBmYWlsdXJlIHN0YXR1c1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9TaWduYWxSZXNvdXJjZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9TaWduYWxSZXNvdXJjZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnU2lnbmFsUmVzb3VyY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBzdGFydCBhIHNjYW4gb2YgdGhlIHJlc291cmNlcyBpbiB0aGlzIGFjY291bnQgaW4gdGhpcyBSZWdpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfU3RhcnRSZXNvdXJjZVNjYW4uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvU3RhcnRSZXNvdXJjZVNjYW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1N0YXJ0UmVzb3VyY2VTY2FuJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gc3RvcCBhbiBpbi1wcm9ncmVzcyBvcGVyYXRpb24gb24gYSBzdGFjayBzZXQgYW5kIGl0cyBhc3NvY2lhdGVkIHN0YWNrIGluc3RhbmNlc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9TdG9wU3RhY2tTZXRPcGVyYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvU3RvcFN0YWNrU2V0T3BlcmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdTdG9wU3RhY2tTZXRPcGVyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB0YWcgY2xvdWRmb3JtYXRpb24gcmVzb3VyY2VzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogVGFnZ2luZ1xuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkNyZWF0ZUFjdGlvbigpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9UYWdSZXNvdXJjZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9UYWdSZXNvdXJjZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVGFnUmVzb3VyY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB0ZXN0IGEgcmVnaXN0ZXJlZCBleHRlbnNpb24gdG8gbWFrZSBzdXJlIGl0IG1lZXRzIGFsbCBuZWNlc3NhcnkgcmVxdWlyZW1lbnRzIGZvciBiZWluZyBwdWJsaXNoZWQgaW4gdGhlIENsb3VkRm9ybWF0aW9uIHJlZ2lzdHJ5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1Rlc3RUeXBlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1Rlc3RUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdUZXN0VHlwZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVudGFnIGNsb3VkZm9ybWF0aW9uIHJlc291cmNlc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFRhZ2dpbmdcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICogLSAuaWZDcmVhdGVBY3Rpb24oKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVW50YWdSZXNvdXJjZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VbnRhZ1Jlc291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVbnRhZ1Jlc291cmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGEgZ2VuZXJhdGVkIHRlbXBsYXRlLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGNoYW5nZSB0aGUgbmFtZSwgYWRkIGFuZCByZW1vdmUgcmVzb3VyY2VzLCByZWZyZXNoIHJlc291cmNlcywgYW5kIGNoYW5nZSB0aGUgRGVsZXRpb25Qb2xpY3kgYW5kIFVwZGF0ZVJlcGxhY2VQb2xpY3kgc2V0dGluZ3NcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVXBkYXRlR2VuZXJhdGVkVGVtcGxhdGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlR2VuZXJhdGVkVGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZUdlbmVyYXRlZFRlbXBsYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGEgc3RhY2sgYXMgc3BlY2lmaWVkIGluIHRoZSB0ZW1wbGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmUmVzb3VyY2VUeXBlcygpXG4gICAqIC0gLmlmUm9sZUFybigpXG4gICAqIC0gLmlmU3RhY2tQb2xpY3lVcmwoKVxuICAgKiAtIC5pZlRlbXBsYXRlVXJsKClcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1VwZGF0ZVN0YWNrLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1VwZGF0ZVN0YWNrKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVTdGFjaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSB0aGUgcGFyYW1ldGVyIHZhbHVlcyBmb3Igc3RhY2sgaW5zdGFuY2VzIGZvciB0aGUgc3BlY2lmaWVkIGFjY291bnRzLCB3aXRoaW4gdGhlIHNwZWNpZmllZCByZWdpb25zXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZUYXJnZXRSZWdpb24oKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVXBkYXRlU3RhY2tJbnN0YW5jZXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlU3RhY2tJbnN0YW5jZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1VwZGF0ZVN0YWNrSW5zdGFuY2VzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIGEgc3RhY2tzZXQgYXMgc3BlY2lmaWVkIGluIHRoZSB0ZW1wbGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmUm9sZUFybigpXG4gICAqIC0gLmlmVGVtcGxhdGVVcmwoKVxuICAgKiAtIC5pZlRhcmdldFJlZ2lvbigpXG4gICAqIC0gLmlmQXdzUmVxdWVzdFRhZygpXG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VcGRhdGVTdGFja1NldC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9VcGRhdGVTdGFja1NldCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnVXBkYXRlU3RhY2tTZXQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgdGVybWluYXRpb24gcHJvdGVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBzdGFja1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9VcGRhdGVUZXJtaW5hdGlvblByb3RlY3Rpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvVXBkYXRlVGVybWluYXRpb25Qcm90ZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdVcGRhdGVUZXJtaW5hdGlvblByb3RlY3Rpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB2YWxpZGF0ZSBhIHNwZWNpZmllZCB0ZW1wbGF0ZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZUZW1wbGF0ZVVybCgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9WYWxpZGF0ZVRlbXBsYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1ZhbGlkYXRlVGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1ZhbGlkYXRlVGVtcGxhdGUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhY2Nlc3NMZXZlbExpc3Q6IEFjY2Vzc0xldmVsTGlzdCA9IHtcbiAgICBXcml0ZTogW1xuICAgICAgJ0FjdGl2YXRlT3JnYW5pemF0aW9uc0FjY2VzcycsXG4gICAgICAnQWN0aXZhdGVUeXBlJyxcbiAgICAgICdDYW5jZWxVcGRhdGVTdGFjaycsXG4gICAgICAnQ29udGludWVVcGRhdGVSb2xsYmFjaycsXG4gICAgICAnQ3JlYXRlQ2hhbmdlU2V0JyxcbiAgICAgICdDcmVhdGVHZW5lcmF0ZWRUZW1wbGF0ZScsXG4gICAgICAnQ3JlYXRlU3RhY2snLFxuICAgICAgJ0NyZWF0ZVN0YWNrSW5zdGFuY2VzJyxcbiAgICAgICdDcmVhdGVTdGFja1JlZmFjdG9yJyxcbiAgICAgICdDcmVhdGVTdGFja1NldCcsXG4gICAgICAnQ3JlYXRlVXBsb2FkQnVja2V0JyxcbiAgICAgICdEZWFjdGl2YXRlT3JnYW5pemF0aW9uc0FjY2VzcycsXG4gICAgICAnRGVhY3RpdmF0ZVR5cGUnLFxuICAgICAgJ0RlbGV0ZUNoYW5nZVNldCcsXG4gICAgICAnRGVsZXRlR2VuZXJhdGVkVGVtcGxhdGUnLFxuICAgICAgJ0RlbGV0ZVN0YWNrJyxcbiAgICAgICdEZWxldGVTdGFja0luc3RhbmNlcycsXG4gICAgICAnRGVsZXRlU3RhY2tTZXQnLFxuICAgICAgJ0RlcmVnaXN0ZXJUeXBlJyxcbiAgICAgICdFeGVjdXRlQ2hhbmdlU2V0JyxcbiAgICAgICdFeGVjdXRlU3RhY2tSZWZhY3RvcicsXG4gICAgICAnSW1wb3J0U3RhY2tzVG9TdGFja1NldCcsXG4gICAgICAnUHVibGlzaFR5cGUnLFxuICAgICAgJ1JlY29yZEhhbmRsZXJQcm9ncmVzcycsXG4gICAgICAnUmVnaXN0ZXJQdWJsaXNoZXInLFxuICAgICAgJ1JlZ2lzdGVyVHlwZScsXG4gICAgICAnUm9sbGJhY2tTdGFjaycsXG4gICAgICAnU2V0VHlwZUNvbmZpZ3VyYXRpb24nLFxuICAgICAgJ1NldFR5cGVEZWZhdWx0VmVyc2lvbicsXG4gICAgICAnU2lnbmFsUmVzb3VyY2UnLFxuICAgICAgJ1N0YXJ0UmVzb3VyY2VTY2FuJyxcbiAgICAgICdTdG9wU3RhY2tTZXRPcGVyYXRpb24nLFxuICAgICAgJ1Rlc3RUeXBlJyxcbiAgICAgICdVcGRhdGVHZW5lcmF0ZWRUZW1wbGF0ZScsXG4gICAgICAnVXBkYXRlU3RhY2snLFxuICAgICAgJ1VwZGF0ZVN0YWNrSW5zdGFuY2VzJyxcbiAgICAgICdVcGRhdGVTdGFja1NldCcsXG4gICAgICAnVXBkYXRlVGVybWluYXRpb25Qcm90ZWN0aW9uJ1xuICAgIF0sXG4gICAgUmVhZDogW1xuICAgICAgJ0JhdGNoRGVzY3JpYmVUeXBlQ29uZmlndXJhdGlvbnMnLFxuICAgICAgJ0Rlc2NyaWJlQWNjb3VudExpbWl0cycsXG4gICAgICAnRGVzY3JpYmVDaGFuZ2VTZXQnLFxuICAgICAgJ0Rlc2NyaWJlQ2hhbmdlU2V0SG9va3MnLFxuICAgICAgJ0Rlc2NyaWJlR2VuZXJhdGVkVGVtcGxhdGUnLFxuICAgICAgJ0Rlc2NyaWJlT3JnYW5pemF0aW9uc0FjY2VzcycsXG4gICAgICAnRGVzY3JpYmVQdWJsaXNoZXInLFxuICAgICAgJ0Rlc2NyaWJlUmVzb3VyY2VTY2FuJyxcbiAgICAgICdEZXNjcmliZVN0YWNrRHJpZnREZXRlY3Rpb25TdGF0dXMnLFxuICAgICAgJ0Rlc2NyaWJlU3RhY2tFdmVudHMnLFxuICAgICAgJ0Rlc2NyaWJlU3RhY2tJbnN0YW5jZScsXG4gICAgICAnRGVzY3JpYmVTdGFja1JlZmFjdG9yJyxcbiAgICAgICdEZXNjcmliZVN0YWNrUmVzb3VyY2UnLFxuICAgICAgJ0Rlc2NyaWJlU3RhY2tSZXNvdXJjZURyaWZ0cycsXG4gICAgICAnRGVzY3JpYmVTdGFja1Jlc291cmNlcycsXG4gICAgICAnRGVzY3JpYmVTdGFja1NldCcsXG4gICAgICAnRGVzY3JpYmVTdGFja1NldE9wZXJhdGlvbicsXG4gICAgICAnRGVzY3JpYmVUeXBlJyxcbiAgICAgICdEZXNjcmliZVR5cGVSZWdpc3RyYXRpb24nLFxuICAgICAgJ0RldGVjdFN0YWNrRHJpZnQnLFxuICAgICAgJ0RldGVjdFN0YWNrUmVzb3VyY2VEcmlmdCcsXG4gICAgICAnRGV0ZWN0U3RhY2tTZXREcmlmdCcsXG4gICAgICAnRXN0aW1hdGVUZW1wbGF0ZUNvc3QnLFxuICAgICAgJ0dldEdlbmVyYXRlZFRlbXBsYXRlJyxcbiAgICAgICdHZXRTdGFja1BvbGljeScsXG4gICAgICAnR2V0VGVtcGxhdGUnLFxuICAgICAgJ0dldFRlbXBsYXRlU3VtbWFyeScsXG4gICAgICAnVmFsaWRhdGVUZW1wbGF0ZSdcbiAgICBdLFxuICAgIExpc3Q6IFtcbiAgICAgICdEZXNjcmliZVN0YWNrcycsXG4gICAgICAnTGlzdEFsbEhvb2tSZXN1bHRzJyxcbiAgICAgICdMaXN0Q2hhbmdlU2V0cycsXG4gICAgICAnTGlzdEV4cG9ydHMnLFxuICAgICAgJ0xpc3RHZW5lcmF0ZWRUZW1wbGF0ZXMnLFxuICAgICAgJ0xpc3RIb29rUmVzdWx0cycsXG4gICAgICAnTGlzdEltcG9ydHMnLFxuICAgICAgJ0xpc3RSZXNvdXJjZVNjYW5SZWxhdGVkUmVzb3VyY2VzJyxcbiAgICAgICdMaXN0UmVzb3VyY2VTY2FuUmVzb3VyY2VzJyxcbiAgICAgICdMaXN0UmVzb3VyY2VTY2FucycsXG4gICAgICAnTGlzdFN0YWNrSW5zdGFuY2VSZXNvdXJjZURyaWZ0cycsXG4gICAgICAnTGlzdFN0YWNrSW5zdGFuY2VzJyxcbiAgICAgICdMaXN0U3RhY2tSZWZhY3RvckFjdGlvbnMnLFxuICAgICAgJ0xpc3RTdGFja1JlZmFjdG9ycycsXG4gICAgICAnTGlzdFN0YWNrUmVzb3VyY2VzJyxcbiAgICAgICdMaXN0U3RhY2tTZXRBdXRvRGVwbG95bWVudFRhcmdldHMnLFxuICAgICAgJ0xpc3RTdGFja1NldE9wZXJhdGlvblJlc3VsdHMnLFxuICAgICAgJ0xpc3RTdGFja1NldE9wZXJhdGlvbnMnLFxuICAgICAgJ0xpc3RTdGFja1NldHMnLFxuICAgICAgJ0xpc3RTdGFja3MnLFxuICAgICAgJ0xpc3RUeXBlUmVnaXN0cmF0aW9ucycsXG4gICAgICAnTGlzdFR5cGVWZXJzaW9ucycsXG4gICAgICAnTGlzdFR5cGVzJ1xuICAgIF0sXG4gICAgJ1Blcm1pc3Npb25zIG1hbmFnZW1lbnQnOiBbXG4gICAgICAnU2V0U3RhY2tQb2xpY3knXG4gICAgXSxcbiAgICBUYWdnaW5nOiBbXG4gICAgICAnVGFnUmVzb3VyY2UnLFxuICAgICAgJ1VudGFnUmVzb3VyY2UnXG4gICAgXVxuICB9O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBjaGFuZ2VzZXQgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9jZm4td2hhdGlzLWNvbmNlcHRzLmh0bWwjdzJhYjFiNWMxNWMxMVxuICAgKlxuICAgKiBAcGFyYW0gY2hhbmdlU2V0TmFtZSAtIElkZW50aWZpZXIgZm9yIHRoZSBjaGFuZ2VTZXROYW1lLlxuICAgKiBAcGFyYW0gaWQgLSBJZGVudGlmaWVyIGZvciB0aGUgaWQuXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHJlZ2lvbiAtIFJlZ2lvbiBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcmVnaW9uLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZXNldChjaGFuZ2VTZXROYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGFjY291bnQ/OiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06Y2xvdWRmb3JtYXRpb246JHsgcmVnaW9uID8/IHRoaXMuZGVmYXVsdFJlZ2lvbiB9OiR7IGFjY291bnQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9OmNoYW5nZVNldC8keyBjaGFuZ2VTZXROYW1lIH0vJHsgaWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIHN0YWNrIHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvY2ZuLXdoYXRpcy1jb25jZXB0cy5odG1sI3cyYWIxYjVjMTViOVxuICAgKlxuICAgKiBAcGFyYW0gc3RhY2tOYW1lIC0gSWRlbnRpZmllciBmb3IgdGhlIHN0YWNrTmFtZS5cbiAgICogQHBhcmFtIGlkIC0gSWRlbnRpZmllciBmb3IgdGhlIGlkLlxuICAgKiBAcGFyYW0gYWNjb3VudCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSByZWdpb24gLSBSZWdpb24gb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHJlZ2lvbi5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXNvdXJjZVRhZygpXG4gICAqL1xuICBwdWJsaWMgb25TdGFjayhzdGFja05hbWU6IHN0cmluZywgaWQ6IHN0cmluZywgYWNjb3VudD86IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpjbG91ZGZvcm1hdGlvbjokeyByZWdpb24gPz8gdGhpcy5kZWZhdWx0UmVnaW9uIH06JHsgYWNjb3VudCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06c3RhY2svJHsgc3RhY2tOYW1lIH0vJHsgaWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIHN0YWNrc2V0IHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvc3RhY2tzZXRzLWNvbmNlcHRzLmh0bWwjc3RhY2tzZXRzLWNvbmNlcHRzLXN0YWNrc2V0XG4gICAqXG4gICAqIEBwYXJhbSBzdGFja1NldE5hbWUgLSBJZGVudGlmaWVyIGZvciB0aGUgc3RhY2tTZXROYW1lLlxuICAgKiBAcGFyYW0gaWQgLSBJZGVudGlmaWVyIGZvciB0aGUgaWQuXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHJlZ2lvbiAtIFJlZ2lvbiBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcmVnaW9uLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICovXG4gIHB1YmxpYyBvblN0YWNrc2V0KHN0YWNrU2V0TmFtZTogc3RyaW5nLCBpZDogc3RyaW5nLCBhY2NvdW50Pzogc3RyaW5nLCByZWdpb24/OiBzdHJpbmcsIHBhcnRpdGlvbj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm9uKGBhcm46JHsgcGFydGl0aW9uID8/IHRoaXMuZGVmYXVsdFBhcnRpdGlvbiB9OmNsb3VkZm9ybWF0aW9uOiR7IHJlZ2lvbiA/PyB0aGlzLmRlZmF1bHRSZWdpb24gfTokeyBhY2NvdW50ID8/IHRoaXMuZGVmYXVsdEFjY291bnQgfTpzdGFja3NldC8keyBzdGFja1NldE5hbWUgfTokeyBpZCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgc3RhY2tzZXQtdGFyZ2V0IHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWxcbiAgICpcbiAgICogQHBhcmFtIHN0YWNrU2V0VGFyZ2V0IC0gSWRlbnRpZmllciBmb3IgdGhlIHN0YWNrU2V0VGFyZ2V0LlxuICAgKiBAcGFyYW0gYWNjb3VudCAtIEFjY291bnQgb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIGFjY291bnQuXG4gICAqIEBwYXJhbSByZWdpb24gLSBSZWdpb24gb2YgdGhlIHJlc291cmNlOyBkZWZhdWx0cyB0byBgKmAsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHJlZ2lvbi5cbiAgICogQHBhcmFtIHBhcnRpdGlvbiAtIFBhcnRpdGlvbiBvZiB0aGUgQVdTIGFjY291bnQgW2F3cywgYXdzLWNuLCBhd3MtdXMtZ292XTsgZGVmYXVsdHMgdG8gYGF3c2AsIHVubGVzcyB1c2luZyB0aGUgQ0RLLCB3aGVyZSB0aGUgZGVmYXVsdCBpcyB0aGUgY3VycmVudCBTdGFjaydzIHBhcnRpdGlvbi5cbiAgICovXG4gIHB1YmxpYyBvblN0YWNrc2V0VGFyZ2V0KHN0YWNrU2V0VGFyZ2V0OiBzdHJpbmcsIGFjY291bnQ/OiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06Y2xvdWRmb3JtYXRpb246JHsgcmVnaW9uID8/IHRoaXMuZGVmYXVsdFJlZ2lvbiB9OiR7IGFjY291bnQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9OnN0YWNrc2V0LXRhcmdldC8keyBzdGFja1NldFRhcmdldCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgdHlwZSB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL3VzaW5nLWlhbS10ZW1wbGF0ZS5odG1sXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gSWRlbnRpZmllciBmb3IgdGhlIHR5cGUuXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHJlZ2lvbiAtIFJlZ2lvbiBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcmVnaW9uLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKi9cbiAgcHVibGljIG9uVHlwZSh0eXBlOiBzdHJpbmcsIGFjY291bnQ/OiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gPz8gdGhpcy5kZWZhdWx0UGFydGl0aW9uIH06Y2xvdWRmb3JtYXRpb246JHsgcmVnaW9uID8/IHRoaXMuZGVmYXVsdFJlZ2lvbiB9OiR7IGFjY291bnQgPz8gdGhpcy5kZWZhdWx0QWNjb3VudCB9OnR5cGUvcmVzb3VyY2UvJHsgdHlwZSB9YCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgZ2VuZXJhdGVkdGVtcGxhdGUgdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9nZW5lcmF0ZS1JYUMuaHRtbFxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBJZGVudGlmaWVyIGZvciB0aGUgaWQuXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgYWNjb3VudC5cbiAgICogQHBhcmFtIHJlZ2lvbiAtIFJlZ2lvbiBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGAqYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcmVnaW9uLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKi9cbiAgcHVibGljIG9uR2VuZXJhdGVkdGVtcGxhdGUoaWQ6IHN0cmluZywgYWNjb3VudD86IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpjbG91ZGZvcm1hdGlvbjokeyByZWdpb24gPz8gdGhpcy5kZWZhdWx0UmVnaW9uIH06JHsgYWNjb3VudCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06Z2VuZXJhdGVkVGVtcGxhdGUvJHsgaWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIHJlc291cmNlc2NhbiB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2dlbmVyYXRlLUlhQy5odG1sXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIElkZW50aWZpZXIgZm9yIHRoZSBpZC5cbiAgICogQHBhcmFtIGFjY291bnQgLSBBY2NvdW50IG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gYCpgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBhY2NvdW50LlxuICAgKiBAcGFyYW0gcmVnaW9uIC0gUmVnaW9uIG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gYCpgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyByZWdpb24uXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqL1xuICBwdWJsaWMgb25SZXNvdXJjZXNjYW4oaWQ6IHN0cmluZywgYWNjb3VudD86IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiA/PyB0aGlzLmRlZmF1bHRQYXJ0aXRpb24gfTpjbG91ZGZvcm1hdGlvbjokeyByZWdpb24gPz8gdGhpcy5kZWZhdWx0UmVnaW9uIH06JHsgYWNjb3VudCA/PyB0aGlzLmRlZmF1bHRBY2NvdW50IH06cmVzb3VyY2VTY2FuLyR7IGlkIH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSB0aGUgdGFncyB0aGF0IGFyZSBwYXNzZWQgaW4gdGhlIHJlcXVlc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b0NyZWF0ZUNoYW5nZVNldCgpXG4gICAqIC0gLnRvQ3JlYXRlU3RhY2soKVxuICAgKiAtIC50b0NyZWF0ZVN0YWNrU2V0KClcbiAgICogLSAudG9UYWdSZXNvdXJjZSgpXG4gICAqIC0gLnRvVXBkYXRlU3RhY2soKVxuICAgKiAtIC50b1VwZGF0ZVN0YWNrU2V0KClcbiAgICpcbiAgICogQHBhcmFtIHRhZ0tleSBUaGUgdGFnIGtleSB0byBjaGVja1xuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkF3c1JlcXVlc3RUYWcodGFnS2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBhd3M6UmVxdWVzdFRhZy8keyB0YWdLZXkgfWAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSB0YWdzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVzb3VyY2VcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byByZXNvdXJjZSB0eXBlczpcbiAgICogLSBjaGFuZ2VzZXRcbiAgICogLSBzdGFja1xuICAgKiAtIHN0YWNrc2V0XG4gICAqXG4gICAqIEBwYXJhbSB0YWdLZXkgVGhlIHRhZyBrZXkgdG8gY2hlY2tcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZBd3NSZXNvdXJjZVRhZyh0YWdLZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYGF3czpSZXNvdXJjZVRhZy8keyB0YWdLZXkgfWAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSB0YWcga2V5cyB0aGF0IGFyZSBwYXNzZWQgaW4gdGhlIHJlcXVlc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b0NyZWF0ZUNoYW5nZVNldCgpXG4gICAqIC0gLnRvQ3JlYXRlU3RhY2soKVxuICAgKiAtIC50b0NyZWF0ZVN0YWNrSW5zdGFuY2VzKClcbiAgICogLSAudG9DcmVhdGVTdGFja1NldCgpXG4gICAqIC0gLnRvVGFnUmVzb3VyY2UoKVxuICAgKiAtIC50b1VudGFnUmVzb3VyY2UoKVxuICAgKiAtIC50b1VwZGF0ZVN0YWNrKClcbiAgICogLSAudG9VcGRhdGVTdGFja1NldCgpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmQXdzVGFnS2V5cyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgYXdzOlRhZ0tleXNgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSBhbiBBV1MgQ2xvdWRGb3JtYXRpb24gY2hhbmdlIHNldCBuYW1lLiBVc2UgdG8gY29udHJvbCB3aGljaCBjaGFuZ2Ugc2V0cyBJQU0gdXNlcnMgY2FuIGV4ZWN1dGUgb3IgZGVsZXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL3VzaW5nLWlhbS10ZW1wbGF0ZS5odG1sI3VzaW5nLWlhbS10ZW1wbGF0ZS1jb25kaXRpb25zXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9DcmVhdGVDaGFuZ2VTZXQoKVxuICAgKiAtIC50b0RlbGV0ZUNoYW5nZVNldCgpXG4gICAqIC0gLnRvRGVzY3JpYmVDaGFuZ2VTZXQoKVxuICAgKiAtIC50b0Rlc2NyaWJlQ2hhbmdlU2V0SG9va3MoKVxuICAgKiAtIC50b0V4ZWN1dGVDaGFuZ2VTZXQoKVxuICAgKiAtIC50b0xpc3RIb29rUmVzdWx0cygpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmQ2hhbmdlU2V0TmFtZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgQ2hhbmdlU2V0TmFtZWAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSBuYW1lIG9mIGEgcmVzb3VyY2UtbXV0YXRpbmcgQVBJIGFjdGlvbi4gVXNlIHRvIGNvbnRyb2wgd2hpY2ggQVBJcyBJQU0gdXNlcnMgY2FuIHVzZSB0byBhZGQgb3IgcmVtb3ZlIHRhZ3Mgb24gYSBzdGFjayBvciBzdGFjayBzZXRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b1RhZ1Jlc291cmNlKClcbiAgICogLSAudG9VbnRhZ1Jlc291cmNlKClcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZDcmVhdGVBY3Rpb24odmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYENyZWF0ZUFjdGlvbmAsIHZhbHVlLCBvcGVyYXRvciA/PyAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSB0ZW1wbGF0ZSByZXNvdXJjZSB0eXBlcywgc3VjaCBhcyBBV1M6OkVDMjo6SW5zdGFuY2UuIFVzZSB0byBjb250cm9sIHdoaWNoIHJlc291cmNlIHR5cGVzIElBTSB1c2VycyBjYW4gd29yayB3aXRoIHdoZW4gdGhleSB3YW50IHRvIGltcG9ydCBhIHJlc291cmNlIGludG8gYSBzdGFja1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1pYW0tdGVtcGxhdGUuaHRtbCN1c2luZy1pYW0tdGVtcGxhdGUtY29uZGl0aW9uc1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlQ2hhbmdlU2V0KClcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZJbXBvcnRSZXNvdXJjZVR5cGVzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBJbXBvcnRSZXNvdXJjZVR5cGVzYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgdGhlIHRlbXBsYXRlIHJlc291cmNlIHR5cGVzLCBzdWNoIGFzIEFXUzo6RUMyOjpJbnN0YW5jZS4gVXNlIHRvIGNvbnRyb2wgd2hpY2ggcmVzb3VyY2UgdHlwZXMgSUFNIHVzZXJzIGNhbiB3b3JrIHdpdGggd2hlbiB0aGV5IGNyZWF0ZSBvciB1cGRhdGUgYSBzdGFja1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1pYW0tdGVtcGxhdGUuaHRtbCN1c2luZy1pYW0tdGVtcGxhdGUtY29uZGl0aW9uc1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlQ2hhbmdlU2V0KClcbiAgICogLSAudG9DcmVhdGVTdGFjaygpXG4gICAqIC0gLnRvVXBkYXRlU3RhY2soKVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZlJlc291cmNlVHlwZXModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYFJlc291cmNlVHlwZXNgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSB0aGUgQVJOIG9mIGFuIElBTSBzZXJ2aWNlIHJvbGUuIFVzZSB0byBjb250cm9sIHdoaWNoIHNlcnZpY2Ugcm9sZSBJQU0gdXNlcnMgY2FuIHVzZSB0byB3b3JrIHdpdGggc3RhY2tzIG9yIGNoYW5nZSBzZXRzXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL3VzaW5nLWlhbS10ZW1wbGF0ZS5odG1sI3VzaW5nLWlhbS10ZW1wbGF0ZS1jb25kaXRpb25zXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9Db250aW51ZVVwZGF0ZVJvbGxiYWNrKClcbiAgICogLSAudG9DcmVhdGVDaGFuZ2VTZXQoKVxuICAgKiAtIC50b0NyZWF0ZVN0YWNrKClcbiAgICogLSAudG9DcmVhdGVTdGFja1NldCgpXG4gICAqIC0gLnRvRGVsZXRlU3RhY2soKVxuICAgKiAtIC50b1JvbGxiYWNrU3RhY2soKVxuICAgKiAtIC50b1VwZGF0ZVN0YWNrKClcbiAgICogLSAudG9VcGRhdGVTdGFja1NldCgpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW2FybiBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfQVJOKS4gKipEZWZhdWx0OioqIGBBcm5MaWtlYFxuICAgKi9cbiAgcHVibGljIGlmUm9sZUFybih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgUm9sZUFybmAsIHZhbHVlLCBvcGVyYXRvciA/PyAnQXJuTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IGFuIEFtYXpvbiBTMyBzdGFjayBwb2xpY3kgVVJMLiBVc2UgdG8gY29udHJvbCB3aGljaCBzdGFjayBwb2xpY2llcyBJQU0gdXNlcnMgY2FuIGFzc29jaWF0ZSB3aXRoIGEgc3RhY2sgZHVyaW5nIGEgY3JlYXRlIG9yIHVwZGF0ZSBzdGFjayBhY3Rpb25cbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctaWFtLXRlbXBsYXRlLmh0bWwjdXNpbmctaWFtLXRlbXBsYXRlLWNvbmRpdGlvbnNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b0NyZWF0ZUNoYW5nZVNldCgpXG4gICAqIC0gLnRvQ3JlYXRlU3RhY2soKVxuICAgKiAtIC50b1NldFN0YWNrUG9saWN5KClcbiAgICogLSAudG9VcGRhdGVTdGFjaygpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmU3RhY2tQb2xpY3lVcmwodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYFN0YWNrUG9saWN5VXJsYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgc3RhY2sgc2V0IHRhcmdldCByZWdpb24uIFVzZSB0byBjb250cm9sIHdoaWNoIHJlZ2lvbnMgSUFNIHVzZXJzIGNhbiB1c2Ugd2hlbiB0aGV5IGNyZWF0ZSBvciB1cGRhdGUgc3RhY2sgc2V0c1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1pYW0tdGVtcGxhdGUuaHRtbCN1c2luZy1pYW0tdGVtcGxhdGUtY29uZGl0aW9uc1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlU3RhY2tJbnN0YW5jZXMoKVxuICAgKiAtIC50b0RlbGV0ZVN0YWNrSW5zdGFuY2VzKClcbiAgICogLSAudG9VcGRhdGVTdGFja0luc3RhbmNlcygpXG4gICAqIC0gLnRvVXBkYXRlU3RhY2tTZXQoKVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZlRhcmdldFJlZ2lvbih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgVGFyZ2V0UmVnaW9uYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgYW4gQW1hem9uIFMzIHRlbXBsYXRlIFVSTC4gVXNlIHRvIGNvbnRyb2wgd2hpY2ggdGVtcGxhdGVzIElBTSB1c2VycyBjYW4gdXNlIHdoZW4gdGhleSBjcmVhdGUgb3IgdXBkYXRlIHN0YWNrc1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1pYW0tdGVtcGxhdGUuaHRtbCN1c2luZy1pYW0tdGVtcGxhdGUtY29uZGl0aW9uc1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQ3JlYXRlQ2hhbmdlU2V0KClcbiAgICogLSAudG9DcmVhdGVTdGFjaygpXG4gICAqIC0gLnRvQ3JlYXRlU3RhY2tTZXQoKVxuICAgKiAtIC50b0VzdGltYXRlVGVtcGxhdGVDb3N0KClcbiAgICogLSAudG9HZXRUZW1wbGF0ZVN1bW1hcnkoKVxuICAgKiAtIC50b1VwZGF0ZVN0YWNrKClcbiAgICogLSAudG9VcGRhdGVTdGFja1NldCgpXG4gICAqIC0gLnRvVmFsaWRhdGVUZW1wbGF0ZSgpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmVGVtcGxhdGVVcmwodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYFRlbXBsYXRlVXJsYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgdGhlIEFSTiBvZiBhIENsb3VkRm9ybWF0aW9uIGV4dGVuc2lvblxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS91c2luZy1pYW0tdGVtcGxhdGUuaHRtbCN1c2luZy1pYW0tdGVtcGxhdGUtY29uZGl0aW9uc1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvTGlzdEFsbEhvb2tSZXN1bHRzKClcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbYXJuIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19BUk4pLiAqKkRlZmF1bHQ6KiogYEFybkxpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZUeXBlQXJuKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBUeXBlQXJuYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdBcm5MaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtjbG91ZGZvcm1hdGlvbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzY2xvdWRmb3JtYXRpb24uaHRtbCkuXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IGlhbS5Qb2xpY3lTdGF0ZW1lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxufVxuIl19
|