From 96b566bfd385977b3a209986cb44daf66aaceead Mon Sep 17 00:00:00 2001 From: awstools Date: Fri, 3 Dec 2021 19:20:38 +0000 Subject: [PATCH] Updates SDK to v2.1043.0 --- .changes/2.1043.0.json | 7 +++++++ CHANGELOG.md | 5 ++++- README.md | 2 +- apis/rekognition-2016-06-27.normal.json | 10 ++++++---- clients/rekognition.d.ts | 10 +++++----- dist/aws-sdk-core-react-native.js | 2 +- dist/aws-sdk-react-native.js | 2 +- dist/aws-sdk.js | 6 +++--- dist/aws-sdk.min.js | 4 ++-- lib/core.js | 2 +- package.json | 2 +- 11 files changed, 32 insertions(+), 20 deletions(-) create mode 100644 .changes/2.1043.0.json diff --git a/.changes/2.1043.0.json b/.changes/2.1043.0.json new file mode 100644 index 0000000000..62aa2c2f8c --- /dev/null +++ b/.changes/2.1043.0.json @@ -0,0 +1,7 @@ +[ + { + "type": "feature", + "category": "Rekognition", + "description": "This release added new KnownGender types for Celebrity Recognition." + } +] \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c5b9398294..f81a190c23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,10 @@ # Changelog for AWS SDK for JavaScript - + +## 2.1043.0 +* feature: Rekognition: This release added new KnownGender types for Celebrity Recognition. + ## 2.1042.0 * feature: AmplifyUIBuilder: This release introduces the actions and data types for the new Amplify UI Builder API. The Amplify UI Builder API provides a programmatic interface for creating and configuring user interface (UI) component libraries and themes for use in Amplify applications. * feature: NetworkManager: This release adds API support for AWS Cloud WAN. diff --git a/README.md b/README.md index f8098e181a..12959246af 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ For release notes, see the [CHANGELOG](https://github.com/aws/aws-sdk-js/blob/ma To use the SDK in the browser, simply add the following script tag to your HTML pages: - + You can also build a custom browser SDK with your specified set of AWS services. This can allow you to reduce the SDK's size, specify different API versions of diff --git a/apis/rekognition-2016-06-27.normal.json b/apis/rekognition-2016-06-27.normal.json index bae43e6d1e..8bf6ca16e0 100644 --- a/apis/rekognition-2016-06-27.normal.json +++ b/apis/rekognition-2016-06-27.normal.json @@ -50,7 +50,7 @@ "shape": "InvalidImageFormatException" } ], - "documentation": "

Compares a face in the source input image with each of the 100 largest faces detected in the target input image.

If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image.

CompareFaces uses machine learning algorithms, which are probabilistic. A false negative is an incorrect prediction that a face in the target image has a low similarity confidence score when compared to the face in the source image. To reduce the probability of false negatives, we recommend that you compare the target image against multiple source images. If you plan to use CompareFaces to make a decision that impacts an individual's rights, privacy, or access to services, we recommend that you pass the result to a human for review and further validation before taking action.

You pass the input and target images either as base64-encoded image bytes or as references to images in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file.

In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, role, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match.

By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter.

CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value.

The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE.

If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation.

If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error.

This is a stateless API operation. That is, data returned by this operation doesn't persist.

For an example, see Comparing Faces in Images in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:CompareFaces action.

" + "documentation": "

Compares a face in the source input image with each of the 100 largest faces detected in the target input image.

If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image.

CompareFaces uses machine learning algorithms, which are probabilistic. A false negative is an incorrect prediction that a face in the target image has a low similarity confidence score when compared to the face in the source image. To reduce the probability of false negatives, we recommend that you compare the target image against multiple source images. If you plan to use CompareFaces to make a decision that impacts an individual's rights, privacy, or access to services, we recommend that you pass the result to a human for review and further validation before taking action.

You pass the input and target images either as base64-encoded image bytes or as references to images in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file.

In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, roll, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match.

By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter.

CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value.

The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE.

If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation.

If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error.

This is a stateless API operation. That is, data returned by this operation doesn't persist.

For an example, see Comparing Faces in Images in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:CompareFaces action.

" }, "CreateCollection": { "name": "CreateCollection", @@ -894,7 +894,7 @@ "shape": "InvalidImageFormatException" } ], - "documentation": "

Detects text in the input image and converts it into machine-readable text.

Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file.

The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image.

A word is one or more ISO basic latin script characters that are not separated by spaces. DetectText can detect up to 100 words in an image.

A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines.

To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field.

To be detected, text must be within +/- 90 degrees orientation of the horizontal axis.

For more information, see DetectText in the Amazon Rekognition Developer Guide.

" + "documentation": "

Detects text in the input image and converts it into machine-readable text.

Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file.

The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image.

A word is one or more script characters that are not separated by spaces. DetectText can detect up to 100 words in an image.

A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines.

To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field.

To be detected, text must be within +/- 90 degrees orientation of the horizontal axis.

For more information, see DetectText in the Amazon Rekognition Developer Guide.

" }, "DistributeDatasetEntries": { "name": "DistributeDatasetEntries", @@ -4761,14 +4761,16 @@ "documentation": "

A string value of the KnownGender info about the Celebrity.

" } }, - "documentation": "

The known gender identity for the celebrity that matches the provided ID.

" + "documentation": "

The known gender identity for the celebrity that matches the provided ID. The known gender identity can be Male, Female, Nonbinary, or Unlisted.

" }, "KnownGenderType": { "type": "string", "documentation": "

A list of enum string of possible gender values that Celebrity returns.

", "enum": [ "Male", - "Female" + "Female", + "Nonbinary", + "Unlisted" ] }, "Label": { diff --git a/clients/rekognition.d.ts b/clients/rekognition.d.ts index 7bb6f81077..770b090ca3 100644 --- a/clients/rekognition.d.ts +++ b/clients/rekognition.d.ts @@ -13,11 +13,11 @@ declare class Rekognition extends Service { constructor(options?: Rekognition.Types.ClientConfiguration) config: Config & Rekognition.Types.ClientConfiguration; /** - * Compares a face in the source input image with each of the 100 largest faces detected in the target input image. If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image. CompareFaces uses machine learning algorithms, which are probabilistic. A false negative is an incorrect prediction that a face in the target image has a low similarity confidence score when compared to the face in the source image. To reduce the probability of false negatives, we recommend that you compare the target image against multiple source images. If you plan to use CompareFaces to make a decision that impacts an individual's rights, privacy, or access to services, we recommend that you pass the result to a human for review and further validation before taking action. You pass the input and target images either as base64-encoded image bytes or as references to images in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file. In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, role, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match. By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter. CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value. The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE. If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation. If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error. This is a stateless API operation. That is, data returned by this operation doesn't persist. For an example, see Comparing Faces in Images in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:CompareFaces action. + * Compares a face in the source input image with each of the 100 largest faces detected in the target input image. If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image. CompareFaces uses machine learning algorithms, which are probabilistic. A false negative is an incorrect prediction that a face in the target image has a low similarity confidence score when compared to the face in the source image. To reduce the probability of false negatives, we recommend that you compare the target image against multiple source images. If you plan to use CompareFaces to make a decision that impacts an individual's rights, privacy, or access to services, we recommend that you pass the result to a human for review and further validation before taking action. You pass the input and target images either as base64-encoded image bytes or as references to images in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file. In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, roll, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match. By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter. CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value. The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE. If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation. If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error. This is a stateless API operation. That is, data returned by this operation doesn't persist. For an example, see Comparing Faces in Images in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:CompareFaces action. */ compareFaces(params: Rekognition.Types.CompareFacesRequest, callback?: (err: AWSError, data: Rekognition.Types.CompareFacesResponse) => void): Request; /** - * Compares a face in the source input image with each of the 100 largest faces detected in the target input image. If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image. CompareFaces uses machine learning algorithms, which are probabilistic. A false negative is an incorrect prediction that a face in the target image has a low similarity confidence score when compared to the face in the source image. To reduce the probability of false negatives, we recommend that you compare the target image against multiple source images. If you plan to use CompareFaces to make a decision that impacts an individual's rights, privacy, or access to services, we recommend that you pass the result to a human for review and further validation before taking action. You pass the input and target images either as base64-encoded image bytes or as references to images in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file. In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, role, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match. By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter. CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value. The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE. If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation. If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error. This is a stateless API operation. That is, data returned by this operation doesn't persist. For an example, see Comparing Faces in Images in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:CompareFaces action. + * Compares a face in the source input image with each of the 100 largest faces detected in the target input image. If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image. CompareFaces uses machine learning algorithms, which are probabilistic. A false negative is an incorrect prediction that a face in the target image has a low similarity confidence score when compared to the face in the source image. To reduce the probability of false negatives, we recommend that you compare the target image against multiple source images. If you plan to use CompareFaces to make a decision that impacts an individual's rights, privacy, or access to services, we recommend that you pass the result to a human for review and further validation before taking action. You pass the input and target images either as base64-encoded image bytes or as references to images in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file. In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, roll, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match. By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter. CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value. The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE. If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation. If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error. This is a stateless API operation. That is, data returned by this operation doesn't persist. For an example, see Comparing Faces in Images in the Amazon Rekognition Developer Guide. This operation requires permissions to perform the rekognition:CompareFaces action. */ compareFaces(callback?: (err: AWSError, data: Rekognition.Types.CompareFacesResponse) => void): Request; /** @@ -189,11 +189,11 @@ declare class Rekognition extends Service { */ detectProtectiveEquipment(callback?: (err: AWSError, data: Rekognition.Types.DetectProtectiveEquipmentResponse) => void): Request; /** - * Detects text in the input image and converts it into machine-readable text. Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file. The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image. A word is one or more ISO basic latin script characters that are not separated by spaces. DetectText can detect up to 100 words in an image. A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines. To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field. To be detected, text must be within +/- 90 degrees orientation of the horizontal axis. For more information, see DetectText in the Amazon Rekognition Developer Guide. + * Detects text in the input image and converts it into machine-readable text. Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file. The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image. A word is one or more script characters that are not separated by spaces. DetectText can detect up to 100 words in an image. A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines. To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field. To be detected, text must be within +/- 90 degrees orientation of the horizontal axis. For more information, see DetectText in the Amazon Rekognition Developer Guide. */ detectText(params: Rekognition.Types.DetectTextRequest, callback?: (err: AWSError, data: Rekognition.Types.DetectTextResponse) => void): Request; /** - * Detects text in the input image and converts it into machine-readable text. Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file. The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image. A word is one or more ISO basic latin script characters that are not separated by spaces. DetectText can detect up to 100 words in an image. A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines. To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field. To be detected, text must be within +/- 90 degrees orientation of the horizontal axis. For more information, see DetectText in the Amazon Rekognition Developer Guide. + * Detects text in the input image and converts it into machine-readable text. Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file. The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image. A word is one or more script characters that are not separated by spaces. DetectText can detect up to 100 words in an image. A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines. To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field. To be detected, text must be within +/- 90 degrees orientation of the horizontal axis. For more information, see DetectText in the Amazon Rekognition Developer Guide. */ detectText(callback?: (err: AWSError, data: Rekognition.Types.DetectTextResponse) => void): Request; /** @@ -2104,7 +2104,7 @@ declare namespace Rekognition { */ Type?: KnownGenderType; } - export type KnownGenderType = "Male"|"Female"|string; + export type KnownGenderType = "Male"|"Female"|"Nonbinary"|"Unlisted"|string; export interface Label { /** * The name (label) of the object or scene. diff --git a/dist/aws-sdk-core-react-native.js b/dist/aws-sdk-core-react-native.js index 74d5f40d52..582d715892 100644 --- a/dist/aws-sdk-core-react-native.js +++ b/dist/aws-sdk-core-react-native.js @@ -83,7 +83,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * @constant */ - VERSION: '2.1042.0', + VERSION: '2.1043.0', /** * @api private diff --git a/dist/aws-sdk-react-native.js b/dist/aws-sdk-react-native.js index 218eb5ee5f..319c9894b6 100644 --- a/dist/aws-sdk-react-native.js +++ b/dist/aws-sdk-react-native.js @@ -395,7 +395,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * @constant */ - VERSION: '2.1042.0', + VERSION: '2.1043.0', /** * @api private diff --git a/dist/aws-sdk.js b/dist/aws-sdk.js index ddf69468f5..74b58f5ac0 100644 --- a/dist/aws-sdk.js +++ b/dist/aws-sdk.js @@ -1,4 +1,4 @@ -// AWS SDK for JavaScript v2.1042.0 +// AWS SDK for JavaScript v2.1043.0 // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // License at https://sdk.amazonaws.com/js/BUNDLE_LICENSE.txt (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i-1});var o=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]","[object DataView]"];t.exports={isEmptyData:i,convertToBuffer:a}},{"buffer/":427}],334:[function(e,t,r){function i(e,t){this.hash=new e,this.outer=new e;var r=a(e,t),i=new Uint8Array(e.BLOCK_SIZE);i.set(r);for(var s=0;se.BLOCK_SIZE){var i=new e;i.update(r),r=i.digest()}var a=new Uint8Array(e.BLOCK_SIZE);return a.set(r),a}var s=e("./browserHashUtils");t.exports=i,i.prototype.update=function(e){if(s.isEmptyData(e)||this.error)return this;try{this.hash.update(s.convertToBuffer(e))}catch(e){this.error=e}return this},i.prototype.digest=function(e){return this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest(e)}},{"./browserHashUtils":333}],335:[function(e,t,r){function i(){this.state=[1732584193,4023233417,2562383102,271733878],this.buffer=new DataView(new ArrayBuffer(c)),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}function a(e,t,r,i,a,s){return((t=(t+e&4294967295)+(i+s&4294967295)&4294967295)<>>32-a)+r&4294967295}function s(e,t,r,i,s,o,n){return a(t&r|~t&i,e,t,s,o,n)}function o(e,t,r,i,s,o,n){return a(t&i|r&~i,e,t,s,o,n)}function n(e,t,r,i,s,o,n){return a(t^r^i,e,t,s,o,n)}function u(e,t,r,i,s,o,n){return a(r^(t|~i),e,t,s,o,n)}var p=e("./browserHashUtils"),m=e("buffer/").Buffer,c=64;t.exports=i,i.BLOCK_SIZE=c,i.prototype.update=function(e){if(p.isEmptyData(e))return this;if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=p.convertToBuffer(e),r=0,i=t.byteLength;for(this.bytesHashed+=i;i>0;)this.buffer.setUint8(this.bufferLength++,t[r++]),i--,this.bufferLength===c&&(this.hashBuffer(),this.bufferLength=0);return this},i.prototype.digest=function(e){if(!this.finished){var t=this,r=t.buffer,i=t.bufferLength,a=t.bytesHashed,s=8*a;if(r.setUint8(this.bufferLength++,128),i%c>=c-8){for(var o=this.bufferLength;o>>0,!0),r.setUint32(c-4,Math.floor(s/4294967296),!0),this.hashBuffer(),this.finished=!0}for(var n=new DataView(new ArrayBuffer(16)),o=0;o<4;o++)n.setUint32(4*o,this.state[o],!0);var u=new m(n.buffer,n.byteOffset,n.byteLength);return e?u.toString(e):u},i.prototype.hashBuffer=function(){var e=this,t=e.buffer,r=e.state,i=r[0],a=r[1],p=r[2],m=r[3];i=s(i,a,p,m,t.getUint32(0,!0),7,3614090360),m=s(m,i,a,p,t.getUint32(4,!0),12,3905402710),p=s(p,m,i,a,t.getUint32(8,!0),17,606105819),a=s(a,p,m,i,t.getUint32(12,!0),22,3250441966),i=s(i,a,p,m,t.getUint32(16,!0),7,4118548399),m=s(m,i,a,p,t.getUint32(20,!0),12,1200080426),p=s(p,m,i,a,t.getUint32(24,!0),17,2821735955),a=s(a,p,m,i,t.getUint32(28,!0),22,4249261313),i=s(i,a,p,m,t.getUint32(32,!0),7,1770035416),m=s(m,i,a,p,t.getUint32(36,!0),12,2336552879),p=s(p,m,i,a,t.getUint32(40,!0),17,4294925233),a=s(a,p,m,i,t.getUint32(44,!0),22,2304563134),i=s(i,a,p,m,t.getUint32(48,!0),7,1804603682),m=s(m,i,a,p,t.getUint32(52,!0),12,4254626195),p=s(p,m,i,a,t.getUint32(56,!0),17,2792965006),a=s(a,p,m,i,t.getUint32(60,!0),22,1236535329),i=o(i,a,p,m,t.getUint32(4,!0),5,4129170786),m=o(m,i,a,p,t.getUint32(24,!0),9,3225465664),p=o(p,m,i,a,t.getUint32(44,!0),14,643717713),a=o(a,p,m,i,t.getUint32(0,!0),20,3921069994),i=o(i,a,p,m,t.getUint32(20,!0),5,3593408605),m=o(m,i,a,p,t.getUint32(40,!0),9,38016083),p=o(p,m,i,a,t.getUint32(60,!0),14,3634488961),a=o(a,p,m,i,t.getUint32(16,!0),20,3889429448),i=o(i,a,p,m,t.getUint32(36,!0),5,568446438),m=o(m,i,a,p,t.getUint32(56,!0),9,3275163606),p=o(p,m,i,a,t.getUint32(12,!0),14,4107603335),a=o(a,p,m,i,t.getUint32(32,!0),20,1163531501),i=o(i,a,p,m,t.getUint32(52,!0),5,2850285829),m=o(m,i,a,p,t.getUint32(8,!0),9,4243563512),p=o(p,m,i,a,t.getUint32(28,!0),14,1735328473),a=o(a,p,m,i,t.getUint32(48,!0),20,2368359562),i=n(i,a,p,m,t.getUint32(20,!0),4,4294588738),m=n(m,i,a,p,t.getUint32(32,!0),11,2272392833),p=n(p,m,i,a,t.getUint32(44,!0),16,1839030562),a=n(a,p,m,i,t.getUint32(56,!0),23,4259657740),i=n(i,a,p,m,t.getUint32(4,!0),4,2763975236),m=n(m,i,a,p,t.getUint32(16,!0),11,1272893353),p=n(p,m,i,a,t.getUint32(28,!0),16,4139469664),a=n(a,p,m,i,t.getUint32(40,!0),23,3200236656),i=n(i,a,p,m,t.getUint32(52,!0),4,681279174),m=n(m,i,a,p,t.getUint32(0,!0),11,3936430074),p=n(p,m,i,a,t.getUint32(12,!0),16,3572445317),a=n(a,p,m,i,t.getUint32(24,!0),23,76029189),i=n(i,a,p,m,t.getUint32(36,!0),4,3654602809),m=n(m,i,a,p,t.getUint32(48,!0),11,3873151461),p=n(p,m,i,a,t.getUint32(60,!0),16,530742520),a=n(a,p,m,i,t.getUint32(8,!0),23,3299628645),i=u(i,a,p,m,t.getUint32(0,!0),6,4096336452),m=u(m,i,a,p,t.getUint32(28,!0),10,1126891415),p=u(p,m,i,a,t.getUint32(56,!0),15,2878612391),a=u(a,p,m,i,t.getUint32(20,!0),21,4237533241),i=u(i,a,p,m,t.getUint32(48,!0),6,1700485571),m=u(m,i,a,p,t.getUint32(12,!0),10,2399980690),p=u(p,m,i,a,t.getUint32(40,!0),15,4293915773),a=u(a,p,m,i,t.getUint32(4,!0),21,2240044497),i=u(i,a,p,m,t.getUint32(32,!0),6,1873313359),m=u(m,i,a,p,t.getUint32(60,!0),10,4264355552),p=u(p,m,i,a,t.getUint32(24,!0),15,2734768916),a=u(a,p,m,i,t.getUint32(52,!0),21,1309151649),i=u(i,a,p,m,t.getUint32(16,!0),6,4149444226),m=u(m,i,a,p,t.getUint32(44,!0),10,3174756917),p=u(p,m,i,a,t.getUint32(8,!0),15,718787259),a=u(a,p,m,i,t.getUint32(36,!0),21,3951481745),r[0]=i+r[0]&4294967295,r[1]=a+r[1]&4294967295,r[2]=p+r[2]&4294967295,r[3]=m+r[3]&4294967295}},{"./browserHashUtils":333,"buffer/":427}],336:[function(e,t,r){function i(){this.h0=1732584193,this.h1=4023233417,this.h2=2562383102,this.h3=271733878,this.h4=3285377520,this.block=new Uint32Array(80),this.offset=0,this.shift=24,this.totalLength=0}var a=e("buffer/").Buffer,s=e("./browserHashUtils");new Uint32Array([1518500249,1859775393,-1894007588,-899497514]),Math.pow(2,53);t.exports=i,i.BLOCK_SIZE=64,i.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");if(s.isEmptyData(e))return this;e=s.convertToBuffer(e);var t=e.length;this.totalLength+=8*t;for(var r=0;r14||14===this.offset&&this.shift<24)&&this.processBlock(),this.offset=14,this.shift=24,this.write(0),this.write(0),this.write(this.totalLength>0xffffffffff?this.totalLength/1099511627776:0),this.write(this.totalLength>4294967295?this.totalLength/4294967296:0);for(var t=24;t>=0;t-=8)this.write(this.totalLength>>t);var r=new a(20),i=new DataView(r.buffer);return i.setUint32(0,this.h0,!1),i.setUint32(4,this.h1,!1),i.setUint32(8,this.h2,!1),i.setUint32(12,this.h3,!1),i.setUint32(16,this.h4,!1),e?r.toString(e):r},i.prototype.processBlock=function(){for(var e=16;e<80;e++){var t=this.block[e-3]^this.block[e-8]^this.block[e-14]^this.block[e-16];this.block[e]=t<<1|t>>>31}var r,i,a=this.h0,s=this.h1,o=this.h2,n=this.h3,u=this.h4;for(e=0;e<80;e++){e<20?(r=n^s&(o^n),i=1518500249):e<40?(r=s^o^n,i=1859775393):e<60?(r=s&o|n&(s|o),i=2400959708):(r=s^o^n,i=3395469782);var p=(a<<5|a>>>27)+r+u+i+(0|this.block[e]);u=n,n=o,o=s<<30|s>>>2,s=a,a=p}for(this.h0=this.h0+a|0,this.h1=this.h1+s|0,this.h2=this.h2+o|0,this.h3=this.h3+n|0,this.h4=this.h4+u|0,this.offset=0,e=0;e<16;e++)this.block[e]=0}},{"./browserHashUtils":333,"buffer/":427}],337:[function(e,t,r){function i(){this.state=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}var a=e("buffer/").Buffer,s=e("./browserHashUtils"),o=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),n=Math.pow(2,53)-1;t.exports=i,i.BLOCK_SIZE=64,i.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");if(s.isEmptyData(e))return this;e=s.convertToBuffer(e);var t=0,r=e.byteLength;if(this.bytesHashed+=r,8*this.bytesHashed>n)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;r>0;)this.buffer[this.bufferLength++]=e[t++],r--,64===this.bufferLength&&(this.hashBuffer(),this.bufferLength=0);return this},i.prototype.digest=function(e){if(!this.finished){var t=8*this.bytesHashed,r=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),i=this.bufferLength;if(r.setUint8(this.bufferLength++,128),i%64>=56){for(var s=this.bufferLength;s<64;s++)r.setUint8(s,0);this.hashBuffer(),this.bufferLength=0}for(var s=this.bufferLength;s<56;s++)r.setUint8(s,0);r.setUint32(56,Math.floor(t/4294967296),!0),r.setUint32(60,t),this.hashBuffer(),this.finished=!0}for(var o=new a(32),s=0;s<8;s++)o[4*s]=this.state[s]>>>24&255,o[4*s+1]=this.state[s]>>>16&255,o[4*s+2]=this.state[s]>>>8&255,o[4*s+3]=this.state[s]>>>0&255;return e?o.toString(e):o},i.prototype.hashBuffer=function(){for(var e=this,t=e.buffer,r=e.state,i=r[0],a=r[1],s=r[2],n=r[3],u=r[4],p=r[5],m=r[6],c=r[7],l=0;l<64;l++){if(l<16)this.temp[l]=(255&t[4*l])<<24|(255&t[4*l+1])<<16|(255&t[4*l+2])<<8|255&t[4*l+3];else{var d=this.temp[l-2],y=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10;d=this.temp[l-15];var b=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3;this.temp[l]=(y+this.temp[l-7]|0)+(b+this.temp[l-16]|0)}var S=(((u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7))+(u&p^~u&m)|0)+(c+(o[l]+this.temp[l]|0)|0)|0,g=((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&a^i&s^a&s)|0;c=m,m=p,p=u,u=n+S|0,n=s,s=a,a=i,i=S+g|0}r[0]+=i,r[1]+=a,r[2]+=s,r[3]+=n,r[4]+=u,r[5]+=p,r[6]+=m,r[7]+=c}},{"./browserHashUtils":333,"buffer/":427}],338:[function(e,t,r){(function(r){(function(){var r=e("./util");r.crypto.lib=e("./browserCryptoLib"),r.Buffer=e("buffer/").Buffer,r.url=e("url/"),r.querystring=e("querystring/"),r.realClock=e("./realclock/browserClock"),r.environment="js",r.createEventStream=e("./event-stream/buffered-create-event-stream").createEventStream,r.isBrowser=function(){return!0},r.isNode=function(){return!1};var i=e("./core");if(t.exports=i,e("./credentials"),e("./credentials/credential_provider_chain"),e("./credentials/temporary_credentials"),e("./credentials/chainable_temporary_credentials"),e("./credentials/web_identity_credentials"),e("./credentials/cognito_identity_credentials"),e("./credentials/saml_credentials"),i.XML.Parser=e("./xml/browser_parser"),e("./http/xhr"),void 0===a)var a={browser:!0}}).call(this)}).call(this,e("_process"))},{"./browserCryptoLib":332,"./core":342,"./credentials":343,"./credentials/chainable_temporary_credentials":344,"./credentials/cognito_identity_credentials":345,"./credentials/credential_provider_chain":346,"./credentials/saml_credentials":347,"./credentials/temporary_credentials":348,"./credentials/web_identity_credentials":349,"./event-stream/buffered-create-event-stream":357,"./http/xhr":365,"./realclock/browserClock":384,"./util":418,"./xml/browser_parser":419,_process:432,"buffer/":427,"querystring/":439,"url/":441}],339:[function(e,t,r){var i=e("../core"),a=i.util.url,s=i.util.crypto.lib,o=i.util.base64.encode,n=i.util.inherit,u=function(e){var t={"+":"-","=":"_","/":"~"};return e.replace(/[\+=\/]/g,function(e){return t[e]})},p=function(e,t){var r=s.createSign("RSA-SHA1");return r.write(e),u(r.sign(t,"base64"))},m=function(e,t,r,i){var a=JSON.stringify({Statement:[{Resource:e,Condition:{DateLessThan:{"AWS:EpochTime":t}}}]});return{Expires:t,"Key-Pair-Id":r,Signature:p(a.toString(),i)}},c=function(e,t,r){return e=e.replace(/\s/gm,""),{Policy:u(o(e)),"Key-Pair-Id":t,Signature:p(e,r)}},l=function(e){var t=e.split("://") -;if(t.length<2)throw new Error("Invalid URL.");return t[0].replace("*","")},d=function(e){var t=a.parse(e);return t.path.replace(/^\//,"")+(t.hash||"")},y=function(e){switch(l(e)){case"http":case"https":return e;case"rtmp":return d(e);default:throw new Error("Invalid URI scheme. Scheme must be one of http, https, or rtmp")}},b=function(e,t){if(!t||"function"!=typeof t)throw e;t(e)},S=function(e,t){if(!t||"function"!=typeof t)return e;t(null,e)};i.CloudFront.Signer=n({constructor:function(e,t){if(void 0===e||void 0===t)throw new Error("A key pair ID and private key are required");this.keyPairId=e,this.privateKey=t},getSignedCookie:function(e,t){var r="policy"in e?c(e.policy,this.keyPairId,this.privateKey):m(e.url,e.expires,this.keyPairId,this.privateKey),i={};for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(i["CloudFront-"+a]=r[a]);return S(i,t)},getSignedUrl:function(e,t){try{var r=y(e.url)}catch(e){return b(e,t)}var i=a.parse(e.url,!0),s=Object.prototype.hasOwnProperty.call(e,"policy")?c(e.policy,this.keyPairId,this.privateKey):m(r,e.expires,this.keyPairId,this.privateKey);i.search=null;for(var o in s)Object.prototype.hasOwnProperty.call(s,o)&&(i.query[o]=s[o]);try{var n="rtmp"===l(e.url)?d(a.format(i)):a.format(i)}catch(e){return b(e,t)}return S(n,t)}}),t.exports=i.CloudFront.Signer},{"../core":342}],340:[function(e,t,r){var i=e("./core");e("./credentials"),e("./credentials/credential_provider_chain");var a;i.Config=i.util.inherit({constructor:function(e){void 0===e&&(e={}),e=this.extractCredentials(e),i.util.each.call(this,this.keys,function(t,r){this.set(t,e[t],r)})},getCredentials:function(e){function t(t){e(t,t?null:a.credentials)}function r(e,t){return new i.util.error(t||new Error,{code:"CredentialsError",message:e,name:"CredentialsError"})}var a=this;a.credentials?"function"==typeof a.credentials.get?function(){a.credentials.get(function(e){e&&(e=r("Could not load credentials from "+a.credentials.constructor.name,e)),t(e)})}():function(){var e=null;a.credentials.accessKeyId&&a.credentials.secretAccessKey||(e=r("Missing credentials")),t(e)}():a.credentialProvider?a.credentialProvider.resolve(function(e,i){e&&(e=r("Could not load credentials from any providers",e)),a.credentials=i,t(e)}):t(r("No credentials to load"))},update:function(e,t){t=t||!1,e=this.extractCredentials(e),i.util.each.call(this,e,function(e,r){(t||Object.prototype.hasOwnProperty.call(this.keys,e)||i.Service.hasService(e))&&this.set(e,r)})},loadFromPath:function(e){this.clear();var t=JSON.parse(i.util.readFileSync(e)),r=new i.FileSystemCredentials(e),a=new i.CredentialProviderChain;return a.providers.unshift(r),a.resolve(function(e,r){if(e)throw e;t.credentials=r}),this.constructor(t),this},clear:function(){i.util.each.call(this,this.keys,function(e){delete this[e]}),this.set("credentials",void 0),this.set("credentialProvider",void 0)},set:function(e,t,r){void 0===t?(void 0===r&&(r=this.keys[e]),this[e]="function"==typeof r?r.call(this):r):"httpOptions"===e&&this[e]?this[e]=i.util.merge(this[e],t):this[e]=t},keys:{credentials:null,credentialProvider:null,region:null,logger:null,apiVersions:{},apiVersion:null,endpoint:void 0,httpOptions:{timeout:12e4},maxRetries:void 0,maxRedirects:10,paramValidation:!0,sslEnabled:!0,s3ForcePathStyle:!1,s3BucketEndpoint:!1,s3DisableBodySigning:!0,s3UsEast1RegionalEndpoint:"legacy",s3UseArnRegion:void 0,computeChecksums:!0,convertResponseTypes:!0,correctClockSkew:!1,customUserAgent:null,dynamoDbCrc32:!0,systemClockOffset:0,signatureVersion:null,signatureCache:!0,retryDelayOptions:{},useAccelerateEndpoint:!1,clientSideMonitoring:!1,endpointDiscoveryEnabled:void 0,endpointCacheSize:1e3,hostPrefixEnabled:!0,stsRegionalEndpoints:"legacy",useFipsEndpoint:!1,useDualstackEndpoint:!1},extractCredentials:function(e){return e.accessKeyId&&e.secretAccessKey&&(e=i.util.copy(e),e.credentials=new i.Credentials(e)),e},setPromisesDependency:function(e){a=e,null===e&&"function"==typeof Promise&&(a=Promise);var t=[i.Request,i.Credentials,i.CredentialProviderChain];i.S3&&(t.push(i.S3),i.S3.ManagedUpload&&t.push(i.S3.ManagedUpload)),i.util.addPromises(t,a)},getPromisesDependency:function(){return a}}),i.config=new i.Config},{"./core":342,"./credentials":343,"./credentials/credential_provider_chain":346}],341:[function(e,t,r){(function(r){(function(){function i(e,t){if("string"==typeof e){if(["legacy","regional"].indexOf(e.toLowerCase())>=0)return e.toLowerCase();throw s.util.error(new Error,t)}}function a(e,t){e=e||{};var a;if(e[t.clientConfig]&&(a=i(e[t.clientConfig],{code:"InvalidConfiguration",message:'invalid "'+t.clientConfig+'" configuration. Expect "legacy" or "regional". Got "'+e[t.clientConfig]+'".'})))return a;if(!s.util.isNode())return a;if(Object.prototype.hasOwnProperty.call(r.env,t.env)){if(a=i(r.env[t.env],{code:"InvalidEnvironmentalVariable",message:"invalid "+t.env+' environmental variable. Expect "legacy" or "regional". Got "'+r.env[t.env]+'".'}))return a}var o={};try{o=s.util.getProfilesFromSharedConfig(s.util.iniLoader)[r.env.AWS_PROFILE||s.util.defaultProfile]}catch(e){}if(o&&Object.prototype.hasOwnProperty.call(o,t.sharedConfig)){if(a=i(o[t.sharedConfig],{code:"InvalidConfiguration",message:"invalid "+t.sharedConfig+' profile config. Expect "legacy" or "regional". Got "'+o[t.sharedConfig]+'".'}))return a}return a}var s=e("./core");t.exports=a}).call(this)}).call(this,e("_process"))},{"./core":342,_process:432}],342:[function(e,t,r){var i={util:e("./util")};({}).toString(),t.exports=i,i.util.update(i,{VERSION:"2.1042.0",Signers:{},Protocol:{Json:e("./protocol/json"),Query:e("./protocol/query"),Rest:e("./protocol/rest"),RestJson:e("./protocol/rest_json"),RestXml:e("./protocol/rest_xml")},XML:{Builder:e("./xml/builder"),Parser:null},JSON:{Builder:e("./json/builder"),Parser:e("./json/parser")},Model:{Api:e("./model/api"),Operation:e("./model/operation"),Shape:e("./model/shape"),Paginator:e("./model/paginator"),ResourceWaiter:e("./model/resource_waiter")},apiLoader:e("./api_loader"),EndpointCache:e("../vendor/endpoint-cache").EndpointCache}),e("./sequential_executor"),e("./service"),e("./config"),e("./http"),e("./event_listeners"),e("./request"),e("./response"),e("./resource_waiter"),e("./signers/request_signer"),e("./param_validator"),i.events=new i.SequentialExecutor,i.util.memoizedProperty(i,"endpointCache",function(){return new i.EndpointCache(i.config.endpointCacheSize)},!0)},{"../vendor/endpoint-cache":450,"./api_loader":331,"./config":340,"./event_listeners":363,"./http":364,"./json/builder":366,"./json/parser":367,"./model/api":368,"./model/operation":370,"./model/paginator":371,"./model/resource_waiter":372,"./model/shape":373,"./param_validator":374,"./protocol/json":377,"./protocol/query":378,"./protocol/rest":379,"./protocol/rest_json":380,"./protocol/rest_xml":381,"./request":388,"./resource_waiter":389,"./response":390,"./sequential_executor":392,"./service":393,"./signers/request_signer":410,"./util":418,"./xml/builder":420}],343:[function(e,t,r){var i=e("./core");i.Credentials=i.util.inherit({constructor:function(){if(i.util.hideProperties(this,["secretAccessKey"]),this.expired=!1,this.expireTime=null,this.refreshCallbacks=[],1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0].credentials||arguments[0];this.accessKeyId=e.accessKeyId,this.secretAccessKey=e.secretAccessKey,this.sessionToken=e.sessionToken}else this.accessKeyId=arguments[0],this.secretAccessKey=arguments[1],this.sessionToken=arguments[2]},expiryWindow:15,needsRefresh:function(){var e=i.util.date.getDate().getTime(),t=new Date(e+1e3*this.expiryWindow);return!!(this.expireTime&&t>this.expireTime)||(this.expired||!this.accessKeyId||!this.secretAccessKey)},get:function(e){var t=this;this.needsRefresh()?this.refresh(function(r){r||(t.expired=!1),e&&e(r)}):e&&e()},refresh:function(e){this.expired=!1,e()},coalesceRefresh:function(e,t){var r=this;1===r.refreshCallbacks.push(e)&&r.load(function(e){i.util.arrayEach(r.refreshCallbacks,function(r){t?r(e):i.util.defer(function(){r(e)})}),r.refreshCallbacks.length=0})},load:function(e){e()}}),i.Credentials.addPromisesToClass=function(e){this.prototype.getPromise=i.util.promisifyMethod("get",e),this.prototype.refreshPromise=i.util.promisifyMethod("refresh",e)},i.Credentials.deletePromisesFromClass=function(){delete this.prototype.getPromise,delete this.prototype.refreshPromise},i.util.addPromises(i.Credentials)},{"./core":342}],344:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.ChainableTemporaryCredentials=i.util.inherit(i.Credentials,{constructor:function(e){i.Credentials.call(this),e=e||{},this.errorCode="ChainableTemporaryCredentialsProviderFailure",this.expired=!0,this.tokenCodeFn=null;var t=i.util.copy(e.params)||{};if(t.RoleArn&&(t.RoleSessionName=t.RoleSessionName||"temporary-credentials"),t.SerialNumber){if(!e.tokenCodeFn||"function"!=typeof e.tokenCodeFn)throw new i.util.error(new Error("tokenCodeFn must be a function when params.SerialNumber is given"),{code:this.errorCode});this.tokenCodeFn=e.tokenCodeFn}var r=i.util.merge({params:t,credentials:e.masterCredentials||i.config.credentials},e.stsConfig||{});this.service=new a(r)},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this,r=t.service.config.params.RoleArn?"assumeRole":"getSessionToken";this.getTokenCode(function(i,a){var s={};if(i)return void e(i);a&&(s.TokenCode=a),t.service[r](s,function(r,i){r||t.service.credentialsFrom(i,t),e(r)})})},getTokenCode:function(e){var t=this;this.tokenCodeFn?this.tokenCodeFn(this.service.config.params.SerialNumber,function(r,a){if(r){var s=r;return r instanceof Error&&(s=r.message),void e(i.util.error(new Error("Error fetching MFA token: "+s),{code:t.errorCode}))}e(null,a)}):e(null)}})},{"../../clients/sts":326,"../core":342}],345:[function(e,t,r){var i=e("../core"),a=e("../../clients/cognitoidentity"),s=e("../../clients/sts");i.CognitoIdentityCredentials=i.util.inherit(i.Credentials,{localStorageKey:{id:"aws.cognito.identity-id.",providers:"aws.cognito.identity-providers."},constructor:function(e,t){i.Credentials.call(this),this.expired=!0,this.params=e,this.data=null,this._identityId=null,this._clientConfig=i.util.copy(t||{}),this.loadCachedId();var r=this;Object.defineProperty(this,"identityId",{get:function(){return r.loadCachedId(),r._identityId||r.params.IdentityId},set:function(e){r._identityId=e}})},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.data=null,t._identityId=null,t.getId(function(r){r?(t.clearIdOnNotAuthorized(r),e(r)):t.params.RoleArn?t.getCredentialsFromSTS(e):t.getCredentialsForIdentity(e)})},clearCachedId:function(){this._identityId=null,delete this.params.IdentityId;var e=this.params.IdentityPoolId,t=this.params.LoginId||"";delete this.storage[this.localStorageKey.id+e+t],delete this.storage[this.localStorageKey.providers+e+t]},clearIdOnNotAuthorized:function(e){var t=this;"NotAuthorizedException"==e.code&&t.clearCachedId()},getId:function(e){var t=this;if("string"==typeof t.params.IdentityId)return e(null,t.params.IdentityId);t.cognito.getId(function(r,i){!r&&i.IdentityId?(t.params.IdentityId=i.IdentityId,e(null,i.IdentityId)):e(r)})},loadCredentials:function(e,t){e&&t&&(t.expired=!1,t.accessKeyId=e.Credentials.AccessKeyId,t.secretAccessKey=e.Credentials.SecretKey,t.sessionToken=e.Credentials.SessionToken,t.expireTime=e.Credentials.Expiration)},getCredentialsForIdentity:function(e){var t=this;t.cognito.getCredentialsForIdentity(function(r,i){r?t.clearIdOnNotAuthorized(r):(t.cacheId(i),t.data=i,t.loadCredentials(t.data,t)),e(r)})},getCredentialsFromSTS:function(e){var t=this;t.cognito.getOpenIdToken(function(r,i){r?(t.clearIdOnNotAuthorized(r),e(r)):(t.cacheId(i),t.params.WebIdentityToken=i.Token,t.webIdentityCredentials.refresh(function(r){r||(t.data=t.webIdentityCredentials.data,t.sts.credentialsFrom(t.data,t)),e(r)}))})},loadCachedId:function(){var e=this;if(i.util.isBrowser()&&!e.params.IdentityId){var t=e.getStorage("id");if(t&&e.params.Logins){var r=Object.keys(e.params.Logins);0!==(e.getStorage("providers")||"").split(",").filter(function(e){return-1!==r.indexOf(e)}).length&&(e.params.IdentityId=t)}else t&&(e.params.IdentityId=t)}},createClients:function(){var e=this._clientConfig;if(this.webIdentityCredentials=this.webIdentityCredentials||new i.WebIdentityCredentials(this.params,e),!this.cognito){var t=i.util.merge({},e);t.params=this.params,this.cognito=new a(t)}this.sts=this.sts||new s(e)},cacheId:function(e){this._identityId=e.IdentityId,this.params.IdentityId=this._identityId,i.util.isBrowser()&&(this.setStorage("id",e.IdentityId),this.params.Logins&&this.setStorage("providers",Object.keys(this.params.Logins).join(",")))},getStorage:function(e){return this.storage[this.localStorageKey[e]+this.params.IdentityPoolId+(this.params.LoginId||"")]},setStorage:function(e,t){try{this.storage[this.localStorageKey[e]+this.params.IdentityPoolId+(this.params.LoginId||"")]=t}catch(e){}},storage:function(){try{var e=i.util.isBrowser()&&null!==window.localStorage&&"object"==typeof window.localStorage?window.localStorage:{};return e["aws.test-storage"]="foobar",delete e["aws.test-storage"],e}catch(e){return{}}}()})},{"../../clients/cognitoidentity":258,"../../clients/sts":326,"../core":342}],346:[function(e,t,r){var i=e("../core");i.CredentialProviderChain=i.util.inherit(i.Credentials,{constructor:function(e){this.providers=e||i.CredentialProviderChain.defaultProviders.slice(0),this.resolveCallbacks=[]},resolve:function(e){function t(e,o){if(!e&&o||a===s.length)return i.util.arrayEach(r.resolveCallbacks,function(t){t(e,o)}),void(r.resolveCallbacks.length=0);var n=s[a++];o="function"==typeof n?n.call():n,o.get?o.get(function(e){t(e,e?null:o)}):t(null,o)}var r=this;if(0===r.providers.length)return e(new Error("No providers")),r;if(1===r.resolveCallbacks.push(e)){var a=0,s=r.providers.slice(0);t()}return r}}),i.CredentialProviderChain.defaultProviders=[],i.CredentialProviderChain.addPromisesToClass=function(e){this.prototype.resolvePromise=i.util.promisifyMethod("resolve",e)},i.CredentialProviderChain.deletePromisesFromClass=function(){delete this.prototype.resolvePromise},i.util.addPromises(i.CredentialProviderChain)},{"../core":342}],347:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.SAMLCredentials=i.util.inherit(i.Credentials,{constructor:function(e){i.Credentials.call(this),this.expired=!0,this.params=e},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithSAML(function(r,i){r||t.service.credentialsFrom(i,t),e(r)})},createClients:function(){this.service=this.service||new a({params:this.params})}})},{"../../clients/sts":326,"../core":342}],348:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.TemporaryCredentials=i.util.inherit(i.Credentials,{constructor:function(e,t){i.Credentials.call(this),this.loadMasterCredentials(t),this.expired=!0,this.params=e||{},this.params.RoleArn&&(this.params.RoleSessionName=this.params.RoleSessionName||"temporary-credentials")},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.masterCredentials.get(function(){t.service.config.credentials=t.masterCredentials,(t.params.RoleArn?t.service.assumeRole:t.service.getSessionToken).call(t.service,function(r,i){r||t.service.credentialsFrom(i,t),e(r)})})},loadMasterCredentials:function(e){for(this.masterCredentials=e||i.config.credentials;this.masterCredentials.masterCredentials;)this.masterCredentials=this.masterCredentials.masterCredentials;"function"!=typeof this.masterCredentials.get&&(this.masterCredentials=new i.Credentials(this.masterCredentials))},createClients:function(){this.service=this.service||new a({params:this.params})}})},{"../../clients/sts":326,"../core":342}],349:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.WebIdentityCredentials=i.util.inherit(i.Credentials,{constructor:function(e,t){i.Credentials.call(this),this.expired=!0,this.params=e,this.params.RoleSessionName=this.params.RoleSessionName||"web-identity",this.data=null,this._clientConfig=i.util.copy(t||{})},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithWebIdentity(function(r,i){t.data=null,r||(t.data=i,t.service.credentialsFrom(i,t)),e(r)})},createClients:function(){if(!this.service){var e=i.util.merge({},this._clientConfig);e.params=this.params,this.service=new a(e)}}})},{"../../clients/sts":326,"../core":342}],350:[function(e,t,r){(function(r){(function(){function i(e){var t=e.service,r=t.api||{},i={};return t.config.region&&(i.region=t.config.region),r.serviceId&&(i.serviceId=r.serviceId),t.config.credentials.accessKeyId&&(i.accessKeyId=t.config.credentials.accessKeyId),i}function a(e,t,r){r&&void 0!==t&&null!==t&&"structure"===r.type&&r.required&&r.required.length>0&&b.arrayEach(r.required,function(i){var s=r.members[i];if(!0===s.endpointDiscoveryId){var o=s.isLocationName?s.name:i;e[o]=String(t[i])}else a(e,t[i],s)})}function s(e,t){var r={};return a(r,e.params,t),r}function o(e){var t=e.service,r=t.api,a=r.operations?r.operations[e.operation]:void 0,o=a?a.input:void 0,n=s(e,o),p=i(e);Object.keys(n).length>0&&(p=b.update(p,n),a&&(p.operation=a.name));var m=y.endpointCache.get(p);if(!m||1!==m.length||""!==m[0].Address)if(m&&m.length>0)e.httpRequest.updateEndpoint(m[0].Address);else{var c=t.makeRequest(r.endpointOperation,{Operation:a.name,Identifiers:n});u(c),c.removeListener("validate",y.EventListeners.Core.VALIDATE_PARAMETERS),c.removeListener("retry",y.EventListeners.Core.RETRY_CHECK),y.endpointCache.put(p,[{Address:"",CachePeriodInMinutes:1}]),c.send(function(e,t){t&&t.Endpoints?y.endpointCache.put(p,t.Endpoints):e&&y.endpointCache.put(p,[{Address:"",CachePeriodInMinutes:1}])})}}function n(e,t){var r=e.service,a=r.api,o=a.operations?a.operations[e.operation]:void 0,n=o?o.input:void 0,p=s(e,n),m=i(e);Object.keys(p).length>0&&(m=b.update(m,p),o&&(m.operation=o.name));var c=y.EndpointCache.getKeyString(m),l=y.endpointCache.get(c);if(l&&1===l.length&&""===l[0].Address)return g[c]||(g[c]=[]),void g[c].push({request:e,callback:t});if(l&&l.length>0)e.httpRequest.updateEndpoint(l[0].Address),t();else{var d=r.makeRequest(a.endpointOperation,{Operation:o.name,Identifiers:p});d.removeListener("validate",y.EventListeners.Core.VALIDATE_PARAMETERS),u(d),y.endpointCache.put(c,[{Address:"",CachePeriodInMinutes:60}]),d.send(function(r,i){if(r){if(e.response.error=b.error(r,{retryable:!1}),y.endpointCache.remove(m),g[c]){var a=g[c];b.arrayEach(a,function(e){e.request.response.error=b.error(r,{retryable:!1}),e.callback()}),delete g[c]}}else if(i&&(y.endpointCache.put(c,i.Endpoints),e.httpRequest.updateEndpoint(i.Endpoints[0].Address),g[c])){var a=g[c];b.arrayEach(a,function(e){e.request.httpRequest.updateEndpoint(i.Endpoints[0].Address),e.callback()}),delete g[c]}t()})}}function u(e){var t=e.service.api,r=t.apiVersion;r&&!e.httpRequest.headers["x-amz-api-version"]&&(e.httpRequest.headers["x-amz-api-version"]=r)}function p(e){var t=e.error,r=e.httpResponse;if(t&&("InvalidEndpointException"===t.code||421===r.statusCode)){var a=e.request,o=a.service.api.operations||{},n=o[a.operation]?o[a.operation].input:void 0,u=s(a,n),p=i(a);Object.keys(u).length>0&&(p=b.update(p,u),o[a.operation]&&(p.operation=o[a.operation].name)),y.endpointCache.remove(p)}}function m(e){if(e._originalConfig&&e._originalConfig.endpoint&&!0===e._originalConfig.endpointDiscoveryEnabled)throw b.error(new Error,{code:"ConfigurationException",message:"Custom endpoint is supplied; endpointDiscoveryEnabled must not be true."});var t=y.config[e.serviceIdentifier]||{};return Boolean(y.config.endpoint||t.endpoint||e._originalConfig&&e._originalConfig.endpoint)}function c(e){return["false","0"].indexOf(e)>=0}function l(e){var t=e.service||{};if(void 0!==t.config.endpointDiscoveryEnabled)return t.config.endpointDiscoveryEnabled;if(!b.isBrowser()){for(var i=0;i-1&&0===++e[t];t--);}var s=e("../core").util,o=s.buffer.toBuffer;i.fromNumber=function(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw new Error(e+" is too large (or, if negative, too small) to represent as an Int64");for(var t=new Uint8Array(8),r=7,s=Math.abs(Math.round(e));r>-1&&s>0;r--,s/=256)t[r]=s;return e<0&&a(t),new i(t)},i.prototype.valueOf=function(){var e=this.bytes.slice(0),t=128&e[0];return t&&a(e),parseInt(e.toString("hex"),16)*(t?-1:1)},i.prototype.toString=function(){return String(this.valueOf())},t.exports={Int64:i}},{"../core":342}],360:[function(e,t,r){function i(e,t,r){var i=s(t),o=i.headers[":message-type"];if(o){if("error"===o.value)throw a(i);if("event"!==o.value)return}var n=i.headers[":event-type"],u=r.members[n.value];if(u){var p={},m=u.eventPayloadMemberName;if(m){var c=u.members[m];"binary"===c.type?p[m]=i.body:p[m]=e.parse(i.body.toString(),c)}for(var l=u.eventHeaderMemberNames,d=0;d=0)return e.toLowerCase();throw s.util.error(new Error,t)}}function a(e,t){e=e||{};var a;if(e[t.clientConfig]&&(a=i(e[t.clientConfig],{code:"InvalidConfiguration",message:'invalid "'+t.clientConfig+'" configuration. Expect "legacy" or "regional". Got "'+e[t.clientConfig]+'".'})))return a;if(!s.util.isNode())return a;if(Object.prototype.hasOwnProperty.call(r.env,t.env)){if(a=i(r.env[t.env],{code:"InvalidEnvironmentalVariable",message:"invalid "+t.env+' environmental variable. Expect "legacy" or "regional". Got "'+r.env[t.env]+'".'}))return a}var o={};try{o=s.util.getProfilesFromSharedConfig(s.util.iniLoader)[r.env.AWS_PROFILE||s.util.defaultProfile]}catch(e){}if(o&&Object.prototype.hasOwnProperty.call(o,t.sharedConfig)){if(a=i(o[t.sharedConfig],{code:"InvalidConfiguration",message:"invalid "+t.sharedConfig+' profile config. Expect "legacy" or "regional". Got "'+o[t.sharedConfig]+'".'}))return a}return a}var s=e("./core");t.exports=a}).call(this)}).call(this,e("_process"))},{"./core":342,_process:432}],342:[function(e,t,r){var i={util:e("./util")};({}).toString(),t.exports=i,i.util.update(i,{VERSION:"2.1043.0",Signers:{},Protocol:{Json:e("./protocol/json"),Query:e("./protocol/query"),Rest:e("./protocol/rest"),RestJson:e("./protocol/rest_json"),RestXml:e("./protocol/rest_xml")},XML:{Builder:e("./xml/builder"),Parser:null},JSON:{Builder:e("./json/builder"),Parser:e("./json/parser")},Model:{Api:e("./model/api"),Operation:e("./model/operation"),Shape:e("./model/shape"),Paginator:e("./model/paginator"),ResourceWaiter:e("./model/resource_waiter")},apiLoader:e("./api_loader"),EndpointCache:e("../vendor/endpoint-cache").EndpointCache}),e("./sequential_executor"),e("./service"),e("./config"),e("./http"),e("./event_listeners"),e("./request"),e("./response"),e("./resource_waiter"),e("./signers/request_signer"),e("./param_validator"),i.events=new i.SequentialExecutor,i.util.memoizedProperty(i,"endpointCache",function(){return new i.EndpointCache(i.config.endpointCacheSize)},!0)},{"../vendor/endpoint-cache":450,"./api_loader":331,"./config":340,"./event_listeners":363,"./http":364,"./json/builder":366,"./json/parser":367,"./model/api":368,"./model/operation":370,"./model/paginator":371,"./model/resource_waiter":372,"./model/shape":373,"./param_validator":374,"./protocol/json":377,"./protocol/query":378,"./protocol/rest":379,"./protocol/rest_json":380,"./protocol/rest_xml":381,"./request":388,"./resource_waiter":389,"./response":390,"./sequential_executor":392,"./service":393,"./signers/request_signer":410,"./util":418,"./xml/builder":420}],343:[function(e,t,r){var i=e("./core");i.Credentials=i.util.inherit({constructor:function(){if(i.util.hideProperties(this,["secretAccessKey"]),this.expired=!1,this.expireTime=null,this.refreshCallbacks=[],1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0].credentials||arguments[0];this.accessKeyId=e.accessKeyId,this.secretAccessKey=e.secretAccessKey,this.sessionToken=e.sessionToken}else this.accessKeyId=arguments[0],this.secretAccessKey=arguments[1],this.sessionToken=arguments[2]},expiryWindow:15,needsRefresh:function(){var e=i.util.date.getDate().getTime(),t=new Date(e+1e3*this.expiryWindow);return!!(this.expireTime&&t>this.expireTime)||(this.expired||!this.accessKeyId||!this.secretAccessKey)},get:function(e){var t=this;this.needsRefresh()?this.refresh(function(r){r||(t.expired=!1),e&&e(r)}):e&&e()},refresh:function(e){this.expired=!1,e()},coalesceRefresh:function(e,t){var r=this;1===r.refreshCallbacks.push(e)&&r.load(function(e){i.util.arrayEach(r.refreshCallbacks,function(r){t?r(e):i.util.defer(function(){r(e)})}),r.refreshCallbacks.length=0})},load:function(e){e()}}),i.Credentials.addPromisesToClass=function(e){this.prototype.getPromise=i.util.promisifyMethod("get",e),this.prototype.refreshPromise=i.util.promisifyMethod("refresh",e)},i.Credentials.deletePromisesFromClass=function(){delete this.prototype.getPromise,delete this.prototype.refreshPromise},i.util.addPromises(i.Credentials)},{"./core":342}],344:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.ChainableTemporaryCredentials=i.util.inherit(i.Credentials,{constructor:function(e){i.Credentials.call(this),e=e||{},this.errorCode="ChainableTemporaryCredentialsProviderFailure",this.expired=!0,this.tokenCodeFn=null;var t=i.util.copy(e.params)||{};if(t.RoleArn&&(t.RoleSessionName=t.RoleSessionName||"temporary-credentials"),t.SerialNumber){if(!e.tokenCodeFn||"function"!=typeof e.tokenCodeFn)throw new i.util.error(new Error("tokenCodeFn must be a function when params.SerialNumber is given"),{code:this.errorCode});this.tokenCodeFn=e.tokenCodeFn}var r=i.util.merge({params:t,credentials:e.masterCredentials||i.config.credentials},e.stsConfig||{});this.service=new a(r)},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this,r=t.service.config.params.RoleArn?"assumeRole":"getSessionToken";this.getTokenCode(function(i,a){var s={};if(i)return void e(i);a&&(s.TokenCode=a),t.service[r](s,function(r,i){r||t.service.credentialsFrom(i,t),e(r)})})},getTokenCode:function(e){var t=this;this.tokenCodeFn?this.tokenCodeFn(this.service.config.params.SerialNumber,function(r,a){if(r){var s=r;return r instanceof Error&&(s=r.message),void e(i.util.error(new Error("Error fetching MFA token: "+s),{code:t.errorCode}))}e(null,a)}):e(null)}})},{"../../clients/sts":326,"../core":342}],345:[function(e,t,r){var i=e("../core"),a=e("../../clients/cognitoidentity"),s=e("../../clients/sts");i.CognitoIdentityCredentials=i.util.inherit(i.Credentials,{localStorageKey:{id:"aws.cognito.identity-id.",providers:"aws.cognito.identity-providers."},constructor:function(e,t){i.Credentials.call(this),this.expired=!0,this.params=e,this.data=null,this._identityId=null,this._clientConfig=i.util.copy(t||{}),this.loadCachedId();var r=this;Object.defineProperty(this,"identityId",{get:function(){return r.loadCachedId(),r._identityId||r.params.IdentityId},set:function(e){r._identityId=e}})},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.data=null,t._identityId=null,t.getId(function(r){r?(t.clearIdOnNotAuthorized(r),e(r)):t.params.RoleArn?t.getCredentialsFromSTS(e):t.getCredentialsForIdentity(e)})},clearCachedId:function(){this._identityId=null,delete this.params.IdentityId;var e=this.params.IdentityPoolId,t=this.params.LoginId||"";delete this.storage[this.localStorageKey.id+e+t],delete this.storage[this.localStorageKey.providers+e+t]},clearIdOnNotAuthorized:function(e){var t=this;"NotAuthorizedException"==e.code&&t.clearCachedId()},getId:function(e){var t=this;if("string"==typeof t.params.IdentityId)return e(null,t.params.IdentityId);t.cognito.getId(function(r,i){!r&&i.IdentityId?(t.params.IdentityId=i.IdentityId,e(null,i.IdentityId)):e(r)})},loadCredentials:function(e,t){e&&t&&(t.expired=!1,t.accessKeyId=e.Credentials.AccessKeyId,t.secretAccessKey=e.Credentials.SecretKey,t.sessionToken=e.Credentials.SessionToken,t.expireTime=e.Credentials.Expiration)},getCredentialsForIdentity:function(e){var t=this;t.cognito.getCredentialsForIdentity(function(r,i){r?t.clearIdOnNotAuthorized(r):(t.cacheId(i),t.data=i,t.loadCredentials(t.data,t)),e(r)})},getCredentialsFromSTS:function(e){var t=this;t.cognito.getOpenIdToken(function(r,i){r?(t.clearIdOnNotAuthorized(r),e(r)):(t.cacheId(i),t.params.WebIdentityToken=i.Token,t.webIdentityCredentials.refresh(function(r){r||(t.data=t.webIdentityCredentials.data,t.sts.credentialsFrom(t.data,t)),e(r)}))})},loadCachedId:function(){var e=this;if(i.util.isBrowser()&&!e.params.IdentityId){var t=e.getStorage("id");if(t&&e.params.Logins){var r=Object.keys(e.params.Logins);0!==(e.getStorage("providers")||"").split(",").filter(function(e){return-1!==r.indexOf(e)}).length&&(e.params.IdentityId=t)}else t&&(e.params.IdentityId=t)}},createClients:function(){var e=this._clientConfig;if(this.webIdentityCredentials=this.webIdentityCredentials||new i.WebIdentityCredentials(this.params,e),!this.cognito){var t=i.util.merge({},e);t.params=this.params,this.cognito=new a(t)}this.sts=this.sts||new s(e)},cacheId:function(e){this._identityId=e.IdentityId,this.params.IdentityId=this._identityId,i.util.isBrowser()&&(this.setStorage("id",e.IdentityId),this.params.Logins&&this.setStorage("providers",Object.keys(this.params.Logins).join(",")))},getStorage:function(e){return this.storage[this.localStorageKey[e]+this.params.IdentityPoolId+(this.params.LoginId||"")]},setStorage:function(e,t){try{this.storage[this.localStorageKey[e]+this.params.IdentityPoolId+(this.params.LoginId||"")]=t}catch(e){}},storage:function(){try{var e=i.util.isBrowser()&&null!==window.localStorage&&"object"==typeof window.localStorage?window.localStorage:{};return e["aws.test-storage"]="foobar",delete e["aws.test-storage"],e}catch(e){return{}}}()})},{"../../clients/cognitoidentity":258,"../../clients/sts":326,"../core":342}],346:[function(e,t,r){var i=e("../core");i.CredentialProviderChain=i.util.inherit(i.Credentials,{constructor:function(e){this.providers=e||i.CredentialProviderChain.defaultProviders.slice(0),this.resolveCallbacks=[]},resolve:function(e){function t(e,o){if(!e&&o||a===s.length)return i.util.arrayEach(r.resolveCallbacks,function(t){t(e,o)}),void(r.resolveCallbacks.length=0);var n=s[a++];o="function"==typeof n?n.call():n,o.get?o.get(function(e){t(e,e?null:o)}):t(null,o)}var r=this;if(0===r.providers.length)return e(new Error("No providers")),r;if(1===r.resolveCallbacks.push(e)){var a=0,s=r.providers.slice(0);t()}return r}}),i.CredentialProviderChain.defaultProviders=[],i.CredentialProviderChain.addPromisesToClass=function(e){this.prototype.resolvePromise=i.util.promisifyMethod("resolve",e)},i.CredentialProviderChain.deletePromisesFromClass=function(){delete this.prototype.resolvePromise},i.util.addPromises(i.CredentialProviderChain)},{"../core":342}],347:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.SAMLCredentials=i.util.inherit(i.Credentials,{constructor:function(e){i.Credentials.call(this),this.expired=!0,this.params=e},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithSAML(function(r,i){r||t.service.credentialsFrom(i,t),e(r)})},createClients:function(){this.service=this.service||new a({params:this.params})}})},{"../../clients/sts":326,"../core":342}],348:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.TemporaryCredentials=i.util.inherit(i.Credentials,{constructor:function(e,t){i.Credentials.call(this),this.loadMasterCredentials(t),this.expired=!0,this.params=e||{},this.params.RoleArn&&(this.params.RoleSessionName=this.params.RoleSessionName||"temporary-credentials")},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.masterCredentials.get(function(){t.service.config.credentials=t.masterCredentials,(t.params.RoleArn?t.service.assumeRole:t.service.getSessionToken).call(t.service,function(r,i){r||t.service.credentialsFrom(i,t),e(r)})})},loadMasterCredentials:function(e){for(this.masterCredentials=e||i.config.credentials;this.masterCredentials.masterCredentials;)this.masterCredentials=this.masterCredentials.masterCredentials;"function"!=typeof this.masterCredentials.get&&(this.masterCredentials=new i.Credentials(this.masterCredentials))},createClients:function(){this.service=this.service||new a({params:this.params})}})},{"../../clients/sts":326,"../core":342}],349:[function(e,t,r){var i=e("../core"),a=e("../../clients/sts");i.WebIdentityCredentials=i.util.inherit(i.Credentials,{constructor:function(e,t){i.Credentials.call(this),this.expired=!0,this.params=e,this.params.RoleSessionName=this.params.RoleSessionName||"web-identity",this.data=null,this._clientConfig=i.util.copy(t||{})},refresh:function(e){this.coalesceRefresh(e||i.util.fn.callback)},load:function(e){var t=this;t.createClients(),t.service.assumeRoleWithWebIdentity(function(r,i){t.data=null,r||(t.data=i,t.service.credentialsFrom(i,t)),e(r)})},createClients:function(){if(!this.service){var e=i.util.merge({},this._clientConfig);e.params=this.params,this.service=new a(e)}}})},{"../../clients/sts":326,"../core":342}],350:[function(e,t,r){(function(r){(function(){function i(e){var t=e.service,r=t.api||{},i={};return t.config.region&&(i.region=t.config.region),r.serviceId&&(i.serviceId=r.serviceId),t.config.credentials.accessKeyId&&(i.accessKeyId=t.config.credentials.accessKeyId),i}function a(e,t,r){r&&void 0!==t&&null!==t&&"structure"===r.type&&r.required&&r.required.length>0&&b.arrayEach(r.required,function(i){var s=r.members[i];if(!0===s.endpointDiscoveryId){var o=s.isLocationName?s.name:i;e[o]=String(t[i])}else a(e,t[i],s)})}function s(e,t){var r={};return a(r,e.params,t),r}function o(e){var t=e.service,r=t.api,a=r.operations?r.operations[e.operation]:void 0,o=a?a.input:void 0,n=s(e,o),p=i(e);Object.keys(n).length>0&&(p=b.update(p,n),a&&(p.operation=a.name));var m=y.endpointCache.get(p);if(!m||1!==m.length||""!==m[0].Address)if(m&&m.length>0)e.httpRequest.updateEndpoint(m[0].Address);else{var c=t.makeRequest(r.endpointOperation,{Operation:a.name,Identifiers:n});u(c),c.removeListener("validate",y.EventListeners.Core.VALIDATE_PARAMETERS),c.removeListener("retry",y.EventListeners.Core.RETRY_CHECK),y.endpointCache.put(p,[{Address:"",CachePeriodInMinutes:1}]),c.send(function(e,t){t&&t.Endpoints?y.endpointCache.put(p,t.Endpoints):e&&y.endpointCache.put(p,[{Address:"",CachePeriodInMinutes:1}])})}}function n(e,t){var r=e.service,a=r.api,o=a.operations?a.operations[e.operation]:void 0,n=o?o.input:void 0,p=s(e,n),m=i(e);Object.keys(p).length>0&&(m=b.update(m,p),o&&(m.operation=o.name));var c=y.EndpointCache.getKeyString(m),l=y.endpointCache.get(c);if(l&&1===l.length&&""===l[0].Address)return g[c]||(g[c]=[]),void g[c].push({request:e,callback:t});if(l&&l.length>0)e.httpRequest.updateEndpoint(l[0].Address),t();else{var d=r.makeRequest(a.endpointOperation,{Operation:o.name,Identifiers:p});d.removeListener("validate",y.EventListeners.Core.VALIDATE_PARAMETERS),u(d),y.endpointCache.put(c,[{Address:"",CachePeriodInMinutes:60}]),d.send(function(r,i){if(r){if(e.response.error=b.error(r,{retryable:!1}),y.endpointCache.remove(m),g[c]){var a=g[c];b.arrayEach(a,function(e){e.request.response.error=b.error(r,{retryable:!1}),e.callback()}),delete g[c]}}else if(i&&(y.endpointCache.put(c,i.Endpoints),e.httpRequest.updateEndpoint(i.Endpoints[0].Address),g[c])){var a=g[c];b.arrayEach(a,function(e){e.request.httpRequest.updateEndpoint(i.Endpoints[0].Address),e.callback()}),delete g[c]}t()})}}function u(e){var t=e.service.api,r=t.apiVersion;r&&!e.httpRequest.headers["x-amz-api-version"]&&(e.httpRequest.headers["x-amz-api-version"]=r)}function p(e){var t=e.error,r=e.httpResponse;if(t&&("InvalidEndpointException"===t.code||421===r.statusCode)){var a=e.request,o=a.service.api.operations||{},n=o[a.operation]?o[a.operation].input:void 0,u=s(a,n),p=i(a);Object.keys(u).length>0&&(p=b.update(p,u),o[a.operation]&&(p.operation=o[a.operation].name)),y.endpointCache.remove(p)}}function m(e){if(e._originalConfig&&e._originalConfig.endpoint&&!0===e._originalConfig.endpointDiscoveryEnabled)throw b.error(new Error,{code:"ConfigurationException",message:"Custom endpoint is supplied; endpointDiscoveryEnabled must not be true."});var t=y.config[e.serviceIdentifier]||{};return Boolean(y.config.endpoint||t.endpoint||e._originalConfig&&e._originalConfig.endpoint)}function c(e){return["false","0"].indexOf(e)>=0}function l(e){var t=e.service||{};if(void 0!==t.config.endpointDiscoveryEnabled)return t.config.endpointDiscoveryEnabled;if(!b.isBrowser()){for(var i=0;i-1&&0===++e[t];t--);}var s=e("../core").util,o=s.buffer.toBuffer;i.fromNumber=function(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw new Error(e+" is too large (or, if negative, too small) to represent as an Int64");for(var t=new Uint8Array(8),r=7,s=Math.abs(Math.round(e));r>-1&&s>0;r--,s/=256)t[r]=s;return e<0&&a(t),new i(t)},i.prototype.valueOf=function(){var e=this.bytes.slice(0),t=128&e[0];return t&&a(e),parseInt(e.toString("hex"),16)*(t?-1:1)},i.prototype.toString=function(){return String(this.valueOf())},t.exports={Int64:i}},{"../core":342}],360:[function(e,t,r){function i(e,t,r){var i=s(t),o=i.headers[":message-type"];if(o){if("error"===o.value)throw a(i);if("event"!==o.value)return}var n=i.headers[":event-type"],u=r.members[n.value];if(u){var p={},m=u.eventPayloadMemberName;if(m){var c=u.members[m];"binary"===c.type?p[m]=i.body:p[m]=e.parse(i.body.toString(),c)}for(var l=u.eventHeaderMemberNames,d=0;d=0)return e.httpRequest.headers["X-Amz-Content-Sha256"]="UNSIGNED-PAYLOAD",t();a.util.computeSha256(s,function(r,i){r?t(r):(e.httpRequest.headers["X-Amz-Content-Sha256"]=i,t())})}else t()}}),e("SET_CONTENT_LENGTH","afterBuild",function(e){var t=i(e),r=a.util.getRequestPayloadShape(e);if(void 0===e.httpRequest.headers["Content-Length"])try{var s=a.util.string.byteLength(e.httpRequest.body);e.httpRequest.headers["Content-Length"]=s}catch(i){if(r&&r.isStreaming){if(r.requiresLength)throw i;if(t.indexOf("unsigned-body")>=0)return void(e.httpRequest.headers["Transfer-Encoding"]="chunked");throw i}throw i}}),e("SET_HTTP_HOST","afterBuild",function(e){e.httpRequest.headers.Host=e.httpRequest.endpoint.host}),e("RESTART","restart",function(){var e=this.response.error;e&&e.retryable&&(this.httpRequest=new a.HttpRequest(this.service.endpoint,this.service.region),this.response.retryCount=600?this.emit("sign",[this],function(e){e?t(e):o()}):o()}),e("HTTP_HEADERS","httpHeaders",function(e,t,r,i){r.httpResponse.statusCode=e,r.httpResponse.statusMessage=i,r.httpResponse.headers=t,r.httpResponse.body=a.util.buffer.toBuffer(""),r.httpResponse.buffers=[],r.httpResponse.numBytes=0;var s=t.date||t.Date,o=r.request.service;if(s){var n=Date.parse(s);o.config.correctClockSkew&&o.isClockSkewed(n)&&o.applyClockOffset(n)}}),e("HTTP_DATA","httpData",function(e,t){if(e){if(a.util.isNode()){t.httpResponse.numBytes+=e.length;var r=t.httpResponse.headers["content-length"],i={loaded:t.httpResponse.numBytes,total:r};t.request.emit("httpDownloadProgress",[i,t])}t.httpResponse.buffers.push(a.util.buffer.toBuffer(e))}}),e("HTTP_DONE","httpDone",function(e){if(e.httpResponse.buffers&&e.httpResponse.buffers.length>0){var t=a.util.buffer.concat(e.httpResponse.buffers);e.httpResponse.body=t}delete e.httpResponse.numBytes,delete e.httpResponse.buffers}),e("FINALIZE_ERROR","retry",function(e){e.httpResponse.statusCode&&(e.error.statusCode=e.httpResponse.statusCode,void 0===e.error.retryable&&(e.error.retryable=this.service.retryableError(e.error,this)))}),e("INVALIDATE_CREDENTIALS","retry",function(e){if(e.error)switch(e.error.code){case"RequestExpired":case"ExpiredTokenException":case"ExpiredToken":e.error.retryable=!0,e.request.service.config.credentials.expired=!0}}),e("EXPIRED_SIGNATURE","retry",function(e){var t=e.error;t&&"string"==typeof t.code&&"string"==typeof t.message&&t.code.match(/Signature/)&&t.message.match(/expired/)&&(e.error.retryable=!0)}),e("CLOCK_SKEWED","retry",function(e){e.error&&this.service.clockSkewError(e.error)&&this.service.config.correctClockSkew&&(e.error.retryable=!0)}),e("REDIRECT","retry",function(e){e.error&&e.error.statusCode>=300&&e.error.statusCode<400&&e.httpResponse.headers.location&&(this.httpRequest.endpoint=new a.Endpoint(e.httpResponse.headers.location),this.httpRequest.headers.Host=this.httpRequest.endpoint.host,e.error.redirect=!0,e.error.retryable=!0)}),e("RETRY_CHECK","retry",function(e){e.error&&(e.error.redirect&&e.redirectCount=0?(e.error=null,setTimeout(t,r)):t()})}),CorePost:(new s).addNamedListeners(function(e){e("EXTRACT_REQUEST_ID","extractData",a.util.extractRequestId),e("EXTRACT_REQUEST_ID","extractError",a.util.extractRequestId),e("ENOTFOUND_ERROR","httpError",function(e){if("NetworkingError"===e.code&&function(e){return"ENOTFOUND"===e.errno||"number"==typeof e.errno&&"function"==typeof a.util.getSystemErrorName&&["EAI_NONAME","EAI_NODATA"].indexOf(a.util.getSystemErrorName(e.errno)>=0)}(e)){var t="Inaccessible host: `"+e.hostname+"' at port `"+e.port+"'. This service may not be available in the `"+e.region+"' region.";this.response.error=a.util.error(new Error(t),{code:"UnknownEndpoint",region:e.region,hostname:e.hostname,retryable:!0,originalError:e})}})}),Logger:(new s).addNamedListeners(function(t){t("LOG_REQUEST","complete",function(t){function r(e,t){if(!t)return t;if(e.isSensitive)return"***SensitiveInformation***";switch(e.type){case"structure":var i={};return a.util.each(t,function(t,a){Object.prototype.hasOwnProperty.call(e.members,t)?i[t]=r(e.members[t],a):i[t]=a}),i;case"list":var s=[];return a.util.arrayEach(t,function(t,i){s.push(r(e.member,t))}),s;case"map":var o={};return a.util.each(t,function(t,i){o[t]=r(e.value,i)}),o;default:return t}}var i=t.request,s=i.service.config.logger;if(s){var o=function(){var o=t.request.service.getSkewCorrectedDate().getTime(),n=(o-i.startTime.getTime())/1e3,u=!!s.isTTY,p=t.httpResponse.statusCode,m=i.params;if(i.service.api.operations&&i.service.api.operations[i.operation]&&i.service.api.operations[i.operation].input){m=r(i.service.api.operations[i.operation].input,i.params)}var c=e("util").inspect(m,!0,null),l="";return u&&(l+=""),l+="[AWS "+i.service.serviceIdentifier+" "+p,l+=" "+n.toString()+"s "+t.retryCount+" retries]",u&&(l+=""),l+=" "+a.util.string.lowerFirst(i.operation),l+="("+c+")",u&&(l+=""),l}();"function"==typeof s.log?s.log(o):"function"==typeof s.write&&s.write(o+"\n")}})}),Json:(new s).addNamedListeners(function(t){var r=e("./protocol/json");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),Rest:(new s).addNamedListeners(function(t){var r=e("./protocol/rest");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),RestJson:(new s).addNamedListeners(function(t){var r=e("./protocol/rest_json");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),RestXml:(new s).addNamedListeners(function(t){var r=e("./protocol/rest_xml");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)}),Query:(new s).addNamedListeners(function(t){var r=e("./protocol/query");t("BUILD","build",r.buildRequest),t("EXTRACT_DATA","extractData",r.extractData),t("EXTRACT_ERROR","extractError",r.extractError)})}},{"./core":342,"./discover_endpoint":350,"./protocol/json":377,"./protocol/query":378,"./protocol/rest":379,"./protocol/rest_json":380,"./protocol/rest_xml":381,"./sequential_executor":392,util:444}],364:[function(e,t,r){var i=e("./core"),a=i.util.inherit;i.Endpoint=a({constructor:function(e,t){if(i.util.hideProperties(this,["slashes","auth","hash","search","query"]),void 0===e||null===e)throw new Error("Invalid endpoint: "+e);if("string"!=typeof e)return i.util.copy(e);if(!e.match(/^http/)){e=((t&&void 0!==t.sslEnabled?t.sslEnabled:i.config.sslEnabled)?"https":"http")+"://"+e}i.util.update(this,i.util.urlParse(e)),this.port?this.port=parseInt(this.port,10):this.port="https:"===this.protocol?443:80}}),i.HttpRequest=a({constructor:function(e,t){e=new i.Endpoint(e),this.method="POST",this.path=e.path||"/",this.headers={},this.body="",this.endpoint=e,this.region=t,this._userAgent="",this.setUserAgent()},setUserAgent:function(){this._userAgent=this.headers[this.getUserAgentHeaderName()]=i.util.userAgent()},getUserAgentHeaderName:function(){return(i.util.isBrowser()?"X-Amz-":"")+"User-Agent"},appendToUserAgent:function(e){"string"==typeof e&&e&&(this._userAgent+=" "+e),this.headers[this.getUserAgentHeaderName()]=this._userAgent},getUserAgent:function(){return this._userAgent},pathname:function(){return this.path.split("?",1)[0]},search:function(){var e=this.path.split("?",2)[1];return e?(e=i.util.queryStringParse(e),i.util.queryParamsToString(e)):""},updateEndpoint:function(e){var t=new i.Endpoint(e);this.endpoint=t,this.path=t.path||"/",this.headers.Host&&(this.headers.Host=t.host)}}),i.HttpResponse=a({constructor:function(){this.statusCode=void 0,this.headers={},this.body=void 0,this.streaming=!1,this.stream=null},createUnbufferedStream:function(){return this.streaming=!0,this.stream}}),i.HttpClient=a({}),i.HttpClient.getInstance=function(){return void 0===this.singleton&&(this.singleton=new this),this.singleton}},{"./core":342}],365:[function(e,t,r){var i=e("../core"),a=e("events").EventEmitter;e("../http"),i.XHRClient=i.util.inherit({handleRequest:function(e,t,r,s){var o=this,n=e.endpoint,u=new a,p=n.protocol+"//"+n.hostname;80!==n.port&&443!==n.port&&(p+=":"+n.port),p+=e.path;var m=new XMLHttpRequest,c=!1;e.stream=m,m.addEventListener("readystatechange",function(){try{if(0===m.status)return}catch(e){return}this.readyState>=this.HEADERS_RECEIVED&&!c&&(u.statusCode=m.status,u.headers=o.parseHeaders(m.getAllResponseHeaders()),u.emit("headers",u.statusCode,u.headers,m.statusText),c=!0),this.readyState===this.DONE&&o.finishRequest(m,u)},!1),m.upload.addEventListener("progress",function(e){u.emit("sendProgress",e)}),m.addEventListener("progress",function(e){u.emit("receiveProgress",e)},!1),m.addEventListener("timeout",function(){s(i.util.error(new Error("Timeout"),{code:"TimeoutError"}))},!1),m.addEventListener("error",function(){s(i.util.error(new Error("Network Failure"),{code:"NetworkingError"}))},!1),m.addEventListener("abort",function(){s(i.util.error(new Error("Request aborted"),{code:"RequestAbortedError"}))},!1),r(u),m.open(e.method,p,!1!==t.xhrAsync),i.util.each(e.headers,function(e,t){"Content-Length"!==e&&"User-Agent"!==e&&"Host"!==e&&m.setRequestHeader(e,t)}),t.timeout&&!1!==t.xhrAsync&&(m.timeout=t.timeout),t.xhrWithCredentials&&(m.withCredentials=!0);try{m.responseType="arraybuffer"}catch(e){}try{e.body?m.send(e.body):m.send()}catch(t){if(!e.body||"object"!=typeof e.body.buffer)throw t;m.send(e.body.buffer)}return u},parseHeaders:function(e){var t={};return i.util.arrayEach(e.split(/\r?\n/),function(e){var r=e.split(":",1)[0],i=e.substring(r.length+2);r.length>0&&(t[r.toLowerCase()]=i)}),t},finishRequest:function(e,t){var r;if("arraybuffer"===e.responseType&&e.response){var a=e.response;r=new i.util.Buffer(a.byteLength);for(var s=new Uint8Array(a),o=0;o-1?t||"":t,this.isJsonValue?JSON.parse(t):t&&"function"==typeof t.toString?t.toString():t},this.toWireFormat=function(e){return this.isJsonValue?JSON.stringify(e):e}}function l(){s.apply(this,arguments),this.toType=function(e){return null===e||void 0===e?null:parseFloat(e)},this.toWireFormat=this.toType}function d(){s.apply(this,arguments),this.toType=function(e){return null===e||void 0===e?null:parseInt(e,10)},this.toWireFormat=this.toType}function y(){s.apply(this,arguments),this.toType=function(e){var t=h.base64.decode(e);if(this.isSensitive&&h.isNode()&&"function"==typeof h.Buffer.alloc){var r=h.Buffer.alloc(t.length,t);t.fill(0),t=r}return t},this.toWireFormat=h.base64.encode}function b(){y.apply(this,arguments)}function S(){s.apply(this,arguments),this.toType=function(e){return"boolean"==typeof e?e:null===e||void 0===e?null:"true"===e}}var g=e("./collection"),h=e("../util");s.normalizedTypes={character:"string",double:"float",long:"integer",short:"integer",biginteger:"integer",bigdecimal:"float",blob:"binary"},s.types={structure:n,list:u,map:p,boolean:S,timestamp:m,float:l,integer:d,string:c,base64:b,binary:y},s.resolve=function(e,t){if(e.shape){var r=t.api.shapes[e.shape];if(!r)throw new Error("Cannot find shape reference: "+e.shape);return r}return null},s.create=function(e,t,r){if(e.isShape)return e;var i=s.resolve(e,t);if(i){var a=Object.keys(e);t.documentation||(a=a.filter(function(e){return!e.match(/documentation/)}));var o=function(){i.constructor.call(this,e,t,r)};return o.prototype=i,new o}e.type||(e.members?e.type="structure":e.member?e.type="list":e.key?e.type="map":e.type="string");var n=e.type;if(s.normalizedTypes[e.type]&&(e.type=s.normalizedTypes[e.type]),s.types[e.type])return new s.types[e.type](e,t,r);throw new Error("Unrecognized shape type: "+n)},s.shapes={StructureShape:n,ListShape:u,MapShape:p,StringShape:c,BooleanShape:S,Base64Shape:b},t.exports=s},{"../util":418,"./collection":369}],374:[function(e,t,r){var i=e("./core");i.ParamValidator=i.util.inherit({constructor:function(e){!0!==e&&void 0!==e||(e={min:!0}),this.validation=e},validate:function(e,t,r){if(this.errors=[],this.validateMember(e,t||{},r||"params"),this.errors.length>1){var a=this.errors.join("\n* ");throw a="There were "+this.errors.length+" validation errors:\n* "+a,i.util.error(new Error(a),{code:"MultipleValidationErrors",errors:this.errors})}if(1===this.errors.length)throw this.errors[0];return!0},fail:function(e,t){this.errors.push(i.util.error(new Error(t),{code:e}))},validateStructure:function(e,t,r){this.validateType(t,r,["object"],"structure");for(var i,a=0;e.required&&a= 1, but found "'+t+'" for '+r)},validatePattern:function(e,t,r){this.validation.pattern&&void 0!==e.pattern&&(new RegExp(e.pattern).test(t)||this.fail("PatternMatchError",'Provided value "'+t+'" does not match regex pattern /'+e.pattern+"/ for "+r))},validateRange:function(e,t,r,i){this.validation.min&&void 0!==e.min&&t= "+e.min+", but found "+t+" for "+r),this.validation.max&&void 0!==e.max&&t>e.max&&this.fail("MaxRangeError","Expected "+i+" <= "+e.max+", but found "+t+" for "+r)},validateEnum:function(e,t,r){this.validation.enum&&void 0!==e.enum&&-1===e.enum.indexOf(t)&&this.fail("EnumError","Found string value of "+t+", but expected "+e.enum.join("|")+" for "+r)},validateType:function(e,t,r,a){if(null===e||void 0===e)return!1;for(var s=!1,o=0;o63)throw u.error(new Error,{code:"ValidationError",message:"Hostname label length should be between 1 to 63 characters, inclusive."});if(!r.test(e))throw p.util.error(new Error,{code:"ValidationError",message:e+" is not hostname compatible."})})}var u=e("../util"),p=e("../core");t.exports={populateHostPrefix:i}},{"../core":342,"../util":418}],377:[function(e,t,r){function i(e){var t=e.httpRequest,r=e.service.api,i=r.targetPrefix+"."+r.operations[e.operation].name,a=r.jsonVersion||"1.0",s=r.operations[e.operation].input,o=new n;1===a&&(a="1.0"),t.body=o.build(e.params||{},s),t.headers["Content-Type"]="application/x-amz-json-"+a,t.headers["X-Amz-Target"]=i,p(e)}function a(e){var t={},r=e.httpResponse;if(t.code=r.headers["x-amzn-errortype"]||"UnknownError","string"==typeof t.code&&(t.code=t.code.split(":")[0]),r.body.length>0)try{var i=JSON.parse(r.body.toString()),a=i.__type||i.code||i.Code;a&&(t.code=a.split("#").pop()),"RequestEntityTooLarge"===t.code?t.message="Request body must be less than 1 MB":t.message=i.message||i.Message||null}catch(i){t.statusCode=r.statusCode,t.message=r.statusMessage}else t.statusCode=r.statusCode,t.message=r.statusCode.toString();e.error=o.error(new Error,t)}function s(e){var t=e.httpResponse.body.toString()||"{}";if(!1===e.request.service.config.convertResponseTypes)e.data=JSON.parse(t);else{var r=e.request.service.api.operations[e.request.operation],i=r.output||{},a=new u;e.data=a.parse(t,i)}}var o=e("../util"),n=e("../json/builder"),u=e("../json/parser"),p=e("./helpers").populateHostPrefix;t.exports={buildRequest:i,extractError:a,extractData:s}},{"../json/builder":366,"../json/parser":367,"../util":418,"./helpers":376}],378:[function(e,t,r){function i(e){var t=e.service.api.operations[e.operation],r=e.httpRequest;r.headers["Content-Type"]="application/x-www-form-urlencoded; charset=utf-8",r.params={Version:e.service.api.apiVersion,Action:t.name},(new u).serialize(e.params,t.input,function(e,t){r.params[e]=t}),r.body=n.queryParamsToString(r.params),m(e)}function a(e){var t,r=e.httpResponse.body.toString();if(r.match("=0?"&":"?";var n=[];m.arrayEach(Object.keys(s).sort(),function(e){Array.isArray(s[e])||(s[e]=[s[e]]);for(var t=0;t0){t=new n.XML.Parser;var c=t.parse(i.toString(),s);u.update(e.data,c)}}var n=e("../core"),u=e("../util"),p=e("./rest");t.exports={buildRequest:a,extractError:s,extractData:o}},{"../core":342,"../util":418,"./rest":379}],382:[function(e,t,r){function i(){}function a(e){return e.isQueryName||"ec2"!==e.api.protocol?e.name:e.name[0].toUpperCase()+e.name.substr(1)}function s(e,t,r,i){p.each(r.members,function(r,s){var o=t[r];if(null!==o&&void 0!==o){var n=a(s);n=e?e+"."+n:n,u(n,o,s,i)}})}function o(e,t,r,i){var a=1;p.each(t,function(t,s){var o=r.flattened?".":".entry.",n=o+a+++".",p=n+(r.key.name||"key"),m=n+(r.value.name||"value");u(e+p,t,r.key,i),u(e+m,s,r.value,i)})}function n(e,t,r,i){var s=r.member||{};if(0===t.length)return void i.call(this,e,null);p.arrayEach(t,function(t,o){var n="."+(o+1);if("ec2"===r.api.protocol)n+="";else if(r.flattened){if(s.name){var p=e.split(".");p.pop(),p.push(a(s)),e=p.join(".")}}else n="."+(s.name?s.name:"member")+n;u(e+n,t,s,i)})}function u(e,t,r,i){null!==t&&void 0!==t&&("structure"===r.type?s(e,t,r,i):"list"===r.type?n(e,t,r,i):"map"===r.type?o(e,t,r,i):i(e,r.toWireFormat(t).toString()))}var p=e("../util");i.prototype.serialize=function(e,t,r){s("",e,t,r)},t.exports=i},{"../util":418}],383:[function(e,t,r){var i=e("../core"),a=null,s={signatureVersion:"v4",signingName:"rds-db",operations:{}},o={region:"string",hostname:"string",port:"number",username:"string"};i.RDS.Signer=i.util.inherit({constructor:function(e){this.options=e||{}},convertUrlToAuthToken:function(e){if(0===e.indexOf("https://"))return e.substring("https://".length)},getAuthToken:function(e,t){"function"==typeof e&&void 0===t&&(t=e,e={});var r=this,o="function"==typeof t;e=i.util.merge(this.options,e);var n=this.validateAuthTokenOptions(e);if(!0!==n){if(o)return t(n,null);throw n}var u={region:e.region,endpoint:new i.Endpoint(e.hostname+":"+e.port),paramValidation:!1,signatureVersion:"v4"};e.credentials&&(u.credentials=e.credentials),a=new i.Service(u),a.api=s;var p=a.makeRequest();if(this.modifyRequestForAuthToken(p,e),!o){var m=p.presign(900);return this.convertUrlToAuthToken(m)}p.presign(900,function(e,i){i&&(i=r.convertUrlToAuthToken(i)),t(e,i)})},modifyRequestForAuthToken:function(e,t){e.on("build",e.buildAsGet),e.httpRequest.body=i.util.queryParamsToString({Action:"connect",DBUser:t.username})},validateAuthTokenOptions:function(e){var t="";e=e||{};for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&typeof e[r]!==o[r]&&(t+="option '"+r+"' should have been type '"+o[r]+"', was '"+typeof e[r]+"'.\n");return!t.length||i.util.error(new Error,{code:"InvalidParameter",message:t})}})},{"../core":342}],384:[function(e,t,r){t.exports={now:function(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}}},{}],385:[function(e,t,r){function i(e){return"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips"))}function a(e){return"string"==typeof e&&["aws-global","aws-us-gov-global"].includes(e)}function s(e){return["fips-aws-global","aws-fips","aws-global"].includes(e)?"us-east-1":["fips-aws-us-gov-global","aws-us-gov-global"].includes(e)?"us-gov-west-1":e.replace(/fips-(dkr-|prod-)?|-fips/,"")}t.exports={isFipsRegion:i,isGlobalRegion:a,getRealRegion:s}},{}],386:[function(e,t,r){function i(e){if(!e)return null;var t=e.split("-");return t.length<3?null:t.slice(0,t.length-2).join("-")+"-*"}function a(e){var t=e.config.region,r=i(t),a=e.api.endpointPrefix;return[[t,a],[r,a],[t,"*"],[r,"*"],["*",a],["*","*"]].map(function(e){return e[0]&&e[1]?e.join("/"):null})}function s(e,t){u.each(t,function(t,r){"globalEndpoint"!==t&&(void 0!==e.config[t]&&null!==e.config[t]||(e.config[t]=r))})}function o(e){for(var t=a(e),r=e.config.useFipsEndpoint,i=e.config.useDualstackEndpoint,o=0;o=0){u=!0;var p=0}var m=function(){u&&p!==n?a.emit("error",i.util.error(new Error("Stream content length mismatch. Received "+p+" of "+n+" bytes."),{code:"StreamContentLengthMismatch"})):2===i.HttpClient.streamsApiVersion?a.end():a.emit("end")},c=o.httpResponse.createUnbufferedStream();if(2===i.HttpClient.streamsApiVersion)if(u){var l=new e.PassThrough;l._write=function(t){return t&&t.length&&(p+=t.length),e.PassThrough.prototype._write.apply(this,arguments)},l.on("end",m),a.on("error",function(e){u=!1,c.unpipe(l),l.emit("end"),l.end()}),c.pipe(l).pipe(a,{end:!1})}else c.pipe(a);else u&&c.on("data",function(e){e&&e.length&&(p+=e.length)}),c.on("data",function(e){a.emit("data",e)}),c.on("end",m);c.on("error",function(e){u=!1,a.emit("error",e)})}}),a},emitEvent:function(e,t,r){"function"==typeof t&&(r=t,t=null),r||(r=function(){}),t||(t=this.eventParameters(e,this.response)),i.SequentialExecutor.prototype.emit.call(this,e,t,function(e){e&&(this.response.error=e),r.call(this,e)})},eventParameters:function(e){switch(e){case"restart":case"validate":case"sign":case"build":case"afterValidate":case"afterBuild":return[this];case"error":return[this.response.error,this.response];default:return[this.response]}},presign:function(e,t){return t||"function"!=typeof e||(t=e,e=null),(new i.Signers.Presign).sign(this.toGet(),e,t)},isPresigned:function(){return Object.prototype.hasOwnProperty.call(this.httpRequest.headers,"presigned-expires")},toUnauthenticated:function(){return this._unAuthenticated=!0,this.removeListener("validate",i.EventListeners.Core.VALIDATE_CREDENTIALS),this.removeListener("sign",i.EventListeners.Core.SIGN),this},toGet:function(){return"query"!==this.service.api.protocol&&"ec2"!==this.service.api.protocol||(this.removeListener("build",this.buildAsGet),this.addListener("build",this.buildAsGet)),this},buildAsGet:function(e){e.httpRequest.method="GET",e.httpRequest.path=e.service.endpoint.path+"?"+e.httpRequest.body,e.httpRequest.body="",delete e.httpRequest.headers["Content-Length"],delete e.httpRequest.headers["Content-Type"]},haltHandlersOnError:function(){this._haltHandlersOnError=!0}}),i.Request.addPromisesToClass=function(e){this.prototype.promise=function(){var t=this;return this.httpRequest.appendToUserAgent("promise"),new e(function(e,r){t.on("complete",function(t){t.error?r(t.error):e(Object.defineProperty(t.data||{},"$response",{value:t}))}),t.runTo()})}},i.Request.deletePromisesFromClass=function(){delete this.prototype.promise},i.util.addPromises(i.Request),i.util.mixin(i.Request,i.SequentialExecutor)}).call(this)}).call(this,e("_process"))},{"./core":342,"./state_machine":417,_process:432,jmespath:431}],389:[function(e,t,r){function i(e){var t=e.request._waiter,r=t.config.acceptors,i=!1,a="retry";r.forEach(function(r){if(!i){var s=t.matchers[r.matcher];s&&s(e,r.expected,r.argument)&&(i=!0,a=r.state)}}),!i&&e.error&&(a="failure"),"success"===a?t.setSuccess(e):t.setError(e,"retry"===a)}var a=e("./core"),s=a.util.inherit,o=e("jmespath");a.ResourceWaiter=s({constructor:function(e,t){this.service=e,this.state=t,this.loadWaiterConfig(this.state)},service:null,state:null,config:null,matchers:{path:function(e,t,r){try{var i=o.search(e.data,r)}catch(e){return!1}return o.strictDeepEqual(i,t)},pathAll:function(e,t,r){try{var i=o.search(e.data,r)}catch(e){return!1}Array.isArray(i)||(i=[i]);var a=i.length;if(!a)return!1;for(var s=0;s=1&&t.doneParts===t.numParts&&t.finishMultiPart()}))}r&&t.fillQueue.call(t)},abort:function(){var e=this;!0===e.isDoneChunking&&1===e.totalPartNumbers&&e.singlePart?e.singlePart.abort():e.cleanup(i.util.error(new Error("Request aborted by user"),{code:"RequestAbortedError",retryable:!1}))},validateBody:function(){var e=this;if(e.body=e.service.config.params.Body,"string"==typeof e.body)e.body=i.util.buffer.toBuffer(e.body);else if(!e.body)throw new Error("params.Body is required");e.sliceFn=i.util.arraySliceFn(e.body)},bindServiceObject:function(e){e=e||{};var t=this;if(t.service){var r=t.service,a=i.util.copy(r.config);a.signatureVersion=r.getSignatureVersion(),t.service=new r.constructor.__super__(a),t.service.config.params=i.util.merge(t.service.config.params||{},e),Object.defineProperty(t.service,"_originalConfig",{get:function(){return r._originalConfig},enumerable:!1,configurable:!0})}else t.service=new i.S3({params:e})},adjustTotalBytes:function(){var e=this;try{e.totalBytes=a(e.body)}catch(e){}if(e.totalBytes){var t=Math.ceil(e.totalBytes/e.maxTotalParts);t>e.partSize&&(e.partSize=t)}else e.totalBytes=void 0},isDoneChunking:!1,partPos:0,totalChunkedBytes:0,totalUploadedBytes:0,totalBytes:void 0,numParts:0,totalPartNumbers:0,activeParts:0,doneParts:0,parts:null,completeInfo:null,failed:!1,multipartReq:null,partBuffers:null,partBufferLength:0,fillBuffer:function(){var e=this,t=a(e.body);if(0===t)return e.isDoneChunking=!0,e.numParts=1,void e.nextChunk(e.body);for(;e.activeParts=e.queueSize)){var t=e.body.read(e.partSize-e.partBufferLength)||e.body.read();if(t&&(e.partBuffers.push(t),e.partBufferLength+=t.length,e.totalChunkedBytes+=t.length),e.partBufferLength>=e.partSize){var r=1===e.partBuffers.length?e.partBuffers[0]:s.concat(e.partBuffers);if(e.partBuffers=[],e.partBufferLength=0,r.length>e.partSize){var i=r.slice(e.partSize);e.partBuffers.push(i),e.partBufferLength+=i.length,r=r.slice(0,e.partSize)}e.nextChunk(r)}e.isDoneChunking&&!e.isDoneSending&&(r=1===e.partBuffers.length?e.partBuffers[0]:s.concat(e.partBuffers),e.partBuffers=[],e.partBufferLength=0,e.totalBytes=e.totalChunkedBytes,e.isDoneSending=!0,(0===e.numParts||r.length>0)&&(e.numParts++,e.nextChunk(r))),e.body.read(0)}},nextChunk:function(e){var t=this;if(t.failed)return null;var r=++t.totalPartNumbers;if(t.isDoneChunking&&1===r){var a={Body:e};this.tags&&(a.Tagging=this.getTaggingHeader());var s=t.service.putObject(a);return s._managedUpload=t,s.on("httpUploadProgress",t.progress).send(t.finishSinglePart),t.singlePart=s,null}if(t.service.config.params.ContentMD5){var o=i.util.error(new Error("The Content-MD5 you specified is invalid for multi-part uploads."),{code:"InvalidDigest",retryable:!1});return t.cleanup(o),null}if(t.completeInfo[r]&&null!==t.completeInfo[r].ETag)return null;t.activeParts++,t.service.config.params.UploadId?t.uploadPart(e,r):t.multipartReq?t.queueChunks(e,r):(t.multipartReq=t.service.createMultipartUpload(),t.multipartReq.on("success",function(e){t.service.config.params.UploadId=e.data.UploadId,t.multipartReq=null}),t.queueChunks(e,r),t.multipartReq.on("error",function(e){t.cleanup(e)}),t.multipartReq.send())},getTaggingHeader:function(){for(var e=[],t=0;t-1&&r.splice(a,1)}return this},removeAllListeners:function(e){return e?delete this._events[e]:this._events={},this},emit:function(e,t,r){r||(r=function(){});var i=this.listeners(e),a=i.length;return this.callListeners(i,t,r),a>0},callListeners:function(e,t,r,a){function s(a){if(a&&(n=i.util.error(n||new Error,a),o._haltHandlersOnError))return r.call(o,n);o.callListeners(e,t,r,n)}for(var o=this,n=a||null;e.length>0;){var u=e.shift();if(u._isAsync)return void u.apply(o,t.concat([s]));try{u.apply(o,t)}catch(e){n=i.util.error(n||new Error,e)}if(n&&o._haltHandlersOnError)return void r.call(o,n)}r.call(o,n)},addListeners:function(e){var t=this;return e._events&&(e=e._events),i.util.each(e,function(e,r){"function"==typeof r&&(r=[r]),i.util.arrayEach(r,function(r){t.on(e,r)})}),t},addNamedListener:function(e,t,r,i){return this[e]=r,this.addListener(t,r,i),this},addNamedAsyncListener:function(e,t,r,i){return r._isAsync=!0,this.addNamedListener(e,t,r,i)},addNamedListeners:function(e){var t=this;return e(function(){t.addNamedListener.apply(t,arguments)},function(){t.addNamedAsyncListener.apply(t,arguments)}),this}}),i.SequentialExecutor.prototype.addListener=i.SequentialExecutor.prototype.on,t.exports=i.SequentialExecutor},{"./core":342}],393:[function(e,t,r){(function(r){(function(){var i=e("./core"),a=e("./model/api"),s=e("./region_config"),o=i.util.inherit,n=0,u=e("./region/utils");i.Service=o({constructor:function(e){if(!this.loadServiceClass)throw i.util.error(new Error,"Service must be constructed with `new' operator");if(e){if(e.region){var t=e.region;u.isFipsRegion(t)&&(e.region=u.getRealRegion(t),e.useFipsEndpoint=!0),u.isGlobalRegion(t)&&(e.region=u.getRealRegion(t))}"boolean"==typeof e.useDualstack&&"boolean"!=typeof e.useDualstackEndpoint&&(e.useDualstackEndpoint=e.useDualstack)}var r=this.loadServiceClass(e||{});if(r){var a=i.util.copy(e),s=new r(e);return Object.defineProperty(s,"_originalConfig",{get:function(){return a},enumerable:!1,configurable:!0}),s._clientId=++n,s}this.initialize(e)},initialize:function(e){var t=i.config[this.serviceIdentifier];if(this.config=new i.Config(i.config),t&&this.config.update(t,!0),e&&this.config.update(e,!0),this.validateService(),this.config.endpoint||s.configureEndpoint(this),this.config.endpoint=this.endpointFromTemplate(this.config.endpoint),this.setEndpoint(this.config.endpoint),i.SequentialExecutor.call(this),i.Service.addDefaultMonitoringListeners(this),(this.config.clientSideMonitoring||i.Service._clientSideMonitoring)&&this.publisher){var a=this.publisher;this.addNamedListener("PUBLISH_API_CALL","apiCall",function(e){r.nextTick(function(){a.eventHandler(e)})}),this.addNamedListener("PUBLISH_API_ATTEMPT","apiCallAttempt",function(e){r.nextTick(function(){a.eventHandler(e)})})}},validateService:function(){},loadServiceClass:function(e){var t=e;if(i.util.isEmpty(this.api)){if(t.apiConfig)return i.Service.defineServiceApi(this.constructor,t.apiConfig);if(this.constructor.services){t=new i.Config(i.config),t.update(e,!0);var r=t.apiVersions[this.constructor.serviceIdentifier];return r=r||t.apiVersion,this.getLatestServiceClass(r)}return null}return null},getLatestServiceClass:function(e){return e=this.getLatestServiceVersion(e),null===this.constructor.services[e]&&i.Service.defineServiceApi(this.constructor,e),this.constructor.services[e]},getLatestServiceVersion:function(e){if(!this.constructor.services||0===this.constructor.services.length)throw new Error("No services defined on "+this.constructor.serviceIdentifier);if(e?i.util.isType(e,Date)&&(e=i.util.date.iso8601(e).split("T")[0]):e="latest",Object.hasOwnProperty(this.constructor.services,e))return e;for(var t=Object.keys(this.constructor.services).sort(),r=null,a=t.length-1;a>=0;a--)if("*"!==t[a][t[a].length-1]&&(r=t[a]),t[a].substr(0,10)<=e)return r;throw new Error("Could not find "+this.constructor.serviceIdentifier+" API to satisfy version constraint `"+e+"'")},api:{},defaultRetryCount:3,customizeRequests:function(e){if(e){if("function"!=typeof e)throw new Error("Invalid callback type '"+typeof e+"' provided in customizeRequests");this.customRequestHandler=e}else this.customRequestHandler=null},makeRequest:function(e,t,r){if("function"==typeof t&&(r=t,t=null),t=t||{},this.config.params){var a=this.api.operations[e];a&&(t=i.util.copy(t),i.util.each(this.config.params,function(e,r){a.input.members[e]&&(void 0!==t[e]&&null!==t[e]||(t[e]=r))}))}var s=new i.Request(this,e,t);return this.addAllRequestListeners(s),this.attachMonitoringEmitter(s),r&&s.send(r),s},makeUnauthenticatedRequest:function(e,t,r){"function"==typeof t&&(r=t,t={});var i=this.makeRequest(e,t).toUnauthenticated();return r?i.send(r):i},waitFor:function(e,t,r){return new i.ResourceWaiter(this,e).wait(t,r)},addAllRequestListeners:function(e){for(var t=[i.events,i.EventListeners.Core,this.serviceInterface(),i.EventListeners.CorePost],r=0;r299?(a.code&&(r.FinalAwsException=a.code),a.message&&(r.FinalAwsExceptionMessage=a.message)):((a.code||a.name)&&(r.FinalSdkException=a.code||a.name),a.message&&(r.FinalSdkExceptionMessage=a.message))}return r},apiAttemptEvent:function(e){var t=e.service.api.operations[e.operation],r={Type:"ApiCallAttempt",Api:t?t.name:e.operation,Version:1,Service:e.service.api.serviceId||e.service.api.endpointPrefix,Fqdn:e.httpRequest.endpoint.hostname,UserAgent:e.httpRequest.getUserAgent()},i=e.response;return i.httpResponse.statusCode&&(r.HttpStatusCode=i.httpResponse.statusCode),!e._unAuthenticated&&e.service.config.credentials&&e.service.config.credentials.accessKeyId&&(r.AccessKey=e.service.config.credentials.accessKeyId),i.httpResponse.headers?(e.httpRequest.headers["x-amz-security-token"]&&(r.SessionToken=e.httpRequest.headers["x-amz-security-token"]),i.httpResponse.headers["x-amzn-requestid"]&&(r.XAmznRequestId=i.httpResponse.headers["x-amzn-requestid"]),i.httpResponse.headers["x-amz-request-id"]&&(r.XAmzRequestId=i.httpResponse.headers["x-amz-request-id"]),i.httpResponse.headers["x-amz-id-2"]&&(r.XAmzId2=i.httpResponse.headers["x-amz-id-2"]),r):r},attemptFailEvent:function(e){var t=this.apiAttemptEvent(e),r=e.response,i=r.error;return r.httpResponse.statusCode>299?(i.code&&(t.AwsException=i.code),i.message&&(t.AwsExceptionMessage=i.message)):((i.code||i.name)&&(t.SdkException=i.code||i.name),i.message&&(t.SdkExceptionMessage=i.message)),t},attachMonitoringEmitter:function(e){var t,r,a,s,o,n,u=0,p=this;e.on("validate",function(){s=i.util.realClock.now(),n=Date.now()},!0),e.on("sign",function(){r=i.util.realClock.now(),t=Date.now(),o=e.httpRequest.region,u++},!0),e.on("validateResponse",function(){a=Math.round(i.util.realClock.now()-r)}),e.addNamedListener("API_CALL_ATTEMPT","success",function(){var r=p.apiAttemptEvent(e);r.Timestamp=t,r.AttemptLatency=a>=0?a:0,r.Region=o,p.emit("apiCallAttempt",[r])}),e.addNamedListener("API_CALL_ATTEMPT_RETRY","retry",function(){var s=p.attemptFailEvent(e);s.Timestamp=t,a=a||Math.round(i.util.realClock.now()-r),s.AttemptLatency=a>=0?a:0,s.Region=o,p.emit("apiCallAttempt",[s])}),e.addNamedListener("API_CALL","complete",function(){var t=p.apiCallEvent(e);if(t.AttemptCount=u,!(t.AttemptCount<=0)){t.Timestamp=n;var r=Math.round(i.util.realClock.now()-s);t.Latency=r>=0?r:0;var a=e.response;a.error&&a.error.retryable&&"number"==typeof a.retryCount&&"number"==typeof a.maxRetries&&a.retryCount>=a.maxRetries&&(t.MaxRetriesExceeded=1),p.emit("apiCall",[t])}})},setupRequestListeners:function(e){},getSigningName:function(){return this.api.signingName||this.api.endpointPrefix},getSignerClass:function(e){var t,r=null,a="";if(e){r=(e.service.api.operations||{})[e.operation]||null,a=r?r.authtype:""}return t=this.config.signatureVersion?this.config.signatureVersion:"v4"===a||"v4-unsigned-body"===a?"v4":this.api.signatureVersion,i.Signers.RequestSigner.getVersion(t)},serviceInterface:function(){switch(this.api.protocol){case"ec2":case"query":return i.EventListeners.Query;case"json":return i.EventListeners.Json;case"rest-json":return i.EventListeners.RestJson;case"rest-xml":return i.EventListeners.RestXml}if(this.api.protocol)throw new Error("Invalid service `protocol' "+this.api.protocol+" in API config")},successfulResponse:function(e){return e.httpResponse.statusCode<300},numRetries:function(){return void 0!==this.config.maxRetries?this.config.maxRetries:this.defaultRetryCount},retryDelays:function(e,t){return i.util.calculateRetryDelay(e,this.config.retryDelayOptions,t)},retryableError:function(e){return!!this.timeoutError(e)||(!!this.networkingError(e)||(!!this.expiredCredentialsError(e)||(!!this.throttledError(e)||e.statusCode>=500)))},networkingError:function(e){return"NetworkingError"===e.code},timeoutError:function(e){return"TimeoutError"===e.code},expiredCredentialsError:function(e){return"ExpiredTokenException"===e.code},clockSkewError:function(e){switch(e.code){case"RequestTimeTooSkewed":case"RequestExpired":case"InvalidSignatureException":case"SignatureDoesNotMatch":case"AuthFailure":case"RequestInTheFuture":return!0;default:return!1}},getSkewCorrectedDate:function(){return new Date(Date.now()+this.config.systemClockOffset)},applyClockOffset:function(e){e&&(this.config.systemClockOffset=e-Date.now())},isClockSkewed:function(e){if(e)return Math.abs(this.getSkewCorrectedDate().getTime()-e)>=3e5},throttledError:function(e){if(429===e.statusCode)return!0;switch(e.code){case"ProvisionedThroughputExceededException":case"Throttling":case"ThrottlingException":case"RequestLimitExceeded":case"RequestThrottled":case"RequestThrottledException":case"TooManyRequestsException":case"TransactionInProgressException":case"EC2ThrottledException":return!0;default:return!1}},endpointFromTemplate:function(e){if("string"!=typeof e)return e;var t=e;return t=t.replace(/\{service\}/g,this.api.endpointPrefix),t=t.replace(/\{region\}/g,this.config.region),t=t.replace(/\{scheme\}/g,this.config.sslEnabled?"https":"http")},setEndpoint:function(e){this.endpoint=new i.Endpoint(e,this.config)},paginationConfig:function(e,t){var r=this.api.operations[e].paginator;if(!r){if(t){var a=new Error;throw i.util.error(a,"No pagination configuration for "+e)}return null}return r}}),i.util.update(i.Service,{defineMethods:function(e){i.util.each(e.prototype.api.operations,function(t){if(!e.prototype[t]){"none"===e.prototype.api.operations[t].authtype?e.prototype[t]=function(e,r){return this.makeUnauthenticatedRequest(t,e,r)}:e.prototype[t]=function(e,r){return this.makeRequest(t,e,r)}}})},defineService:function(e,t,r){i.Service._serviceMap[e]=!0,Array.isArray(t)||(r=t,t=[]);var a=o(i.Service,r||{});if("string"==typeof e){i.Service.addVersions(a,t);var s=a.serviceIdentifier||e;a.serviceIdentifier=s}else a.prototype.api=e,i.Service.defineMethods(a);if(i.SequentialExecutor.call(this.prototype),!this.prototype.publisher&&i.util.clientSideMonitoring){var n=i.util.clientSideMonitoring.Publisher,u=i.util.clientSideMonitoring.configProvider,p=u();this.prototype.publisher=new n(p),p.enabled&&(i.Service._clientSideMonitoring=!0)}return i.SequentialExecutor.call(a.prototype),i.Service.addDefaultMonitoringListeners(a.prototype),a},addVersions:function(e,t){Array.isArray(t)||(t=[t]),e.services=e.services||{};for(var r=0;r=0){throw i.util.error(new Error,{name:"InvalidEndpoint",message:"AWS.IotData requires an explicit `endpoint' configuration option."})}},setupRequestListeners:function(e){e.addListener("validateResponse",this.validateResponseBody),a.indexOf(e.operation)>-1&&e.addListener("extractData",i.util.convertPayloadToString)},validateResponseBody:function(e){var t=e.httpResponse.body.toString()||"{}",r=t.trim();r&&"{"===r.charAt(0)||(e.httpResponse.body="")}})},{"../core":342}],399:[function(e,t,r){var i=e("../core");i.util.update(i.Lambda.prototype,{setupRequestListeners:function(e){"invoke"===e.operation&&e.addListener("extractData",i.util.convertPayloadToString)}})},{"../core":342}],400:[function(e,t,r){var i=e("../core");i.util.update(i.MachineLearning.prototype,{setupRequestListeners:function(e){"predict"===e.operation&&e.addListener("build",this.buildEndpoint)},buildEndpoint:function(e){var t=e.params.PredictEndpoint;t&&(e.httpRequest.endpoint=new i.Endpoint(t))}})},{"../core":342}],401:[function(e,t,r){e("../polly/presigner")},{"../polly/presigner":375}],402:[function(e,t,r){var i=e("../core"),a=e("./rdsutil");e("../rds/signer");var s=["copyDBSnapshot","createDBInstanceReadReplica","createDBCluster","copyDBClusterSnapshot","startDBInstanceAutomatedBackupsReplication"];i.util.update(i.RDS.prototype,{setupRequestListeners:function(e){a.setupRequestListeners(this,e,s)}})},{"../core":342,"../rds/signer":383,"./rdsutil":403}],403:[function(e,t,r){var i=e("../core"),a={setupRequestListeners:function(e,t,r){if(-1!==r.indexOf(t.operation)&&t.params.SourceRegion)if(t.params=i.util.copy(t.params),t.params.PreSignedUrl||t.params.SourceRegion===e.config.region)delete t.params.SourceRegion;else{var s=!!e.config.paramValidation;s&&t.removeListener("validate",i.EventListeners.Core.VALIDATE_PARAMETERS),t.onAsync("validate",a.buildCrossRegionPresignedUrl),s&&t.addListener("validate",i.EventListeners.Core.VALIDATE_PARAMETERS)}},buildCrossRegionPresignedUrl:function(e,t){var r=i.util.copy(e.service.config);r.region=e.params.SourceRegion,delete e.params.SourceRegion,delete r.endpoint,delete r.params,r.signatureVersion="v4";var a=e.service.config.region,s=new e.service.constructor(r),o=s[e.operation](i.util.copy(e.params));o.on("build",function(e){var t=e.httpRequest;t.params.DestinationRegion=a,t.body=i.util.queryParamsToString(t.params)}),o.presign(function(r,i){r?t(r):(e.params.PreSignedUrl=i,t())})}};t.exports=a},{"../core":342}],404:[function(e,t,r){var i=e("../core");i.util.update(i.Route53.prototype,{setupRequestListeners:function(e){e.on("build",this.sanitizeUrl)},sanitizeUrl:function(e){var t=e.httpRequest.path;e.httpRequest.path=t.replace(/\/%2F\w+%2F/,"/")},retryableError:function(e){return"PriorRequestNotComplete"===e.code&&400===e.statusCode||i.Service.prototype.retryableError.call(this,e)}})},{"../core":342}],405:[function(e,t,r){var i=e("../core"),a=e("../signers/v4_credentials"),s=e("../config_regional_endpoint"),o=e("./s3util"),n=e("../region_config");e("../s3/managed_upload");var u={completeMultipartUpload:!0,copyObject:!0,uploadPartCopy:!0},p=["AuthorizationHeaderMalformed","BadRequest","PermanentRedirect",301];i.util.update(i.S3.prototype,{getSignatureVersion:function(e){var t=this.api.signatureVersion,r=this._originalConfig?this._originalConfig.signatureVersion:null,i=this.config.signatureVersion,a=!!e&&e.isPresigned();return r?r="v2"===r?"s3":r:(!0!==a?t="v4":i&&(t=i),t)},getSigningName:function(e){if(e&&"writeGetObjectResponse"===e.operation)return"s3-object-lambda";var t=i.Service.prototype.getSigningName;return e&&e._parsedArn&&e._parsedArn.service?e._parsedArn.service:t.call(this)},getSignerClass:function(e){var t=this.getSignatureVersion(e);return i.Signers.RequestSigner.getVersion(t)},validateService:function(){var e,t=[];if(this.config.region||(this.config.region="us-east-1"),!this.config.endpoint&&this.config.s3BucketEndpoint&&t.push("An endpoint must be provided when configuring `s3BucketEndpoint` to true."),1===t.length?e=t[0]:t.length>1&&(e="Multiple configuration errors:\n"+t.join("\n")),e)throw i.util.error(new Error,{name:"InvalidEndpoint",message:e})},shouldDisableBodySigning:function(e){var t=this.getSignerClass();return!0===this.config.s3DisableBodySigning&&t===i.Signers.V4&&"https:"===e.httpRequest.endpoint.protocol},setupRequestListeners:function(e){if(e.addListener("validate",this.validateScheme),e.addListener("validate",this.validateBucketName,!0),e.addListener("validate",this.optInUsEast1RegionalEndpoint,!0),e.removeListener("validate",i.EventListeners.Core.VALIDATE_REGION),e.addListener("build",this.addContentType),e.addListener("build",this.computeContentMd5),e.addListener("build",this.computeSseCustomerKeyMd5),e.addListener("build",this.populateURI),e.addListener("afterBuild",this.addExpect100Continue),e.addListener("extractError",this.extractError),e.addListener("extractData",i.util.hoistPayloadMember),e.addListener("extractData",this.extractData),e.addListener("extractData",this.extractErrorFrom200Response),e.addListener("beforePresign",this.prepareSignedUrl),this.shouldDisableBodySigning(e)&&(e.removeListener("afterBuild",i.EventListeners.Core.COMPUTE_SHA256),e.addListener("afterBuild",this.disableBodySigning)),"createBucket"!==e.operation&&o.isArnInParam(e,"Bucket"))return e._parsedArn=i.util.ARN.parse(e.params.Bucket),e.removeListener("validate",this.validateBucketName),e.removeListener("build",this.populateURI), diff --git a/lib/core.js b/lib/core.js index 0c379c46cb..7468974ad8 100644 --- a/lib/core.js +++ b/lib/core.js @@ -20,7 +20,7 @@ AWS.util.update(AWS, { /** * @constant */ - VERSION: '2.1042.0', + VERSION: '2.1043.0', /** * @api private diff --git a/package.json b/package.json index c7cabca354..57f050820a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "aws-sdk", "description": "AWS SDK for JavaScript", - "version": "2.1042.0", + "version": "2.1043.0", "author": { "name": "Amazon Web Services", "email": "",