@liflig/cdk 3.11.1 → 3.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/alarms/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { DatabaseAlarms } from "./database-alarms";
|
|
2
|
+
export { LambdaAlarms } from "./lambda-alarms";
|
|
2
3
|
export { ServiceAlarms } from "./service-alarms";
|
|
3
4
|
export { SlackAlarm } from "./slack-alarm";
|
|
4
5
|
export type { DatabaseAlarmsProps } from "./database-alarms";
|
|
6
|
+
export type { LambdaAlarmsProps } from "./lambda-alarms";
|
|
5
7
|
export type { ServiceAlarmsProps } from "./service-alarms";
|
|
6
8
|
export type { SlackAlarmProps } from "./slack-alarm";
|
package/lib/alarms/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { DatabaseAlarms } from "./database-alarms";
|
|
2
|
+
export { LambdaAlarms } from "./lambda-alarms";
|
|
2
3
|
export { ServiceAlarms } from "./service-alarms";
|
|
3
4
|
export { SlackAlarm } from "./slack-alarm";
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWxhcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBEYXRhYmFzZUFsYXJtcyB9IGZyb20gXCIuL2RhdGFiYXNlLWFsYXJtc1wiXG5leHBvcnQgeyBMYW1iZGFBbGFybXMgfSBmcm9tIFwiLi9sYW1iZGEtYWxhcm1zXCJcbmV4cG9ydCB7IFNlcnZpY2VBbGFybXMgfSBmcm9tIFwiLi9zZXJ2aWNlLWFsYXJtc1wiXG5leHBvcnQgeyBTbGFja0FsYXJtIH0gZnJvbSBcIi4vc2xhY2stYWxhcm1cIlxuZXhwb3J0IHR5cGUgeyBEYXRhYmFzZUFsYXJtc1Byb3BzIH0gZnJvbSBcIi4vZGF0YWJhc2UtYWxhcm1zXCJcbmV4cG9ydCB0eXBlIHsgTGFtYmRhQWxhcm1zUHJvcHMgfSBmcm9tIFwiLi9sYW1iZGEtYWxhcm1zXCJcbmV4cG9ydCB0eXBlIHsgU2VydmljZUFsYXJtc1Byb3BzIH0gZnJvbSBcIi4vc2VydmljZS1hbGFybXNcIlxuZXhwb3J0IHR5cGUgeyBTbGFja0FsYXJtUHJvcHMgfSBmcm9tIFwiLi9zbGFjay1hbGFybVwiXG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
3
|
+
import * as cloudwatch from "aws-cdk-lib/aws-cloudwatch";
|
|
4
|
+
export interface LambdaAlarmsProps {
|
|
5
|
+
/**
|
|
6
|
+
* The default action to use for CloudWatch alarm state changes.
|
|
7
|
+
*/
|
|
8
|
+
action: cloudwatch.IAlarmAction;
|
|
9
|
+
/**
|
|
10
|
+
* The Lambda to add alarms to.
|
|
11
|
+
*/
|
|
12
|
+
lambdaFunction: lambda.IFunction;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Alarms for Lambda functions.
|
|
16
|
+
*
|
|
17
|
+
* By itself, no alarms are created. Use the methods available
|
|
18
|
+
* to add alarms.
|
|
19
|
+
*
|
|
20
|
+
* Create multiple instances of {@link LambdaAlarms} with different `action`
|
|
21
|
+
* if you need an alarm to do multiple things.
|
|
22
|
+
*/
|
|
23
|
+
export declare class LambdaAlarms extends constructs.Construct {
|
|
24
|
+
private readonly action;
|
|
25
|
+
private readonly lambdaFunction;
|
|
26
|
+
constructor(scope: constructs.Construct, id: string, props: LambdaAlarmsProps);
|
|
27
|
+
/**
|
|
28
|
+
* Sets up a CloudWatch Alarm that triggers if the Lambda fails invocations.
|
|
29
|
+
* This usually happens from uncaught exceptions in the lambda.
|
|
30
|
+
*/
|
|
31
|
+
addInvocationErrorAlarm(
|
|
32
|
+
/**
|
|
33
|
+
* Configuration for an alarm.
|
|
34
|
+
*/
|
|
35
|
+
props?: {
|
|
36
|
+
/**
|
|
37
|
+
* Add extra information to the alarm description, like Runbook URL or steps to triage.
|
|
38
|
+
*/
|
|
39
|
+
appendToAlarmDescription?: string;
|
|
40
|
+
}): void;
|
|
41
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as cdk from "aws-cdk-lib";
|
|
3
|
+
import * as cloudwatch from "aws-cdk-lib/aws-cloudwatch";
|
|
4
|
+
/**
|
|
5
|
+
* Alarms for Lambda functions.
|
|
6
|
+
*
|
|
7
|
+
* By itself, no alarms are created. Use the methods available
|
|
8
|
+
* to add alarms.
|
|
9
|
+
*
|
|
10
|
+
* Create multiple instances of {@link LambdaAlarms} with different `action`
|
|
11
|
+
* if you need an alarm to do multiple things.
|
|
12
|
+
*/
|
|
13
|
+
export class LambdaAlarms extends constructs.Construct {
|
|
14
|
+
action;
|
|
15
|
+
lambdaFunction;
|
|
16
|
+
constructor(scope, id, props) {
|
|
17
|
+
super(scope, id);
|
|
18
|
+
this.action = props.action;
|
|
19
|
+
this.lambdaFunction = props.lambdaFunction;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Sets up a CloudWatch Alarm that triggers if the Lambda fails invocations.
|
|
23
|
+
* This usually happens from uncaught exceptions in the lambda.
|
|
24
|
+
*/
|
|
25
|
+
addInvocationErrorAlarm(
|
|
26
|
+
/**
|
|
27
|
+
* Configuration for an alarm.
|
|
28
|
+
*/
|
|
29
|
+
props) {
|
|
30
|
+
const alarm = new cloudwatch.Metric({
|
|
31
|
+
metricName: "Errors",
|
|
32
|
+
namespace: "AWS/Lambda",
|
|
33
|
+
statistic: "Sum",
|
|
34
|
+
period: cdk.Duration.seconds(60),
|
|
35
|
+
dimensionsMap: {
|
|
36
|
+
FunctionName: this.lambdaFunction.functionName,
|
|
37
|
+
},
|
|
38
|
+
}).createAlarm(this, "FailedInvocationAlarm", {
|
|
39
|
+
alarmDescription: `Invocation for '${this.lambdaFunction.functionName}' failed. ${props?.appendToAlarmDescription ?? ""}`,
|
|
40
|
+
comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
41
|
+
evaluationPeriods: 1,
|
|
42
|
+
threshold: 1,
|
|
43
|
+
treatMissingData: cloudwatch.TreatMissingData.IGNORE,
|
|
44
|
+
});
|
|
45
|
+
alarm.addAlarmAction(this.action);
|
|
46
|
+
alarm.addOkAction(this.action);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWFsYXJtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbGFybXMvbGFtYmRhLWFsYXJtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEtBQUssR0FBRyxNQUFNLGFBQWEsQ0FBQTtBQUVsQyxPQUFPLEtBQUssVUFBVSxNQUFNLDRCQUE0QixDQUFBO0FBYXhEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxVQUFVLENBQUMsU0FBUztJQUNuQyxNQUFNLENBQXlCO0lBQy9CLGNBQWMsQ0FBa0I7SUFFakQsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBd0I7UUFFeEIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUE7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFBO0lBQzVDLENBQUM7SUFFRDs7O09BR0c7SUFDSCx1QkFBdUI7SUFDckI7O09BRUc7SUFDSCxLQUtDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ2xDLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE1BQU0sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDaEMsYUFBYSxFQUFFO2dCQUNiLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVk7YUFDL0M7U0FDRixDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUM1QyxnQkFBZ0IsRUFBRSxtQkFBbUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLGFBQWEsS0FBSyxFQUFFLHdCQUF3QixJQUFJLEVBQUUsRUFBRTtZQUN6SCxrQkFBa0IsRUFDaEIsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGtDQUFrQztZQUNsRSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLFNBQVMsRUFBRSxDQUFDO1lBQ1osZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE1BQU07U0FDckQsQ0FBQyxDQUFBO1FBRUYsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDakMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhQWxhcm1zUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgYWN0aW9uIHRvIHVzZSBmb3IgQ2xvdWRXYXRjaCBhbGFybSBzdGF0ZSBjaGFuZ2VzLlxuICAgKi9cbiAgYWN0aW9uOiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAvKipcbiAgICogVGhlIExhbWJkYSB0byBhZGQgYWxhcm1zIHRvLlxuICAgKi9cbiAgbGFtYmRhRnVuY3Rpb246IGxhbWJkYS5JRnVuY3Rpb25cbn1cblxuLyoqXG4gKiBBbGFybXMgZm9yIExhbWJkYSBmdW5jdGlvbnMuXG4gKlxuICogQnkgaXRzZWxmLCBubyBhbGFybXMgYXJlIGNyZWF0ZWQuIFVzZSB0aGUgbWV0aG9kcyBhdmFpbGFibGVcbiAqIHRvIGFkZCBhbGFybXMuXG4gKlxuICogQ3JlYXRlIG11bHRpcGxlIGluc3RhbmNlcyBvZiB7QGxpbmsgTGFtYmRhQWxhcm1zfSB3aXRoIGRpZmZlcmVudCBgYWN0aW9uYFxuICogaWYgeW91IG5lZWQgYW4gYWxhcm0gdG8gZG8gbXVsdGlwbGUgdGhpbmdzLlxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhQWxhcm1zIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbjogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgcHJpdmF0ZSByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLklGdW5jdGlvblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBMYW1iZGFBbGFybXNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgdGhpcy5hY3Rpb24gPSBwcm9wcy5hY3Rpb25cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gcHJvcHMubGFtYmRhRnVuY3Rpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIGEgQ2xvdWRXYXRjaCBBbGFybSB0aGF0IHRyaWdnZXJzIGlmIHRoZSBMYW1iZGEgZmFpbHMgaW52b2NhdGlvbnMuXG4gICAqIFRoaXMgdXN1YWxseSBoYXBwZW5zIGZyb20gdW5jYXVnaHQgZXhjZXB0aW9ucyBpbiB0aGUgbGFtYmRhLlxuICAgKi9cbiAgYWRkSW52b2NhdGlvbkVycm9yQWxhcm0oXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgYW4gYWxhcm0uXG4gICAgICovXG4gICAgcHJvcHM/OiB7XG4gICAgICAvKipcbiAgICAgICAqIEFkZCBleHRyYSBpbmZvcm1hdGlvbiB0byB0aGUgYWxhcm0gZGVzY3JpcHRpb24sIGxpa2UgUnVuYm9vayBVUkwgb3Igc3RlcHMgdG8gdHJpYWdlLlxuICAgICAgICovXG4gICAgICBhcHBlbmRUb0FsYXJtRGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgICB9LFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBhbGFybSA9IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIkVycm9yc1wiLFxuICAgICAgbmFtZXNwYWNlOiBcIkFXUy9MYW1iZGFcIixcbiAgICAgIHN0YXRpc3RpYzogXCJTdW1cIixcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBGdW5jdGlvbk5hbWU6IHRoaXMubGFtYmRhRnVuY3Rpb24uZnVuY3Rpb25OYW1lLFxuICAgICAgfSxcbiAgICB9KS5jcmVhdGVBbGFybSh0aGlzLCBcIkZhaWxlZEludm9jYXRpb25BbGFybVwiLCB7XG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBgSW52b2NhdGlvbiBmb3IgJyR7dGhpcy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbk5hbWV9JyBmYWlsZWQuICR7cHJvcHM/LmFwcGVuZFRvQWxhcm1EZXNjcmlwdGlvbiA/PyBcIlwifWAsXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6XG4gICAgICAgIGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgIHRyZWF0TWlzc2luZ0RhdGE6IGNsb3Vkd2F0Y2guVHJlYXRNaXNzaW5nRGF0YS5JR05PUkUsXG4gICAgfSlcblxuICAgIGFsYXJtLmFkZEFsYXJtQWN0aW9uKHRoaXMuYWN0aW9uKVxuICAgIGFsYXJtLmFkZE9rQWN0aW9uKHRoaXMuYWN0aW9uKVxuICB9XG59XG4iXX0=
|
|
@@ -24,7 +24,7 @@ interface Props {
|
|
|
24
24
|
/**
|
|
25
25
|
* The lifecycle rules to apply to images stored in the ECR repository.
|
|
26
26
|
*
|
|
27
|
-
* @default - Expire images after 180 days
|
|
27
|
+
* @default - Expire untagged images after 10 days and any image older than 180 days
|
|
28
28
|
*/
|
|
29
29
|
ecrRepositoryLifecycleRules?: ecr.LifecycleRule[];
|
|
30
30
|
/**
|
|
@@ -90,6 +90,10 @@ export class BuildArtifacts extends constructs.Construct {
|
|
|
90
90
|
const ecrRepo = new ecr.Repository(this, "EcrRepository", {
|
|
91
91
|
repositoryName: ecrRepositoryName,
|
|
92
92
|
lifecycleRules: props.ecrRepositoryLifecycleRules || [
|
|
93
|
+
{
|
|
94
|
+
maxImageAge: cdk.Duration.days(10),
|
|
95
|
+
tagStatus: ecr.TagStatus.UNTAGGED,
|
|
96
|
+
},
|
|
93
97
|
{
|
|
94
98
|
maxImageAge: cdk.Duration.days(180),
|
|
95
99
|
tagStatus: ecr.TagStatus.ANY,
|
|
@@ -181,4 +185,4 @@ export class BuildArtifacts extends constructs.Construct {
|
|
|
181
185
|
}
|
|
182
186
|
}
|
|
183
187
|
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSx1QkFBdUIsQ0FBQTtBQW1GOUI7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLHNCQUFzQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUN2RSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztRQUN4QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztRQUM3QixTQUFTLEVBQUU7WUFDVCxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLDhDQUE4QyxNQUFNLElBQUksR0FBRyxFQUFFO1NBQ3RJO0tBQ0YsQ0FBQztJQUNKLGlCQUFpQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFrQixFQUFFLEVBQUUsQ0FDckUsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDdkIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2pCLFNBQVMsRUFBRTtZQUNULE1BQU0sQ0FBQyxhQUFh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QUUsWUFBWSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtTQUN6QixDQUFDLENBQUE7UUFFRixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO2dCQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2FBQ3pCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ2hDLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCB7XG4gIEdpdGh1YkFjdGlvbnNSb2xlLFxuICBQcm9wcyBhcyBHaXRodWJBY3Rpb25zUm9sZVByb3BzLFxufSBmcm9tIFwiLi9naXRodWItYWN0aW9ucy1yb2xlXCJcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIFMzIEJ1Y2tldC5cbiAgICpcbiAgICogTk9URTogU2hvdWxkIGluY2x1ZGUgYm90aCBhY2NvdW50IGFuZCByZWdpb24gc28gdGhhdCBpdCB3aWxsXG4gICAqIG5vdCBjb25mbGljdCB3aXRoIG90aGVyIGFjY291bnRzL3JlZ2lvbnMuXG4gICAqL1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIEVDUiBSZXBvc2l0b3J5LlxuICAgKi9cbiAgZWNyUmVwb3NpdG9yeU5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogQ3JlYXRlIGEgcm9sZSB0aGF0IGNhbiBiZSBhc3N1bWVkIGJ5IExpZmxpZyBKZW5raW5zLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBAZGVmYXVsdCAtIG5vIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBjaVJvbGVOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGFwcGx5IHRvIGltYWdlcyBzdG9yZWQgaW4gdGhlIEVDUiByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV4cGlyZSBpbWFnZXMgYWZ0ZXIgMTgwIGRheXNcbiAgICovXG4gIGVjclJlcG9zaXRvcnlMaWZlY3ljbGVSdWxlcz86IGVjci5MaWZlY3ljbGVSdWxlW11cbiAgLyoqXG4gICAqIElEIG9mIEFXUyBhY2NvdW50cyB0aGF0IHdpbGwgYmUgZ3JhbnRlZCBwZXJtaXNzaW9uIHRvIHJlYWQgZnJvbVxuICAgKiB0aGUgYXJ0aWZhY3QgcmVwb3MuXG4gICAqL1xuICB0YXJnZXRBY2NvdW50SWRzPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIGNyZWF0aW5nIElBTSByb2xlcyB0aGF0IGNhbiBiZSBhc3N1bWVkXG4gICAqIGJ5IEdpdEh1YiBBY3Rpb25zIGluIHNwZWNpZmljIEdpdEh1YiByZXBvc2l0b3JpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcm9sZXMgYXJlIGNyZWF0ZWQuXG4gICAqL1xuICBnaXRodWJBY3Rpb25zPzogT21pdDxcbiAgICBHaXRodWJBY3Rpb25zUm9sZVByb3BzLFxuICAgIFwidHJ1c3RlZE93bmVyc1wiIHwgXCJ0cnVzdGVkQnJhbmNoXCIgfCBcIm9pZGNQcm92aWRlclwiIHwgXCJyb2xlTmFtZVwiXG4gID4gJiB7XG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIHRydXN0ZWQgR2l0SHViIHJlcG9zaXRvcnkgb3duZXJzLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgW1wiY2FwcmFsaWZlY3ljbGVcIl1cbiAgICAgKi9cbiAgICB0cnVzdGVkT3duZXJzPzogc3RyaW5nW11cbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcm9sZSB0byBjcmVhdGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcImdpdGh1Yi1hY3Rpb25zLXJvbGVcIlxuICAgICAqL1xuICAgIHJvbGVOYW1lPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgYnJhbmNoIGluIGFsbCByZXBvc2l0b3JpZXMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcIm1hc3RlclwiXG4gICAgICovXG4gICAgZGVmYXVsdEJyYW5jaD86IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGEgbGltaXRlZCByb2xlIHRoYXQgY2FuIGJlIHVzZWQgb24gbm9uLWRlZmF1bHRcbiAgICAgKiBicmFuY2hlcyB3aXRoIGxlc3MgSUFNIHBlcm1pc3Npb25zIHRoYW4gdGhlIG1haW4gcm9sZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gYSBsaW1pdGVkIHJvbGUgaXMgY3JlYXRlZC5cbiAgICAgKi9cbiAgICBsaW1pdGVkUm9sZUNvbmZpZ3VyYXRpb24/OiB7XG4gICAgICAvKipcbiAgICAgICAqIFdoZXRoZXIgdG8gY3JlYXRlIHRoZSByb2xlIG9yIG5vdC5cbiAgICAgICAqXG4gICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgKi9cbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSByb2xlIHRvIGNyZWF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAZGVmYXVsdCBcImdpdGh1Yi1hY3Rpb25zLWxpbWl0ZWQtcm9sZVwiXG4gICAgICAgKi9cbiAgICAgIHJvbGVOYW1lPzogc3RyaW5nXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGdlbmVyYXRpbmcgSUFNIHN0YXRlbWVudHMuXG4gKi9cbmNvbnN0IHBvbGljeVN0YXRlbWVudHMgPSB7XG4gIGFsbG93UGlwZWxpbmVWYXJpYWJsZXM6IChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHByZWZpeD86IHN0cmluZykgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXCJzc206UHV0UGFyYW1ldGVyXCJdLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGBhcm46YXdzOnNzbToke2Nkay5TdGFjay5vZihzY29wZSkucmVnaW9ufToke2Nkay5TdGFjay5vZihzY29wZSkuYWNjb3VudH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvJHtwcmVmaXggPz8gXCIqXCJ9YCxcbiAgICAgIF0sXG4gICAgfSksXG4gIGRlbnlQcm9kUGlwZWxpbmVzOiAoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBidWNrZXQ6IHMzLklCdWNrZXQpID0+XG4gICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkRFTlksXG4gICAgICBhY3Rpb25zOiBbXCJzMzoqXCJdLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGJ1Y2tldC5hcm5Gb3JPYmplY3RzKFwicGlwZWxpbmVzLyotcHJvZC8qXCIpLFxuICAgICAgICBidWNrZXQuYXJuRm9yT2JqZWN0cyhcInBpcGVsaW5lcy8qLXByb2QtKi8qXCIpLFxuICAgICAgXSxcbiAgICB9KSxcbiAgZGVueVByb2RQaXBlbGluZVZhcmlhYmxlczogKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCkgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuREVOWSxcbiAgICAgIGFjdGlvbnM6IFtcInNzbTpQdXRQYXJhbWV0ZXJcIl0sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgYGFybjphd3M6c3NtOiR7Y2RrLlN0YWNrLm9mKHNjb3BlKS5yZWdpb259OiR7XG4gICAgICAgICAgY2RrLlN0YWNrLm9mKHNjb3BlKS5hY2NvdW50XG4gICAgICAgIH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvcHJvZCpgLFxuICAgICAgXSxcbiAgICB9KSxcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIGZvciB2YWxpZGF0aW5nIHRoZSBjb25zdHJ1Y3QgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUHJvcHMgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGxldCB2YWxpZCA9IHRydWVcbiAgaWYgKFxuICAgIHByb3BzLmdpdGh1YkFjdGlvbnM/LmRlZmF1bHRCcmFuY2ggJiZcbiAgICAhcHJvcHMuZ2l0aHViQWN0aW9ucy5kZWZhdWx0QnJhbmNoLm1hdGNoKC9eW2EtekEtWjAtOS1dKyQvKVxuICApIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYERlZmF1bHQgYnJhbmNoICR7cHJvcHMuZ2l0aHViQWN0aW9ucy5kZWZhdWx0QnJhbmNofSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnNgLFxuICAgIClcbiAgICB2YWxpZCA9IGZhbHNlXG4gIH1cbiAgcmV0dXJuIHZhbGlkXG59XG5cbi8qKlxuICogQ3JlYXRlIHZhcmlvdXMgYXJ0aWZhY3RzIHVzZWQgYXMgcGFydCBvZiBDb250aW51b3VzIEludGVncmF0aW9uIChDSSkuXG4gKlxuICogVGhpcyBpbmNsdWRlcyBhcnRpZmFjdCByZXBvc2l0b3JpZXMgc3VjaCBhcyBTMyBidWNrZXQgYW5kIEVDUlxuICogcmVwb3NpdG9yeSwgYXMgd2VsbCBhcyBJQU0gcm9sZShzKSB0aGF0IGdyYW50IHRoZSBDSSBzZXJ2ZXIgd3JpdGVcbiAqIGFjY2VzcyB0byB0aGVzZSByZXBvc2l0b3JpZXMuXG4gKlxuICogVE9ETzogSG93IGNhbiB3ZSBjbGVhbnVwIHN0dWZmIHRoYXQgZ29lcyBpbnRvIHRoaXMgUzMgQnVja2V0IGFuZFxuICogIEVDUiBSZXBvc2l0b3J5PyBDYW4gd2UgZXZlciByZWxpYWJseSBjbGVhbnVwPyBXZSBwcm9iYWJseSBuZWVkXG4gKiAgc29tZSBzdHJhdGVneSBmb3IgaG93IHdlIHB1dCBzdHVmZiBoZXJlIHRvIGJlIGFibGUgdG8gZG8gaXQuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgQnVpbGRBcnRpZmFjdHMgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcHVibGljIHJlYWRvbmx5IGVjclJlcG9zaXRvcnlBcm46IHN0cmluZ1xuICBwdWJsaWMgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeU5hbWU6IHN0cmluZ1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZT86IGlhbS5Sb2xlXG4gIHB1YmxpYyByZWFkb25seSBsaW1pdGVkUm9sZT86IGlhbS5Sb2xlXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBpZiAoIXZhbGlkYXRlUHJvcHMocHJvcHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHByb3BzIHdlcmUgc3VwcGxpZWRcIilcbiAgICB9XG5cbiAgICB0aGlzLmJ1Y2tldE5hbWUgPSBwcm9wcy5idWNrZXROYW1lXG4gICAgdGhpcy5lY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG4gICAgdGhpcy5lY3JSZXBvc2l0b3J5QXJuID0gY2RrLkFybi5mb3JtYXQoXG4gICAgICB7XG4gICAgICAgIHNlcnZpY2U6IFwiZWNyXCIsXG4gICAgICAgIHJlc291cmNlOiBcInJlcG9zaXRvcnlcIixcbiAgICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLmVjclJlcG9zaXRvcnlOYW1lLFxuICAgICAgfSxcbiAgICAgIGNkay5TdGFjay5vZih0aGlzKSxcbiAgICApXG5cbiAgICBjb25zdCBlY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG5cbiAgICBjb25zdCBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsIFwiUzNCdWNrZXRcIiwge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuYnVja2V0TmFtZSxcbiAgICAgIGVuY3J5cHRpb246IHMzLkJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgIGV2ZW50QnJpZGdlRW5hYmxlZDogdHJ1ZSxcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgICBsaWZlY3ljbGVSdWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbm9uY3VycmVudFZlcnNpb25FeHBpcmF0aW9uOiBjZGsuRHVyYXRpb24uZGF5cygxMCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG5cbiAgICBjb25zdCBlY3JSZXBvID0gbmV3IGVjci5SZXBvc2l0b3J5KHRoaXMsIFwiRWNyUmVwb3NpdG9yeVwiLCB7XG4gICAgICByZXBvc2l0b3J5TmFtZTogZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICBsaWZlY3ljbGVSdWxlczogcHJvcHMuZWNyUmVwb3NpdG9yeUxpZmVjeWNsZVJ1bGVzIHx8IFtcbiAgICAgICAge1xuICAgICAgICAgIG1heEltYWdlQWdlOiBjZGsuRHVyYXRpb24uZGF5cygxODApLFxuICAgICAgICAgIHRhZ1N0YXR1czogZWNyLlRhZ1N0YXR1cy5BTlksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG5cbiAgICAvLyBBbGxvdyBhIHRhcmdldCB0byByZWFkIGZyb20gdGhlIHJlcG9zLiBBcyBhbnkgc3BlY2lmaWMgcm9sZXMgbmVlZFxuICAgIC8vIHRvIGV4aXN0IGJlZm9yZSB3ZSBjYW4gZ3JhbnQgYWNjZXNzLCB3ZSBkZWxlZ2F0ZSB0aGF0IHJlc3BvbnNpYmlsaXR5XG4gICAgLy8gdG8gdGhlIHRhcmdldCBhY2NvdW50LlxuICAgIGZvciAoY29uc3QgdGFyZ2V0QWNjb3VudElkIG9mIHByb3BzLnRhcmdldEFjY291bnRJZHMgfHwgW10pIHtcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWQobmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKHRhcmdldEFjY291bnRJZCkpXG4gICAgICBlY3JSZXBvLmdyYW50UHVsbChuZXcgaWFtLkFjY291bnRQcmluY2lwYWwodGFyZ2V0QWNjb3VudElkKSlcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZ2l0aHViQWN0aW9ucykge1xuICAgICAgY29uc3QgdHJ1c3RlZE93bmVycyA9IHByb3BzLmdpdGh1YkFjdGlvbnMudHJ1c3RlZE93bmVycyA/PyBbXG4gICAgICAgIFwiY2FwcmFsaWZlY3ljbGVcIixcbiAgICAgIF1cbiAgICAgIC8vIE5PVEU6IFRoZXJlJ3MgYW4gTDIgY29uc3RydWN0IHRoYXQgcHJlZGF0ZXMgdGhlIG9mZmljaWFsIENsb3VkRm9ybWF0aW9uIHJlc291cmNlLFxuICAgICAgLy8gYW5kIGl0IGlzIHRoZXJlZm9yZSBpbXBsZW1lbnRlZCBhcyBhIGN1c3RvbSByZXNvdXJjZS5cbiAgICAgIC8vIFdlIHVzZSB0aGUgTDEgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgaW5zdGVhZCBiZWNhdXNlOlxuICAgICAgLy8gMSkgaXQncyBzaW1wbGVyXG4gICAgICAvLyAyKSB0aGVyZSdzIGEgY2hhbmNlIHRoZSBMMiBjb25zdHJ1Y3Qgd2lsbCBiZSBkZXByZWNhdGVkIGluIHRoZSBmdXR1cmUgaW4gZmF2b3JcbiAgICAgIC8vIG9mIHRoZSBvZmZpY2lhbCBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZS5cbiAgICAgIGNvbnN0IGNmbk9pZGNQcm92aWRlciA9IG5ldyBpYW0uQ2ZuT0lEQ1Byb3ZpZGVyKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIk9wZW5JZENvbm5lY3RQcm92aWRlclwiLFxuICAgICAgICB7XG4gICAgICAgICAgdXJsOiBcImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb21cIixcbiAgICAgICAgICBjbGllbnRJZExpc3Q6IFtcInN0cy5hbWF6b25hd3MuY29tXCJdLFxuICAgICAgICAgIC8vIE5PVEU6IFRoZSB0aHVtYnByaW50IGlzbid0IGFjdHVhbGx5IHVzZWQsIGJ1dCB0aGUgQVdTIEFQSSBzdGlsbCByZXF1aXJlcyB1cyB0byBzdXBwbHkgaXQuXG4gICAgICAgICAgLy8gTW9yZSBkZXRhaWxzIGhlcmU6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDI0MDEyMjE1NTc1OC9odHRwczovL2dpdGh1Yi5jb20vYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFscy9pc3N1ZXMvMzU3I2lzc3VlY29tbWVudC0xNjI2MzU3MzMzXG4gICAgICAgICAgdGh1bWJwcmludExpc3Q6IFtcIjFjNThhM2E4NTE4ZTg3NTliZjA3NWI3NmI3NTBkNGYyZGYyNjRmY2RcIl0sXG4gICAgICAgIH0sXG4gICAgICApXG4gICAgICBjb25zdCBvaWRjUHJvdmlkZXIgPVxuICAgICAgICBpYW0uT3BlbklkQ29ubmVjdFByb3ZpZGVyLmZyb21PcGVuSWRDb25uZWN0UHJvdmlkZXJBcm4oXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBcIlByb3ZpZGVyXCIsXG4gICAgICAgICAgY2ZuT2lkY1Byb3ZpZGVyLnJlZixcbiAgICAgICAgKVxuICAgICAgY29uc3QgY3JlYXRlTGltaXRlZFJvbGUgPVxuICAgICAgICBwcm9wcy5naXRodWJBY3Rpb25zLmxpbWl0ZWRSb2xlQ29uZmlndXJhdGlvbj8uZW5hYmxlZCA/PyB0cnVlXG4gICAgICBjb25zdCByb2xlID0gbmV3IEdpdGh1YkFjdGlvbnNSb2xlKHRoaXMsIFwiR2l0aHViQWN0aW9uc1JvbGVcIiwge1xuICAgICAgICBvaWRjUHJvdmlkZXIsXG4gICAgICAgIHRydXN0ZWRPd25lcnMsXG4gICAgICAgIHJvbGVOYW1lOiBwcm9wcy5naXRodWJBY3Rpb25zLnJvbGVOYW1lID8/IFwiZ2l0aHViLWFjdGlvbnMtcm9sZVwiLFxuICAgICAgICB0cnVzdGVkQnJhbmNoOiBjcmVhdGVMaW1pdGVkUm9sZVxuICAgICAgICAgID8gKHByb3BzLmdpdGh1YkFjdGlvbnMuZGVmYXVsdEJyYW5jaCA/PyBcIm1hc3RlclwiKVxuICAgICAgICAgIDogLy8gTk9URTogSWYgdGhlIGxpbWl0ZWQgcm9sZSBpcyBkaXNhYmxlZCwgb25seSBvbmUgcm9sZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICAgICAgICAgIC8vIGFuZCB0aGF0IHJvbGUgdGhlbiBuZWVkcyB0byBiZSBhc3N1bWFibGUgZnJvbSBhbGwgYnJhbmNoZXMuXG4gICAgICAgICAgICBcIipcIixcbiAgICAgICAgcmVwb3NpdG9yaWVzOiBwcm9wcy5naXRodWJBY3Rpb25zLnJlcG9zaXRvcmllcyxcbiAgICAgIH0pXG4gICAgICB0aGlzLnJvbGUgPSByb2xlLnJvbGVcbiAgICAgIHRoaXMucm9sZS5hZGRUb1BvbGljeShwb2xpY3lTdGF0ZW1lbnRzLmFsbG93UGlwZWxpbmVWYXJpYWJsZXModGhpcykpXG4gICAgICBidWNrZXQuZ3JhbnRQdXQodGhpcy5yb2xlKVxuICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKHRoaXMucm9sZSlcbiAgICAgIGlmIChjcmVhdGVMaW1pdGVkUm9sZSkge1xuICAgICAgICBjb25zdCBsaW1pdGVkUm9sZSA9IG5ldyBHaXRodWJBY3Rpb25zUm9sZShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIFwiR2l0aHViQWN0aW9uc0xpbWl0ZWRSb2xlXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgb2lkY1Byb3ZpZGVyLFxuICAgICAgICAgICAgdHJ1c3RlZE93bmVycyxcbiAgICAgICAgICAgIHJvbGVOYW1lOlxuICAgICAgICAgICAgICBwcm9wcy5naXRodWJBY3Rpb25zLmxpbWl0ZWRSb2xlQ29uZmlndXJhdGlvbj8ucm9sZU5hbWUgPz9cbiAgICAgICAgICAgICAgXCJnaXRodWItYWN0aW9ucy1saW1pdGVkLXJvbGVcIixcbiAgICAgICAgICAgIC8vIE5PVEU6IFRoZSBsaW1pdGVkIHJvbGUgY2FuIGJlIGFzc3VtZWQgZnJvbSBhbGwgYnJhbmNoZXMuXG4gICAgICAgICAgICB0cnVzdGVkQnJhbmNoOiBcIipcIixcbiAgICAgICAgICAgIHJlcG9zaXRvcmllczogcHJvcHMuZ2l0aHViQWN0aW9ucy5yZXBvc2l0b3JpZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgKVxuICAgICAgICB0aGlzLmxpbWl0ZWRSb2xlID0gbGltaXRlZFJvbGUucm9sZVxuICAgICAgICB0aGlzLmxpbWl0ZWRSb2xlLmFkZFRvUG9saWN5KFxuICAgICAgICAgIHBvbGljeVN0YXRlbWVudHMuYWxsb3dQaXBlbGluZVZhcmlhYmxlcyh0aGlzLCBcImRldipcIiksXG4gICAgICAgIClcbiAgICAgICAgdGhpcy5saW1pdGVkUm9sZS5hZGRUb1BvbGljeShcbiAgICAgICAgICBwb2xpY3lTdGF0ZW1lbnRzLmRlbnlQcm9kUGlwZWxpbmVzKHNjb3BlLCBidWNrZXQpLFxuICAgICAgICApXG4gICAgICAgIGJ1Y2tldC5ncmFudFB1dCh0aGlzLmxpbWl0ZWRSb2xlKVxuICAgICAgICBlY3JSZXBvLmdyYW50UHVsbFB1c2godGhpcy5saW1pdGVkUm9sZSlcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmNpUm9sZU5hbWUpIHtcbiAgICAgIGNvbnN0IGxlZ2FjeVJvbGVGb3JKZW5raW5zID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiQ2lSb2xlXCIsIHtcbiAgICAgICAgcm9sZU5hbWU6IHByb3BzLmNpUm9sZU5hbWUsXG4gICAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5Bcm5QcmluY2lwYWwoXG4gICAgICAgICAgXCJhcm46YXdzOmlhbTo6OTIzNDAyMDk3MDQ2OnJvbGUvYnVpbGR0b29scy1qZW5raW5zLVJvbGVKZW5raW5zU2xhdmUtSlFHWUhSNVdFNkM1XCIsXG4gICAgICAgICksXG4gICAgICB9KVxuICAgICAgbGVnYWN5Um9sZUZvckplbmtpbnMuYWRkVG9Qb2xpY3koXG4gICAgICAgIHBvbGljeVN0YXRlbWVudHMuYWxsb3dQaXBlbGluZVZhcmlhYmxlcyh0aGlzKSxcbiAgICAgIClcbiAgICAgIGJ1Y2tldC5ncmFudFB1dChsZWdhY3lSb2xlRm9ySmVua2lucylcbiAgICAgIGVjclJlcG8uZ3JhbnRQdWxsUHVzaChsZWdhY3lSb2xlRm9ySmVua2lucylcbiAgICB9XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIkVjclJlcG9VcmlcIiwge1xuICAgICAgdmFsdWU6IGVjclJlcG8ucmVwb3NpdG9yeVVyaSxcbiAgICB9KVxuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJCdWNrZXROYW1lXCIsIHtcbiAgICAgIHZhbHVlOiBidWNrZXQuYnVja2V0TmFtZSxcbiAgICB9KVxuXG4gICAgaWYgKHRoaXMucm9sZSkge1xuICAgICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJSb2xlQXJuXCIsIHtcbiAgICAgICAgdmFsdWU6IHRoaXMucm9sZS5yb2xlQXJuLFxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKHRoaXMubGltaXRlZFJvbGUpIHtcbiAgICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiTGltaXRlZFJvbGVBcm5cIiwge1xuICAgICAgICB2YWx1ZTogdGhpcy5saW1pdGVkUm9sZS5yb2xlQXJuLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSx1QkFBdUIsQ0FBQTtBQW1GOUI7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLHNCQUFzQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUN2RSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztRQUN4QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztRQUM3QixTQUFTLEVBQUU7WUFDVCxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLDhDQUE4QyxNQUFNLElBQUksR0FBRyxFQUFFO1NBQ3RJO0tBQ0YsQ0FBQztJQUNKLGlCQUFpQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFrQixFQUFFLEVBQUUsQ0FDckUsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDdkIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2pCLFNBQVMsRUFBRTtZQUNULE1BQU0sQ0FBQyxhQUFh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UyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDcEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhO1NBQzdCLENBQUMsQ0FBQTtRQUVGLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtTQUN6QixDQUFDLENBQUE7UUFFRixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO2dCQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2FBQ3pCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ2hDLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCB7XG4gIEdpdGh1YkFjdGlvbnNSb2xlLFxuICBQcm9wcyBhcyBHaXRodWJBY3Rpb25zUm9sZVByb3BzLFxufSBmcm9tIFwiLi9naXRodWItYWN0aW9ucy1yb2xlXCJcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIFMzIEJ1Y2tldC5cbiAgICpcbiAgICogTk9URTogU2hvdWxkIGluY2x1ZGUgYm90aCBhY2NvdW50IGFuZCByZWdpb24gc28gdGhhdCBpdCB3aWxsXG4gICAqIG5vdCBjb25mbGljdCB3aXRoIG90aGVyIGFjY291bnRzL3JlZ2lvbnMuXG4gICAqL1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIEVDUiBSZXBvc2l0b3J5LlxuICAgKi9cbiAgZWNyUmVwb3NpdG9yeU5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogQ3JlYXRlIGEgcm9sZSB0aGF0IGNhbiBiZSBhc3N1bWVkIGJ5IExpZmxpZyBKZW5raW5zLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBAZGVmYXVsdCAtIG5vIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBjaVJvbGVOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGFwcGx5IHRvIGltYWdlcyBzdG9yZWQgaW4gdGhlIEVDUiByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV4cGlyZSB1bnRhZ2dlZCBpbWFnZXMgYWZ0ZXIgMTAgZGF5cyBhbmQgYW55IGltYWdlIG9sZGVyIHRoYW4gMTgwIGRheXNcbiAgICovXG4gIGVjclJlcG9zaXRvcnlMaWZlY3ljbGVSdWxlcz86IGVjci5MaWZlY3ljbGVSdWxlW11cbiAgLyoqXG4gICAqIElEIG9mIEFXUyBhY2NvdW50cyB0aGF0IHdpbGwgYmUgZ3JhbnRlZCBwZXJtaXNzaW9uIHRvIHJlYWQgZnJvbVxuICAgKiB0aGUgYXJ0aWZhY3QgcmVwb3MuXG4gICAqL1xuICB0YXJnZXRBY2NvdW50SWRzPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIGNyZWF0aW5nIElBTSByb2xlcyB0aGF0IGNhbiBiZSBhc3N1bWVkXG4gICAqIGJ5IEdpdEh1YiBBY3Rpb25zIGluIHNwZWNpZmljIEdpdEh1YiByZXBvc2l0b3JpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcm9sZXMgYXJlIGNyZWF0ZWQuXG4gICAqL1xuICBnaXRodWJBY3Rpb25zPzogT21pdDxcbiAgICBHaXRodWJBY3Rpb25zUm9sZVByb3BzLFxuICAgIFwidHJ1c3RlZE93bmVyc1wiIHwgXCJ0cnVzdGVkQnJhbmNoXCIgfCBcIm9pZGNQcm92aWRlclwiIHwgXCJyb2xlTmFtZVwiXG4gID4gJiB7XG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIHRydXN0ZWQgR2l0SHViIHJlcG9zaXRvcnkgb3duZXJzLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgW1wiY2FwcmFsaWZlY3ljbGVcIl1cbiAgICAgKi9cbiAgICB0cnVzdGVkT3duZXJzPzogc3RyaW5nW11cbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcm9sZSB0byBjcmVhdGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcImdpdGh1Yi1hY3Rpb25zLXJvbGVcIlxuICAgICAqL1xuICAgIHJvbGVOYW1lPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgYnJhbmNoIGluIGFsbCByZXBvc2l0b3JpZXMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcIm1hc3RlclwiXG4gICAgICovXG4gICAgZGVmYXVsdEJyYW5jaD86IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGEgbGltaXRlZCByb2xlIHRoYXQgY2FuIGJlIHVzZWQgb24gbm9uLWRlZmF1bHRcbiAgICAgKiBicmFuY2hlcyB3aXRoIGxlc3MgSUFNIHBlcm1pc3Npb25zIHRoYW4gdGhlIG1haW4gcm9sZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gYSBsaW1pdGVkIHJvbGUgaXMgY3JlYXRlZC5cbiAgICAgKi9cbiAgICBsaW1pdGVkUm9sZUNvbmZpZ3VyYXRpb24/OiB7XG4gICAgICAvKipcbiAgICAgICAqIFdoZXRoZXIgdG8gY3JlYXRlIHRoZSByb2xlIG9yIG5vdC5cbiAgICAgICAqXG4gICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgKi9cbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSByb2xlIHRvIGNyZWF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAZGVmYXVsdCBcImdpdGh1Yi1hY3Rpb25zLWxpbWl0ZWQtcm9sZVwiXG4gICAgICAgKi9cbiAgICAgIHJvbGVOYW1lPzogc3RyaW5nXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGdlbmVyYXRpbmcgSUFNIHN0YXRlbWVudHMuXG4gKi9cbmNvbnN0IHBvbGljeVN0YXRlbWVudHMgPSB7XG4gIGFsbG93UGlwZWxpbmVWYXJpYWJsZXM6IChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHByZWZpeD86IHN0cmluZykgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXCJzc206UHV0UGFyYW1ldGVyXCJdLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGBhcm46YXdzOnNzbToke2Nkay5TdGFjay5vZihzY29wZSkucmVnaW9ufToke2Nkay5TdGFjay5vZihzY29wZSkuYWNjb3VudH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvJHtwcmVmaXggPz8gXCIqXCJ9YCxcbiAgICAgIF0sXG4gICAgfSksXG4gIGRlbnlQcm9kUGlwZWxpbmVzOiAoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBidWNrZXQ6IHMzLklCdWNrZXQpID0+XG4gICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkRFTlksXG4gICAgICBhY3Rpb25zOiBbXCJzMzoqXCJdLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGJ1Y2tldC5hcm5Gb3JPYmplY3RzKFwicGlwZWxpbmVzLyotcHJvZC8qXCIpLFxuICAgICAgICBidWNrZXQuYXJuRm9yT2JqZWN0cyhcInBpcGVsaW5lcy8qLXByb2QtKi8qXCIpLFxuICAgICAgXSxcbiAgICB9KSxcbiAgZGVueVByb2RQaXBlbGluZVZhcmlhYmxlczogKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCkgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuREVOWSxcbiAgICAgIGFjdGlvbnM6IFtcInNzbTpQdXRQYXJhbWV0ZXJcIl0sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgYGFybjphd3M6c3NtOiR7Y2RrLlN0YWNrLm9mKHNjb3BlKS5yZWdpb259OiR7XG4gICAgICAgICAgY2RrLlN0YWNrLm9mKHNjb3BlKS5hY2NvdW50XG4gICAgICAgIH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvcHJvZCpgLFxuICAgICAgXSxcbiAgICB9KSxcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIGZvciB2YWxpZGF0aW5nIHRoZSBjb25zdHJ1Y3QgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUHJvcHMgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGxldCB2YWxpZCA9IHRydWVcbiAgaWYgKFxuICAgIHByb3BzLmdpdGh1YkFjdGlvbnM/LmRlZmF1bHRCcmFuY2ggJiZcbiAgICAhcHJvcHMuZ2l0aHViQWN0aW9ucy5kZWZhdWx0QnJhbmNoLm1hdGNoKC9eW2EtekEtWjAtOS1dKyQvKVxuICApIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYERlZmF1bHQgYnJhbmNoICR7cHJvcHMuZ2l0aHViQWN0aW9ucy5kZWZhdWx0QnJhbmNofSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnNgLFxuICAgIClcbiAgICB2YWxpZCA9IGZhbHNlXG4gIH1cbiAgcmV0dXJuIHZhbGlkXG59XG5cbi8qKlxuICogQ3JlYXRlIHZhcmlvdXMgYXJ0aWZhY3RzIHVzZWQgYXMgcGFydCBvZiBDb250aW51b3VzIEludGVncmF0aW9uIChDSSkuXG4gKlxuICogVGhpcyBpbmNsdWRlcyBhcnRpZmFjdCByZXBvc2l0b3JpZXMgc3VjaCBhcyBTMyBidWNrZXQgYW5kIEVDUlxuICogcmVwb3NpdG9yeSwgYXMgd2VsbCBhcyBJQU0gcm9sZShzKSB0aGF0IGdyYW50IHRoZSBDSSBzZXJ2ZXIgd3JpdGVcbiAqIGFjY2VzcyB0byB0aGVzZSByZXBvc2l0b3JpZXMuXG4gKlxuICogVE9ETzogSG93IGNhbiB3ZSBjbGVhbnVwIHN0dWZmIHRoYXQgZ29lcyBpbnRvIHRoaXMgUzMgQnVja2V0IGFuZFxuICogIEVDUiBSZXBvc2l0b3J5PyBDYW4gd2UgZXZlciByZWxpYWJseSBjbGVhbnVwPyBXZSBwcm9iYWJseSBuZWVkXG4gKiAgc29tZSBzdHJhdGVneSBmb3IgaG93IHdlIHB1dCBzdHVmZiBoZXJlIHRvIGJlIGFibGUgdG8gZG8gaXQuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgQnVpbGRBcnRpZmFjdHMgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcHVibGljIHJlYWRvbmx5IGVjclJlcG9zaXRvcnlBcm46IHN0cmluZ1xuICBwdWJsaWMgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeU5hbWU6IHN0cmluZ1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZT86IGlhbS5Sb2xlXG4gIHB1YmxpYyByZWFkb25seSBsaW1pdGVkUm9sZT86IGlhbS5Sb2xlXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBpZiAoIXZhbGlkYXRlUHJvcHMocHJvcHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHByb3BzIHdlcmUgc3VwcGxpZWRcIilcbiAgICB9XG5cbiAgICB0aGlzLmJ1Y2tldE5hbWUgPSBwcm9wcy5idWNrZXROYW1lXG4gICAgdGhpcy5lY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG4gICAgdGhpcy5lY3JSZXBvc2l0b3J5QXJuID0gY2RrLkFybi5mb3JtYXQoXG4gICAgICB7XG4gICAgICAgIHNlcnZpY2U6IFwiZWNyXCIsXG4gICAgICAgIHJlc291cmNlOiBcInJlcG9zaXRvcnlcIixcbiAgICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLmVjclJlcG9zaXRvcnlOYW1lLFxuICAgICAgfSxcbiAgICAgIGNkay5TdGFjay5vZih0aGlzKSxcbiAgICApXG5cbiAgICBjb25zdCBlY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG5cbiAgICBjb25zdCBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsIFwiUzNCdWNrZXRcIiwge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuYnVja2V0TmFtZSxcbiAgICAgIGVuY3J5cHRpb246IHMzLkJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgIGV2ZW50QnJpZGdlRW5hYmxlZDogdHJ1ZSxcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgICBsaWZlY3ljbGVSdWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbm9uY3VycmVudFZlcnNpb25FeHBpcmF0aW9uOiBjZGsuRHVyYXRpb24uZGF5cygxMCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG5cbiAgICBjb25zdCBlY3JSZXBvID0gbmV3IGVjci5SZXBvc2l0b3J5KHRoaXMsIFwiRWNyUmVwb3NpdG9yeVwiLCB7XG4gICAgICByZXBvc2l0b3J5TmFtZTogZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICBsaWZlY3ljbGVSdWxlczogcHJvcHMuZWNyUmVwb3NpdG9yeUxpZmVjeWNsZVJ1bGVzIHx8IFtcbiAgICAgICAge1xuICAgICAgICAgIG1heEltYWdlQWdlOiBjZGsuRHVyYXRpb24uZGF5cygxMCksXG4gICAgICAgICAgdGFnU3RhdHVzOiBlY3IuVGFnU3RhdHVzLlVOVEFHR0VELFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbWF4SW1hZ2VBZ2U6IGNkay5EdXJhdGlvbi5kYXlzKDE4MCksXG4gICAgICAgICAgdGFnU3RhdHVzOiBlY3IuVGFnU3RhdHVzLkFOWSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIEFsbG93IGEgdGFyZ2V0IHRvIHJlYWQgZnJvbSB0aGUgcmVwb3MuIEFzIGFueSBzcGVjaWZpYyByb2xlcyBuZWVkXG4gICAgLy8gdG8gZXhpc3QgYmVmb3JlIHdlIGNhbiBncmFudCBhY2Nlc3MsIHdlIGRlbGVnYXRlIHRoYXQgcmVzcG9uc2liaWxpdHlcbiAgICAvLyB0byB0aGUgdGFyZ2V0IGFjY291bnQuXG4gICAgZm9yIChjb25zdCB0YXJnZXRBY2NvdW50SWQgb2YgcHJvcHMudGFyZ2V0QWNjb3VudElkcyB8fCBbXSkge1xuICAgICAgYnVja2V0LmdyYW50UmVhZChuZXcgaWFtLkFjY291bnRQcmluY2lwYWwodGFyZ2V0QWNjb3VudElkKSlcbiAgICAgIGVjclJlcG8uZ3JhbnRQdWxsKG5ldyBpYW0uQWNjb3VudFByaW5jaXBhbCh0YXJnZXRBY2NvdW50SWQpKVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5naXRodWJBY3Rpb25zKSB7XG4gICAgICBjb25zdCB0cnVzdGVkT3duZXJzID0gcHJvcHMuZ2l0aHViQWN0aW9ucy50cnVzdGVkT3duZXJzID8/IFtcbiAgICAgICAgXCJjYXByYWxpZmVjeWNsZVwiLFxuICAgICAgXVxuICAgICAgLy8gTk9URTogVGhlcmUncyBhbiBMMiBjb25zdHJ1Y3QgdGhhdCBwcmVkYXRlcyB0aGUgb2ZmaWNpYWwgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UsXG4gICAgICAvLyBhbmQgaXQgaXMgdGhlcmVmb3JlIGltcGxlbWVudGVkIGFzIGEgY3VzdG9tIHJlc291cmNlLlxuICAgICAgLy8gV2UgdXNlIHRoZSBMMSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSBpbnN0ZWFkIGJlY2F1c2U6XG4gICAgICAvLyAxKSBpdCdzIHNpbXBsZXJcbiAgICAgIC8vIDIpIHRoZXJlJ3MgYSBjaGFuY2UgdGhlIEwyIGNvbnN0cnVjdCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gdGhlIGZ1dHVyZSBpbiBmYXZvclxuICAgICAgLy8gb2YgdGhlIG9mZmljaWFsIENsb3VkRm9ybWF0aW9uIHJlc291cmNlLlxuICAgICAgY29uc3QgY2ZuT2lkY1Byb3ZpZGVyID0gbmV3IGlhbS5DZm5PSURDUHJvdmlkZXIoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiT3BlbklkQ29ubmVjdFByb3ZpZGVyXCIsXG4gICAgICAgIHtcbiAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbVwiLFxuICAgICAgICAgIGNsaWVudElkTGlzdDogW1wic3RzLmFtYXpvbmF3cy5jb21cIl0sXG4gICAgICAgICAgLy8gTk9URTogVGhlIHRodW1icHJpbnQgaXNuJ3QgYWN0dWFsbHkgdXNlZCwgYnV0IHRoZSBBV1MgQVBJIHN0aWxsIHJlcXVpcmVzIHVzIHRvIHN1cHBseSBpdC5cbiAgICAgICAgICAvLyBNb3JlIGRldGFpbHMgaGVyZTogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMjQwMTIyMTU1NzU4L2h0dHBzOi8vZ2l0aHViLmNvbS9hd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzL2lzc3Vlcy8zNTcjaXNzdWVjb21tZW50LTE2MjYzNTczMzNcbiAgICAgICAgICB0aHVtYnByaW50TGlzdDogW1wiMWM1OGEzYTg1MThlODc1OWJmMDc1Yjc2Yjc1MGQ0ZjJkZjI2NGZjZFwiXSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICAgIGNvbnN0IG9pZGNQcm92aWRlciA9XG4gICAgICAgIGlhbS5PcGVuSWRDb25uZWN0UHJvdmlkZXIuZnJvbU9wZW5JZENvbm5lY3RQcm92aWRlckFybihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIFwiUHJvdmlkZXJcIixcbiAgICAgICAgICBjZm5PaWRjUHJvdmlkZXIucmVmLFxuICAgICAgICApXG4gICAgICBjb25zdCBjcmVhdGVMaW1pdGVkUm9sZSA9XG4gICAgICAgIHByb3BzLmdpdGh1YkFjdGlvbnMubGltaXRlZFJvbGVDb25maWd1cmF0aW9uPy5lbmFibGVkID8/IHRydWVcbiAgICAgIGNvbnN0IHJvbGUgPSBuZXcgR2l0aHViQWN0aW9uc1JvbGUodGhpcywgXCJHaXRodWJBY3Rpb25zUm9sZVwiLCB7XG4gICAgICAgIG9pZGNQcm92aWRlcixcbiAgICAgICAgdHJ1c3RlZE93bmVycyxcbiAgICAgICAgcm9sZU5hbWU6IHByb3BzLmdpdGh1YkFjdGlvbnMucm9sZU5hbWUgPz8gXCJnaXRodWItYWN0aW9ucy1yb2xlXCIsXG4gICAgICAgIHRydXN0ZWRCcmFuY2g6IGNyZWF0ZUxpbWl0ZWRSb2xlXG4gICAgICAgICAgPyAocHJvcHMuZ2l0aHViQWN0aW9ucy5kZWZhdWx0QnJhbmNoID8/IFwibWFzdGVyXCIpXG4gICAgICAgICAgOiAvLyBOT1RFOiBJZiB0aGUgbGltaXRlZCByb2xlIGlzIGRpc2FibGVkLCBvbmx5IG9uZSByb2xlIHdpbGwgYmUgY3JlYXRlZFxuICAgICAgICAgICAgLy8gYW5kIHRoYXQgcm9sZSB0aGVuIG5lZWRzIHRvIGJlIGFzc3VtYWJsZSBmcm9tIGFsbCBicmFuY2hlcy5cbiAgICAgICAgICAgIFwiKlwiLFxuICAgICAgICByZXBvc2l0b3JpZXM6IHByb3BzLmdpdGh1YkFjdGlvbnMucmVwb3NpdG9yaWVzLFxuICAgICAgfSlcbiAgICAgIHRoaXMucm9sZSA9IHJvbGUucm9sZVxuICAgICAgdGhpcy5yb2xlLmFkZFRvUG9saWN5KHBvbGljeVN0YXRlbWVudHMuYWxsb3dQaXBlbGluZVZhcmlhYmxlcyh0aGlzKSlcbiAgICAgIGJ1Y2tldC5ncmFudFB1dCh0aGlzLnJvbGUpXG4gICAgICBlY3JSZXBvLmdyYW50UHVsbFB1c2godGhpcy5yb2xlKVxuICAgICAgaWYgKGNyZWF0ZUxpbWl0ZWRSb2xlKSB7XG4gICAgICAgIGNvbnN0IGxpbWl0ZWRSb2xlID0gbmV3IEdpdGh1YkFjdGlvbnNSb2xlKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgXCJHaXRodWJBY3Rpb25zTGltaXRlZFJvbGVcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvaWRjUHJvdmlkZXIsXG4gICAgICAgICAgICB0cnVzdGVkT3duZXJzLFxuICAgICAgICAgICAgcm9sZU5hbWU6XG4gICAgICAgICAgICAgIHByb3BzLmdpdGh1YkFjdGlvbnMubGltaXRlZFJvbGVDb25maWd1cmF0aW9uPy5yb2xlTmFtZSA/P1xuICAgICAgICAgICAgICBcImdpdGh1Yi1hY3Rpb25zLWxpbWl0ZWQtcm9sZVwiLFxuICAgICAgICAgICAgLy8gTk9URTogVGhlIGxpbWl0ZWQgcm9sZSBjYW4gYmUgYXNzdW1lZCBmcm9tIGFsbCBicmFuY2hlcy5cbiAgICAgICAgICAgIHRydXN0ZWRCcmFuY2g6IFwiKlwiLFxuICAgICAgICAgICAgcmVwb3NpdG9yaWVzOiBwcm9wcy5naXRodWJBY3Rpb25zLnJlcG9zaXRvcmllcyxcbiAgICAgICAgICB9LFxuICAgICAgICApXG4gICAgICAgIHRoaXMubGltaXRlZFJvbGUgPSBsaW1pdGVkUm9sZS5yb2xlXG4gICAgICAgIHRoaXMubGltaXRlZFJvbGUuYWRkVG9Qb2xpY3koXG4gICAgICAgICAgcG9saWN5U3RhdGVtZW50cy5hbGxvd1BpcGVsaW5lVmFyaWFibGVzKHRoaXMsIFwiZGV2KlwiKSxcbiAgICAgICAgKVxuICAgICAgICB0aGlzLmxpbWl0ZWRSb2xlLmFkZFRvUG9saWN5KFxuICAgICAgICAgIHBvbGljeVN0YXRlbWVudHMuZGVueVByb2RQaXBlbGluZXMoc2NvcGUsIGJ1Y2tldCksXG4gICAgICAgIClcbiAgICAgICAgYnVja2V0LmdyYW50UHV0KHRoaXMubGltaXRlZFJvbGUpXG4gICAgICAgIGVjclJlcG8uZ3JhbnRQdWxsUHVzaCh0aGlzLmxpbWl0ZWRSb2xlKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMuY2lSb2xlTmFtZSkge1xuICAgICAgY29uc3QgbGVnYWN5Um9sZUZvckplbmtpbnMgPSBuZXcgaWFtLlJvbGUodGhpcywgXCJDaVJvbGVcIiwge1xuICAgICAgICByb2xlTmFtZTogcHJvcHMuY2lSb2xlTmFtZSxcbiAgICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLkFyblByaW5jaXBhbChcbiAgICAgICAgICBcImFybjphd3M6aWFtOjo5MjM0MDIwOTcwNDY6cm9sZS9idWlsZHRvb2xzLWplbmtpbnMtUm9sZUplbmtpbnNTbGF2ZS1KUUdZSFI1V0U2QzVcIixcbiAgICAgICAgKSxcbiAgICAgIH0pXG4gICAgICBsZWdhY3lSb2xlRm9ySmVua2lucy5hZGRUb1BvbGljeShcbiAgICAgICAgcG9saWN5U3RhdGVtZW50cy5hbGxvd1BpcGVsaW5lVmFyaWFibGVzKHRoaXMpLFxuICAgICAgKVxuICAgICAgYnVja2V0LmdyYW50UHV0KGxlZ2FjeVJvbGVGb3JKZW5raW5zKVxuICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKGxlZ2FjeVJvbGVGb3JKZW5raW5zKVxuICAgIH1cblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiRWNyUmVwb1VyaVwiLCB7XG4gICAgICB2YWx1ZTogZWNyUmVwby5yZXBvc2l0b3J5VXJpLFxuICAgIH0pXG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIkJ1Y2tldE5hbWVcIiwge1xuICAgICAgdmFsdWU6IGJ1Y2tldC5idWNrZXROYW1lLFxuICAgIH0pXG5cbiAgICBpZiAodGhpcy5yb2xlKSB7XG4gICAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIlJvbGVBcm5cIiwge1xuICAgICAgICB2YWx1ZTogdGhpcy5yb2xlLnJvbGVBcm4sXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAodGhpcy5saW1pdGVkUm9sZSkge1xuICAgICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJMaW1pdGVkUm9sZUFyblwiLCB7XG4gICAgICAgIHZhbHVlOiB0aGlzLmxpbWl0ZWRSb2xlLnJvbGVBcm4sXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liflig/cdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.12.1",
|
|
4
4
|
"description": "CDK library for Liflig",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -46,30 +46,30 @@
|
|
|
46
46
|
"@aws-sdk/client-codebuild": "3.848.0",
|
|
47
47
|
"@aws-sdk/client-codepipeline": "3.848.0",
|
|
48
48
|
"@aws-sdk/client-ecs": "3.848.0",
|
|
49
|
-
"@aws-sdk/client-s3": "3.
|
|
49
|
+
"@aws-sdk/client-s3": "3.850.0",
|
|
50
50
|
"@aws-sdk/client-secrets-manager": "3.848.0",
|
|
51
51
|
"@aws-sdk/client-ses": "3.848.0",
|
|
52
52
|
"@aws-sdk/client-sesv2": "3.849.0",
|
|
53
53
|
"@aws-sdk/client-sfn": "3.848.0",
|
|
54
|
-
"@aws-sdk/lib-storage": "3.
|
|
54
|
+
"@aws-sdk/lib-storage": "3.850.0",
|
|
55
55
|
"@commitlint/cli": "19.8.1",
|
|
56
56
|
"@commitlint/config-conventional": "19.8.1",
|
|
57
57
|
"@eslint/eslintrc": "3.3.1",
|
|
58
58
|
"@eslint/js": "9.31.0",
|
|
59
59
|
"@types/aws-lambda": "8.10.152",
|
|
60
60
|
"@types/jest": "30.0.0",
|
|
61
|
-
"@types/node": "24.0
|
|
62
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
63
|
-
"@typescript-eslint/parser": "8.
|
|
64
|
-
"aws-cdk": "2.
|
|
65
|
-
"aws-cdk-lib": "2.
|
|
61
|
+
"@types/node": "24.1.0",
|
|
62
|
+
"@typescript-eslint/eslint-plugin": "8.38.0",
|
|
63
|
+
"@typescript-eslint/parser": "8.38.0",
|
|
64
|
+
"aws-cdk": "2.1022.0",
|
|
65
|
+
"aws-cdk-lib": "2.207.0",
|
|
66
66
|
"constructs": "10.4.2",
|
|
67
67
|
"esbuild": "0.25.8",
|
|
68
68
|
"eslint": "9.31.0",
|
|
69
69
|
"eslint-config-prettier": "10.1.8",
|
|
70
70
|
"eslint-plugin-prettier": "5.5.3",
|
|
71
71
|
"husky": "9.1.7",
|
|
72
|
-
"jest": "30.0.
|
|
72
|
+
"jest": "30.0.5",
|
|
73
73
|
"jest-cdk-snapshot": "2.3.6",
|
|
74
74
|
"prettier": "3.6.2",
|
|
75
75
|
"semantic-release": "24.2.7",
|