@liflig/cdk 3.26.8 → 3.26.10

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.
@@ -56,8 +56,10 @@ export interface Props {
56
56
  }
57
57
  /**
58
58
  * Utility function for validating the construct properties.
59
+ *
60
+ * Returns a list of validation error messages. An empty list means the props are valid.
59
61
  */
60
- export declare const validateProps: (props: Props) => boolean;
62
+ export declare const validateProps: (props: Props) => string[];
61
63
  /**
62
64
  * Creates an IAM role that can be assumed by GitHub Actions workflows
63
65
  * in specific GitHub repositories and branches using OpenID Connect.
@@ -2,30 +2,28 @@ import * as iam from "aws-cdk-lib/aws-iam";
2
2
  import * as constructs from "constructs";
3
3
  /**
4
4
  * Utility function for validating the construct properties.
5
+ *
6
+ * Returns a list of validation error messages. An empty list means the props are valid.
5
7
  */
6
8
  export const validateProps = (props) => {
7
- let valid = true;
9
+ const errors = [];
8
10
  if (props.trustedOwners.length === 0) {
9
- console.error("At least 1 trusted owner must be supplied, but 0 were given");
10
- valid = false;
11
+ errors.push("At least 1 trusted owner must be supplied, but 0 were given");
11
12
  }
12
13
  if (props.repositories.length === 0) {
13
- console.error("At least 1 repository must be supplied, but 0 were given");
14
- valid = false;
14
+ errors.push("At least 1 repository must be supplied, but 0 were given");
15
15
  }
16
16
  props.trustedOwners.forEach((owner) => {
17
17
  if (!owner.match(/^[a-zA-Z0-9-]+$/)) {
18
- console.error(`Trusted owner ${owner} contains invalid characters`);
19
- valid = false;
18
+ errors.push(`Trusted owner ${owner} contains invalid characters`);
20
19
  }
21
20
  });
22
21
  props.repositories.forEach((repository) => {
23
22
  if (!props.trustedOwners.includes(repository.owner)) {
24
- console.error(`Owner ${repository.owner} of repository ${repository.name} not configured as a trusted owner`);
25
- valid = false;
23
+ errors.push(`Owner ${repository.owner} of repository ${repository.name} not configured as a trusted owner`);
26
24
  }
27
25
  });
28
- return valid;
26
+ return errors;
29
27
  };
30
28
  /**
31
29
  * Creates an IAM role that can be assumed by GitHub Actions workflows
@@ -35,8 +33,9 @@ export class GithubActionsRole extends constructs.Construct {
35
33
  role;
36
34
  constructor(scope, id, props) {
37
35
  super(scope, id);
38
- if (!validateProps(props)) {
39
- throw new Error("Invalid props were supplied");
36
+ const errors = validateProps(props);
37
+ if (errors.length > 0) {
38
+ throw new Error(`Invalid props were supplied: ${errors.join("; ")}`);
40
39
  }
41
40
  const subjects = props.repositories.map((repository) => `repo:${repository.owner}/${repository.name}:ref:refs/heads/${props.trustedBranch ?? "master"}`);
42
41
  const fullyQualifiedSubjects = subjects.filter((subject) => !(subject.includes("?") || subject.includes("*")));
@@ -65,4 +64,4 @@ export class GithubActionsRole extends constructs.Construct {
65
64
  });
66
65
  }
67
66
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLWFjdGlvbnMtcm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZC1hcnRpZmFjdHMvZ2l0aHViLWFjdGlvbnMtcm9sZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFBO0FBQzFDLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBeUR4Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQzVDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQTtJQUNoQixJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQTtRQUM1RSxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2YsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFBO1FBQ3pFLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDZixDQUFDO0lBQ0QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyw4QkFBOEIsQ0FBQyxDQUFBO1lBQ25FLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDZixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFB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YW1cIlxuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcHMge1xuICAvKipcbiAgICogQSBsaXN0IG9mIHRydXN0ZWQgR2l0SHViIHJlcG9zaXRvcnkgb3duZXJzLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9ucyBhcyBhIHNvcnQgb2Ygd2hpdGVsaXN0IHRvIGNhdGNoXG4gICAqIHBvdGVudGlhbCB0eXBvcyBpbiB7QGxpbmsgcmVwb3NpdG9yaWVzfS5cbiAgICovXG4gIHRydXN0ZWRPd25lcnM6IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdHJ1c3RlZCBicmFuY2guXG4gICAqXG4gICAqIFRoZSB3aWxkY2FyZCBjaGFyYWN0ZXJzICcqJyBhbmQgJz8nIGNhbiBiZSB1c2VkIHRvXG4gICAqIHJlcHJlc2VudCBhbnkgY29tYmluYXRpb24gb2YgY2hhcmFjdGVycyBhbmQgYW55IHNpbmdsZVxuICAgKiBjaGFyYWN0ZXIsIHJlc3BlY3RpdmVseS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJtYXN0ZXJcIlxuICAgKi9cbiAgdHJ1c3RlZEJyYW5jaD86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJvbGUgdG8gY3JlYXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImdpdGh1Yi1hY3Rpb25zLXJvbGVcIlxuICAgKi9cbiAgcm9sZU5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBHaXRIdWIgcmVwb3NpdG9yaWVzIHRoYXQgdGhlIHByaW5jaXBhbCB0cnVzdHMuXG4gICAqL1xuICByZXBvc2l0b3JpZXM6IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAgICpcbiAgICAgKiBUaGUgd2lsZGNhcmQgY2hhcmFjdGVycyAnKicgYW5kICc/JyBjYW4gYmUgdXNlZCB0b1xuICAgICAqIHJlcHJlc2VudCBhbnkgY29tYmluYXRpb24gb2YgY2hhcmFjdGVycyBhbmQgYW55IHNpbmdsZVxuICAgICAqIGNoYXJhY3RlciwgcmVzcGVjdGl2ZWx5LlxuICAgICAqXG4gICAgICogTk9URTogQmUgY2FyZWZ1bCB3aGVuIHVzaW5nIHdpbGRjYXJkIGNoYXJhY3RlcnMgYXMgeW91XG4gICAgICogbWF5IGdyYW50IGFjY2VzcyB0byByZXBvc2l0b3JpZXMgeW91IGRpZCBub3QgaW50ZW5kLlxuICAgICAqXG4gICAgICogQGV4YW1wbGUgXCJteS1yZXBvc2l0b3J5XCJcbiAgICAgKiBAZXhhbXBsZSBcIm15LXRlYW0tKlwiXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIG93bmVyIG9mIHRoZSBHaXRIdWIgcmVwb3NpdG9yeS5cbiAgICAgKlxuICAgICAqIE5PVEU6IFRoZSBvd25lciBtdXN0IGV4cGxpY2l0bHkgYmUgd2hpdGVsaXN0ZWQgaW4ge0BsaW5rIHRydXN0ZWRPd25lcnN9LlxuICAgICAqL1xuICAgIG93bmVyOiBzdHJpbmdcbiAgfVtdXG4gIC8qKlxuICAgKiBBbiBleGlzdGluZyBPcGVuSUQgQ29ubmVjdCBQcm92aWRlciBmb3IgR2l0SHViIEFjdGlvbnMuXG4gICAqL1xuICBvaWRjUHJvdmlkZXI6IGlhbS5JT3BlbklkQ29ubmVjdFByb3ZpZGVyXG59XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbiBmb3IgdmFsaWRhdGluZyB0aGUgY29uc3RydWN0IHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVByb3BzID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBsZXQgdmFsaWQgPSB0cnVlXG4gIGlmIChwcm9wcy50cnVzdGVkT3duZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJBdCBsZWFzdCAxIHRydXN0ZWQgb3duZXIgbXVzdCBiZSBzdXBwbGllZCwgYnV0IDAgd2VyZSBnaXZlblwiKVxuICAgIHZhbGlkID0gZmFsc2VcbiAgfVxuICBpZiAocHJvcHMucmVwb3NpdG9yaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJBdCBsZWFzdCAxIHJlcG9zaXRvcnkgbXVzdCBiZSBzdXBwbGllZCwgYnV0IDAgd2VyZSBnaXZlblwiKVxuICAgIHZhbGlkID0gZmFsc2VcbiAgfVxuICBwcm9wcy50cnVzdGVkT3duZXJzLmZvckVhY2goKG93bmVyKSA9PiB7XG4gICAgaWYgKCFvd25lci5tYXRjaCgvXlthLXpBLVowLTktXSskLykpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFRydXN0ZWQgb3duZXIgJHtvd25lcn0gY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzYClcbiAgICAgIHZhbGlkID0gZmFsc2VcbiAgICB9XG4gIH0pXG5cbiAgcHJvcHMucmVwb3NpdG9yaWVzLmZvckVhY2goKHJlcG9zaXRvcnkpID0+IHtcbiAgICBpZiAoIXByb3BzLnRydXN0ZWRPd25lcnMuaW5jbHVkZXMocmVwb3NpdG9yeS5vd25lcikpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBPd25lciAke3JlcG9zaXRvcnkub3duZXJ9IG9mIHJlcG9zaXRvcnkgJHtyZXBvc2l0b3J5Lm5hbWV9IG5vdCBjb25maWd1cmVkIGFzIGEgdHJ1c3RlZCBvd25lcmAsXG4gICAgICApXG4gICAgICB2YWxpZCA9IGZhbHNlXG4gICAgfVxuICB9KVxuICByZXR1cm4gdmFsaWRcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIElBTSByb2xlIHRoYXQgY2FuIGJlIGFzc3VtZWQgYnkgR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzXG4gKiBpbiBzcGVjaWZpYyBHaXRIdWIgcmVwb3NpdG9yaWVzIGFuZCBicmFuY2hlcyB1c2luZyBPcGVuSUQgQ29ubmVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdpdGh1YkFjdGlvbnNSb2xlIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLlJvbGVcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcbiAgICBpZiAoIXZhbGlkYXRlUHJvcHMocHJvcHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHByb3BzIHdlcmUgc3VwcGxpZWRcIilcbiAgICB9XG5cbiAgICBjb25zdCBzdWJqZWN0cyA9IHByb3BzLnJlcG9zaXRvcmllcy5tYXAoXG4gICAgICAocmVwb3NpdG9yeSkgPT5cbiAgICAgICAgYHJlcG86JHtyZXBvc2l0b3J5Lm93bmVyfS8ke3JlcG9zaXRvcnkubmFtZX06cmVmOnJlZnMvaGVhZHMvJHtwcm9wcy50cnVzdGVkQnJhbmNoID8/IFwibWFzdGVyXCJ9YCxcbiAgICApXG4gICAgY29uc3QgZnVsbHlRdWFsaWZpZWRTdWJqZWN0cyA9IHN1YmplY3RzLmZpbHRlcihcbiAgICAgIChzdWJqZWN0KSA9PiAhKHN1YmplY3QuaW5jbHVkZXMoXCI/XCIpIHx8IHN1YmplY3QuaW5jbHVkZXMoXCIqXCIpKSxcbiAgICApXG5cbiAgICBjb25zdCB3aWxkY2FyZFN1YmplY3RzID0gc3ViamVjdHMuZmlsdGVyKFxuICAgICAgKHN1YmplY3QpID0+IHN1YmplY3QuaW5jbHVkZXMoXCI/XCIpIHx8IHN1YmplY3QuaW5jbHVkZXMoXCIqXCIpLFxuICAgIClcbiAgICBjb25zdCBwcmluY2lwYWxDb25kaXRpb25zID0ge1xuICAgICAgLi4uKGZ1bGx5UXVhbGlmaWVkU3ViamVjdHMubGVuZ3RoICYmIHtcbiAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgXCJ0b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTpzdWJcIjogZnVsbHlRdWFsaWZpZWRTdWJqZWN0cyxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgLi4uKHdpbGRjYXJkU3ViamVjdHMubGVuZ3RoICYmIHtcbiAgICAgICAgU3RyaW5nTGlrZToge1xuICAgICAgICAgIFwidG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb206c3ViXCI6IHdpbGRjYXJkU3ViamVjdHMsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICB9XG5cbiAgICBjb25zdCBwcmluY2lwYWwgPSBuZXcgaWFtLkZlZGVyYXRlZFByaW5jaXBhbChcbiAgICAgIHByb3BzLm9pZGNQcm92aWRlci5vcGVuSWRDb25uZWN0UHJvdmlkZXJBcm4sXG4gICAgICBwcmluY2lwYWxDb25kaXRpb25zLFxuICAgICAgXCJzdHM6QXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eVwiLFxuICAgIClcblxuICAgIC8vIFZlcmlmeSB0aGF0IHRoZSBwcmluY2lwYWwgaXMgY29uZmlndXJlZCB3aXRoIGEgdHJ1c3QgcmVsYXRpb25zaGlwXG4gICAgLy8gdGhhdCBjb250YWlucyBhdCBsZWFzdCBvbmUgSUFNIGNvbmRpdGlvbiB3aXRoIGEgY29udGV4dCBrZXkgYW5kIHZhbHVlc1xuICAgIGlmIChcbiAgICAgICFPYmplY3QudmFsdWVzKHByaW5jaXBhbENvbmRpdGlvbnMpLnNvbWUoKGNvbmRpdGlvbkVsZW1lbnQpID0+XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGNvbmRpdGlvbkVsZW1lbnQpLnNvbWUoXG4gICAgICAgICAgKFtjb25kaXRpb25LZXksIGNvbmRpdGlvblZhbHVlXSkgPT5cbiAgICAgICAgICAgIGNvbmRpdGlvbktleSAmJiBjb25kaXRpb25WYWx1ZS5sZW5ndGgsXG4gICAgICAgICksXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiVGhlIHByaW5jaXBhbCdzIHRydXN0IHBvbGljeSBuZWVkcyB0byBiZSBjb25maWd1cmVkIHdpdGggYXQgbGVhc3Qgb25lIElBTSBjb25kaXRpb25cIixcbiAgICAgIClcbiAgICB9XG4gICAgdGhpcy5yb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiUm9sZVwiLCB7XG4gICAgICByb2xlTmFtZTogcHJvcHMucm9sZU5hbWUgPz8gXCJnaXRodWItYWN0aW9ucy1yb2xlXCIsXG4gICAgICBhc3N1bWVkQnk6IHByaW5jaXBhbCxcbiAgICB9KVxuICB9XG59XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLWFjdGlvbnMtcm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZC1hcnRpZmFjdHMvZ2l0aHViLWFjdGlvbnMtcm9sZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFBO0FBQzFDLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBeUR4Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBWSxFQUFZLEVBQUU7SUFDdEQsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFBO0lBQzNCLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyw2REFBNkQsQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMERBQTBELENBQUMsQ0FBQTtJQUN6RSxDQUFDO0lBQ0QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsS0FBSyw4QkFBOEIsQ0FBQyxDQUFBO1FBQ25FLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQ1QsU0FBUyxVQUFVLENBQUMsS0FBSyxrQkFBa0IsVUFBVSxDQUFDLElBQUksb0NBQW9DLENBQy9GLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDRixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQUN6QyxJQUFJLENBQVU7SUFFOUIsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUFZO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEIsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25DLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN0RSxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ3JDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDYixRQUFRLFVBQVUsQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLElBQUksbUJBQW1CLEtBQUssQ0FBQyxhQUFhLElBQUksUUFBUSxFQUFFLENBQ2xHLENBQUE7UUFDRCxNQUFNLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQzVDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQy9ELENBQUE7UUFFRCxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQ3RDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQzVELENBQUE7UUFDRCxNQUFNLG1CQUFtQixHQUFHO1lBQzFCLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLElBQUk7Z0JBQ25DLFlBQVksRUFBRTtvQkFDWix5Q0FBeUMsRUFBRSxzQkFBc0I7aUJBQ2xFO2FBQ0YsQ0FBQztZQUNGLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUk7Z0JBQzdCLFVBQVUsRUFBRTtvQkFDVix5Q0FBeUMsRUFBRSxnQkFBZ0I7aUJBQzVEO2FBQ0YsQ0FBQztTQUNILENBQUE7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsQ0FDMUMsS0FBSyxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsRUFDM0MsbUJBQW1CLEVBQ25CLCtCQUErQixDQUNoQyxDQUFBO1FBRUQsb0VBQW9FO1FBQ3BFLHlFQUF5RTtRQUN6RSxJQUNFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FDNUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FDbkMsQ0FBQyxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLENBQ2pDLFlBQVksSUFBSSxjQUFjLENBQUMsTUFBTSxDQUN4QyxDQUNGLEVBQ0QsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IscUZBQXFGLENBQ3RGLENBQUE7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNyQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxxQkFBcUI7WUFDakQsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiB0cnVzdGVkIEdpdEh1YiByZXBvc2l0b3J5IG93bmVycy5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbnMgYXMgYSBzb3J0IG9mIHdoaXRlbGlzdCB0byBjYXRjaFxuICAgKiBwb3RlbnRpYWwgdHlwb3MgaW4ge0BsaW5rIHJlcG9zaXRvcmllc30uXG4gICAqL1xuICB0cnVzdGVkT3duZXJzOiBzdHJpbmdbXVxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRydXN0ZWQgYnJhbmNoLlxuICAgKlxuICAgKiBUaGUgd2lsZGNhcmQgY2hhcmFjdGVycyAnKicgYW5kICc/JyBjYW4gYmUgdXNlZCB0b1xuICAgKiByZXByZXNlbnQgYW55IGNvbWJpbmF0aW9uIG9mIGNoYXJhY3RlcnMgYW5kIGFueSBzaW5nbGVcbiAgICogY2hhcmFjdGVyLCByZXNwZWN0aXZlbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwibWFzdGVyXCJcbiAgICovXG4gIHRydXN0ZWRCcmFuY2g/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByb2xlIHRvIGNyZWF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJnaXRodWItYWN0aW9ucy1yb2xlXCJcbiAgICovXG4gIHJvbGVOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIHJlcG9zaXRvcmllcyB0aGF0IHRoZSBwcmluY2lwYWwgdHJ1c3RzLlxuICAgKi9cbiAgcmVwb3NpdG9yaWVzOiB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIEdpdEh1YiByZXBvc2l0b3J5LlxuICAgICAqXG4gICAgICogVGhlIHdpbGRjYXJkIGNoYXJhY3RlcnMgJyonIGFuZCAnPycgY2FuIGJlIHVzZWQgdG9cbiAgICAgKiByZXByZXNlbnQgYW55IGNvbWJpbmF0aW9uIG9mIGNoYXJhY3RlcnMgYW5kIGFueSBzaW5nbGVcbiAgICAgKiBjaGFyYWN0ZXIsIHJlc3BlY3RpdmVseS5cbiAgICAgKlxuICAgICAqIE5PVEU6IEJlIGNhcmVmdWwgd2hlbiB1c2luZyB3aWxkY2FyZCBjaGFyYWN0ZXJzIGFzIHlvdVxuICAgICAqIG1heSBncmFudCBhY2Nlc3MgdG8gcmVwb3NpdG9yaWVzIHlvdSBkaWQgbm90IGludGVuZC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlIFwibXktcmVwb3NpdG9yeVwiXG4gICAgICogQGV4YW1wbGUgXCJteS10ZWFtLSpcIlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBvd25lciBvZiB0aGUgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAgICpcbiAgICAgKiBOT1RFOiBUaGUgb3duZXIgbXVzdCBleHBsaWNpdGx5IGJlIHdoaXRlbGlzdGVkIGluIHtAbGluayB0cnVzdGVkT3duZXJzfS5cbiAgICAgKi9cbiAgICBvd25lcjogc3RyaW5nXG4gIH1bXVxuICAvKipcbiAgICogQW4gZXhpc3RpbmcgT3BlbklEIENvbm5lY3QgUHJvdmlkZXIgZm9yIEdpdEh1YiBBY3Rpb25zLlxuICAgKi9cbiAgb2lkY1Byb3ZpZGVyOiBpYW0uSU9wZW5JZENvbm5lY3RQcm92aWRlclxufVxuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gZm9yIHZhbGlkYXRpbmcgdGhlIGNvbnN0cnVjdCBwcm9wZXJ0aWVzLlxuICpcbiAqIFJldHVybnMgYSBsaXN0IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMuIEFuIGVtcHR5IGxpc3QgbWVhbnMgdGhlIHByb3BzIGFyZSB2YWxpZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUHJvcHMgPSAocHJvcHM6IFByb3BzKTogc3RyaW5nW10gPT4ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW11cbiAgaWYgKHByb3BzLnRydXN0ZWRPd25lcnMubGVuZ3RoID09PSAwKSB7XG4gICAgZXJyb3JzLnB1c2goXCJBdCBsZWFzdCAxIHRydXN0ZWQgb3duZXIgbXVzdCBiZSBzdXBwbGllZCwgYnV0IDAgd2VyZSBnaXZlblwiKVxuICB9XG4gIGlmIChwcm9wcy5yZXBvc2l0b3JpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgZXJyb3JzLnB1c2goXCJBdCBsZWFzdCAxIHJlcG9zaXRvcnkgbXVzdCBiZSBzdXBwbGllZCwgYnV0IDAgd2VyZSBnaXZlblwiKVxuICB9XG4gIHByb3BzLnRydXN0ZWRPd25lcnMuZm9yRWFjaCgob3duZXIpID0+IHtcbiAgICBpZiAoIW93bmVyLm1hdGNoKC9eW2EtekEtWjAtOS1dKyQvKSkge1xuICAgICAgZXJyb3JzLnB1c2goYFRydXN0ZWQgb3duZXIgJHtvd25lcn0gY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzYClcbiAgICB9XG4gIH0pXG5cbiAgcHJvcHMucmVwb3NpdG9yaWVzLmZvckVhY2goKHJlcG9zaXRvcnkpID0+IHtcbiAgICBpZiAoIXByb3BzLnRydXN0ZWRPd25lcnMuaW5jbHVkZXMocmVwb3NpdG9yeS5vd25lcikpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgT3duZXIgJHtyZXBvc2l0b3J5Lm93bmVyfSBvZiByZXBvc2l0b3J5ICR7cmVwb3NpdG9yeS5uYW1lfSBub3QgY29uZmlndXJlZCBhcyBhIHRydXN0ZWQgb3duZXJgLFxuICAgICAgKVxuICAgIH1cbiAgfSlcbiAgcmV0dXJuIGVycm9yc1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gSUFNIHJvbGUgdGhhdCBjYW4gYmUgYXNzdW1lZCBieSBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvd3NcbiAqIGluIHNwZWNpZmljIEdpdEh1YiByZXBvc2l0b3JpZXMgYW5kIGJyYW5jaGVzIHVzaW5nIE9wZW5JRCBDb25uZWN0LlxuICovXG5leHBvcnQgY2xhc3MgR2l0aHViQWN0aW9uc1JvbGUgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uUm9sZVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuICAgIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlUHJvcHMocHJvcHMpXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvcHMgd2VyZSBzdXBwbGllZDogJHtlcnJvcnMuam9pbihcIjsgXCIpfWApXG4gICAgfVxuXG4gICAgY29uc3Qgc3ViamVjdHMgPSBwcm9wcy5yZXBvc2l0b3JpZXMubWFwKFxuICAgICAgKHJlcG9zaXRvcnkpID0+XG4gICAgICAgIGByZXBvOiR7cmVwb3NpdG9yeS5vd25lcn0vJHtyZXBvc2l0b3J5Lm5hbWV9OnJlZjpyZWZzL2hlYWRzLyR7cHJvcHMudHJ1c3RlZEJyYW5jaCA/PyBcIm1hc3RlclwifWAsXG4gICAgKVxuICAgIGNvbnN0IGZ1bGx5UXVhbGlmaWVkU3ViamVjdHMgPSBzdWJqZWN0cy5maWx0ZXIoXG4gICAgICAoc3ViamVjdCkgPT4gIShzdWJqZWN0LmluY2x1ZGVzKFwiP1wiKSB8fCBzdWJqZWN0LmluY2x1ZGVzKFwiKlwiKSksXG4gICAgKVxuXG4gICAgY29uc3Qgd2lsZGNhcmRTdWJqZWN0cyA9IHN1YmplY3RzLmZpbHRlcihcbiAgICAgIChzdWJqZWN0KSA9PiBzdWJqZWN0LmluY2x1ZGVzKFwiP1wiKSB8fCBzdWJqZWN0LmluY2x1ZGVzKFwiKlwiKSxcbiAgICApXG4gICAgY29uc3QgcHJpbmNpcGFsQ29uZGl0aW9ucyA9IHtcbiAgICAgIC4uLihmdWxseVF1YWxpZmllZFN1YmplY3RzLmxlbmd0aCAmJiB7XG4gICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgIFwidG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb206c3ViXCI6IGZ1bGx5UXVhbGlmaWVkU3ViamVjdHMsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIC4uLih3aWxkY2FyZFN1YmplY3RzLmxlbmd0aCAmJiB7XG4gICAgICAgIFN0cmluZ0xpa2U6IHtcbiAgICAgICAgICBcInRva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tOnN1YlwiOiB3aWxkY2FyZFN1YmplY3RzLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfVxuXG4gICAgY29uc3QgcHJpbmNpcGFsID0gbmV3IGlhbS5GZWRlcmF0ZWRQcmluY2lwYWwoXG4gICAgICBwcm9wcy5vaWRjUHJvdmlkZXIub3BlbklkQ29ubmVjdFByb3ZpZGVyQXJuLFxuICAgICAgcHJpbmNpcGFsQ29uZGl0aW9ucyxcbiAgICAgIFwic3RzOkFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlcIixcbiAgICApXG5cbiAgICAvLyBWZXJpZnkgdGhhdCB0aGUgcHJpbmNpcGFsIGlzIGNvbmZpZ3VyZWQgd2l0aCBhIHRydXN0IHJlbGF0aW9uc2hpcFxuICAgIC8vIHRoYXQgY29udGFpbnMgYXQgbGVhc3Qgb25lIElBTSBjb25kaXRpb24gd2l0aCBhIGNvbnRleHQga2V5IGFuZCB2YWx1ZXNcbiAgICBpZiAoXG4gICAgICAhT2JqZWN0LnZhbHVlcyhwcmluY2lwYWxDb25kaXRpb25zKS5zb21lKChjb25kaXRpb25FbGVtZW50KSA9PlxuICAgICAgICBPYmplY3QuZW50cmllcyhjb25kaXRpb25FbGVtZW50KS5zb21lKFxuICAgICAgICAgIChbY29uZGl0aW9uS2V5LCBjb25kaXRpb25WYWx1ZV0pID0+XG4gICAgICAgICAgICBjb25kaXRpb25LZXkgJiYgY29uZGl0aW9uVmFsdWUubGVuZ3RoLFxuICAgICAgICApLFxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoZSBwcmluY2lwYWwncyB0cnVzdCBwb2xpY3kgbmVlZHMgdG8gYmUgY29uZmlndXJlZCB3aXRoIGF0IGxlYXN0IG9uZSBJQU0gY29uZGl0aW9uXCIsXG4gICAgICApXG4gICAgfVxuICAgIHRoaXMucm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCBcIlJvbGVcIiwge1xuICAgICAgcm9sZU5hbWU6IHByb3BzLnJvbGVOYW1lID8/IFwiZ2l0aHViLWFjdGlvbnMtcm9sZVwiLFxuICAgICAgYXNzdW1lZEJ5OiBwcmluY2lwYWwsXG4gICAgfSlcbiAgfVxufVxuIl19
@@ -81,8 +81,10 @@ interface Props {
81
81
  }
82
82
  /**
83
83
  * Utility function for validating the construct properties.
84
+ *
85
+ * Returns a list of validation error messages. An empty list means the props are valid.
84
86
  */
85
- export declare const validateProps: (props: Props) => boolean;
87
+ export declare const validateProps: (props: Props) => string[];
86
88
  /**
87
89
  * Create various artifacts used as part of Continuous Integration (CI).
88
90
  *
@@ -33,15 +33,16 @@ const policyStatements = {
33
33
  };
34
34
  /**
35
35
  * Utility function for validating the construct properties.
36
+ *
37
+ * Returns a list of validation error messages. An empty list means the props are valid.
36
38
  */
37
39
  export const validateProps = (props) => {
38
- let valid = true;
40
+ const errors = [];
39
41
  if (props.githubActions?.defaultBranch &&
40
42
  !props.githubActions.defaultBranch.match(/^[a-zA-Z0-9-]+$/)) {
41
- console.error(`Default branch ${props.githubActions.defaultBranch} contains invalid characters`);
42
- valid = false;
43
+ errors.push(`Default branch ${props.githubActions.defaultBranch} contains invalid characters`);
43
44
  }
44
- return valid;
45
+ return errors;
45
46
  };
46
47
  /**
47
48
  * Create various artifacts used as part of Continuous Integration (CI).
@@ -64,8 +65,9 @@ export class BuildArtifacts extends constructs.Construct {
64
65
  limitedRole;
65
66
  constructor(scope, id, props) {
66
67
  super(scope, id);
67
- if (!validateProps(props)) {
68
- throw new Error("Invalid props were supplied");
68
+ const errors = validateProps(props);
69
+ if (errors.length > 0) {
70
+ throw new Error(`Invalid props were supplied: ${errors.join("; ")}`);
69
71
  }
70
72
  this.bucketName = props.bucketName;
71
73
  this.ecrRepositoryName = props.ecrRepositoryName;
@@ -185,4 +187,4 @@ export class BuildArtifacts extends constructs.Construct {
185
187
  }
186
188
  }
187
189
  }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSx1QkFBdUIsQ0FBQTtBQW1GOUI7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLHNCQUFzQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUN2RSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztRQUN4QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztRQUM3QixTQUFTLEVBQUU7WUFDVCxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLDhDQUE4QyxNQUFNLElBQUksR0FBRyxFQUFFO1NBQ3RJO0tBQ0YsQ0FBQztJQUNKLGlCQUFpQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFrQixFQUFFLEVBQUUsQ0FDckUsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDdkIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2pCLFNBQVMsRUFBRTtZQUNULE1BQU0sQ0FBQyxhQUFh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UyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDcEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhO1NBQzdCLENBQUMsQ0FBQTtRQUVGLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtTQUN6QixDQUFDLENBQUE7UUFFRixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO2dCQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2FBQ3pCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ2hDLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCB7XG4gIEdpdGh1YkFjdGlvbnNSb2xlLFxuICB0eXBlIFByb3BzIGFzIEdpdGh1YkFjdGlvbnNSb2xlUHJvcHMsXG59IGZyb20gXCIuL2dpdGh1Yi1hY3Rpb25zLXJvbGVcIlxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgUzMgQnVja2V0LlxuICAgKlxuICAgKiBOT1RFOiBTaG91bGQgaW5jbHVkZSBib3RoIGFjY291bnQgYW5kIHJlZ2lvbiBzbyB0aGF0IGl0IHdpbGxcbiAgICogbm90IGNvbmZsaWN0IHdpdGggb3RoZXIgYWNjb3VudHMvcmVnaW9ucy5cbiAgICovXG4gIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgRUNSIFJlcG9zaXRvcnkuXG4gICAqL1xuICBlY3JSZXBvc2l0b3J5TmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBDcmVhdGUgYSByb2xlIHRoYXQgY2FuIGJlIGFzc3VtZWQgYnkgTGlmbGlnIEplbmtpbnMuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIEBkZWZhdWx0IC0gbm8gcm9sZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIGNpUm9sZU5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgcnVsZXMgdG8gYXBwbHkgdG8gaW1hZ2VzIHN0b3JlZCBpbiB0aGUgRUNSIHJlcG9zaXRvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRXhwaXJlIHVudGFnZ2VkIGltYWdlcyBhZnRlciAxMCBkYXlzIGFuZCBhbnkgaW1hZ2Ugb2xkZXIgdGhhbiAxODAgZGF5c1xuICAgKi9cbiAgZWNyUmVwb3NpdG9yeUxpZmVjeWNsZVJ1bGVzPzogZWNyLkxpZmVjeWNsZVJ1bGVbXVxuICAvKipcbiAgICogSUQgb2YgQVdTIGFjY291bnRzIHRoYXQgd2lsbCBiZSBncmFudGVkIHBlcm1pc3Npb24gdG8gcmVhZCBmcm9tXG4gICAqIHRoZSBhcnRpZmFjdCByZXBvcy5cbiAgICovXG4gIHRhcmdldEFjY291bnRJZHM/OiBzdHJpbmdbXVxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgSUFNIHJvbGVzIHRoYXQgY2FuIGJlIGFzc3VtZWRcbiAgICogYnkgR2l0SHViIEFjdGlvbnMgaW4gc3BlY2lmaWMgR2l0SHViIHJlcG9zaXRvcmllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByb2xlcyBhcmUgY3JlYXRlZC5cbiAgICovXG4gIGdpdGh1YkFjdGlvbnM/OiBPbWl0PFxuICAgIEdpdGh1YkFjdGlvbnNSb2xlUHJvcHMsXG4gICAgXCJ0cnVzdGVkT3duZXJzXCIgfCBcInRydXN0ZWRCcmFuY2hcIiB8IFwib2lkY1Byb3ZpZGVyXCIgfCBcInJvbGVOYW1lXCJcbiAgPiAmIHtcbiAgICAvKipcbiAgICAgKiBBIGxpc3Qgb2YgdHJ1c3RlZCBHaXRIdWIgcmVwb3NpdG9yeSBvd25lcnMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBbXCJjYXByYWxpZmVjeWNsZVwiXVxuICAgICAqL1xuICAgIHRydXN0ZWRPd25lcnM/OiBzdHJpbmdbXVxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSByb2xlIHRvIGNyZWF0ZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiZ2l0aHViLWFjdGlvbnMtcm9sZVwiXG4gICAgICovXG4gICAgcm9sZU5hbWU/OiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgZGVmYXVsdCBicmFuY2ggaW4gYWxsIHJlcG9zaXRvcmllcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwibWFzdGVyXCJcbiAgICAgKi9cbiAgICBkZWZhdWx0QnJhbmNoPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgYSBsaW1pdGVkIHJvbGUgdGhhdCBjYW4gYmUgdXNlZCBvbiBub24tZGVmYXVsdFxuICAgICAqIGJyYW5jaGVzIHdpdGggbGVzcyBJQU0gcGVybWlzc2lvbnMgdGhhbiB0aGUgbWFpbiByb2xlLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBhIGxpbWl0ZWQgcm9sZSBpcyBjcmVhdGVkLlxuICAgICAqL1xuICAgIGxpbWl0ZWRSb2xlQ29uZmlndXJhdGlvbj86IHtcbiAgICAgIC8qKlxuICAgICAgICogV2hldGhlciB0byBjcmVhdGUgdGhlIHJvbGUgb3Igbm90LlxuICAgICAgICpcbiAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAqL1xuICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIG5hbWUgb2YgdGhlIHJvbGUgdG8gY3JlYXRlLlxuICAgICAgICpcbiAgICAgICAqIEBkZWZhdWx0IFwiZ2l0aHViLWFjdGlvbnMtbGltaXRlZC1yb2xlXCJcbiAgICAgICAqL1xuICAgICAgcm9sZU5hbWU/OiBzdHJpbmdcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgZ2VuZXJhdGluZyBJQU0gc3RhdGVtZW50cy5cbiAqL1xuY29uc3QgcG9saWN5U3RhdGVtZW50cyA9IHtcbiAgYWxsb3dQaXBlbGluZVZhcmlhYmxlczogKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgcHJlZml4Pzogc3RyaW5nKSA9PlxuICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFtcInNzbTpQdXRQYXJhbWV0ZXJcIl0sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgYGFybjphd3M6c3NtOiR7Y2RrLlN0YWNrLm9mKHNjb3BlKS5yZWdpb259OiR7Y2RrLlN0YWNrLm9mKHNjb3BlKS5hY2NvdW50fTpwYXJhbWV0ZXIvbGlmbGlnLWNkay8qL3BpcGVsaW5lLXZhcmlhYmxlcy8ke3ByZWZpeCA/PyBcIipcIn1gLFxuICAgICAgXSxcbiAgICB9KSxcbiAgZGVueVByb2RQaXBlbGluZXM6IChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGJ1Y2tldDogczMuSUJ1Y2tldCkgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuREVOWSxcbiAgICAgIGFjdGlvbnM6IFtcInMzOipcIl0sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgYnVja2V0LmFybkZvck9iamVjdHMoXCJwaXBlbGluZXMvKi1wcm9kLypcIiksXG4gICAgICAgIGJ1Y2tldC5hcm5Gb3JPYmplY3RzKFwicGlwZWxpbmVzLyotcHJvZC0qLypcIiksXG4gICAgICBdLFxuICAgIH0pLFxuICBkZW55UHJvZFBpcGVsaW5lVmFyaWFibGVzOiAoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0KSA9PlxuICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5ERU5ZLFxuICAgICAgYWN0aW9uczogW1wic3NtOlB1dFBhcmFtZXRlclwiXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICBgYXJuOmF3czpzc206JHtjZGsuU3RhY2sub2Yoc2NvcGUpLnJlZ2lvbn06JHtcbiAgICAgICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLmFjY291bnRcbiAgICAgICAgfTpwYXJhbWV0ZXIvbGlmbGlnLWNkay8qL3BpcGVsaW5lLXZhcmlhYmxlcy9wcm9kKmAsXG4gICAgICBdLFxuICAgIH0pLFxufVxuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gZm9yIHZhbGlkYXRpbmcgdGhlIGNvbnN0cnVjdCBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQcm9wcyA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgbGV0IHZhbGlkID0gdHJ1ZVxuICBpZiAoXG4gICAgcHJvcHMuZ2l0aHViQWN0aW9ucz8uZGVmYXVsdEJyYW5jaCAmJlxuICAgICFwcm9wcy5naXRodWJBY3Rpb25zLmRlZmF1bHRCcmFuY2gubWF0Y2goL15bYS16QS1aMC05LV0rJC8pXG4gICkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgRGVmYXVsdCBicmFuY2ggJHtwcm9wcy5naXRodWJBY3Rpb25zLmRlZmF1bHRCcmFuY2h9IGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyc2AsXG4gICAgKVxuICAgIHZhbGlkID0gZmFsc2VcbiAgfVxuICByZXR1cm4gdmFsaWRcbn1cblxuLyoqXG4gKiBDcmVhdGUgdmFyaW91cyBhcnRpZmFjdHMgdXNlZCBhcyBwYXJ0IG9mIENvbnRpbnVvdXMgSW50ZWdyYXRpb24gKENJKS5cbiAqXG4gKiBUaGlzIGluY2x1ZGVzIGFydGlmYWN0IHJlcG9zaXRvcmllcyBzdWNoIGFzIFMzIGJ1Y2tldCBhbmQgRUNSXG4gKiByZXBvc2l0b3J5LCBhcyB3ZWxsIGFzIElBTSByb2xlKHMpIHRoYXQgZ3JhbnQgdGhlIENJIHNlcnZlciB3cml0ZVxuICogYWNjZXNzIHRvIHRoZXNlIHJlcG9zaXRvcmllcy5cbiAqXG4gKiBUT0RPOiBIb3cgY2FuIHdlIGNsZWFudXAgc3R1ZmYgdGhhdCBnb2VzIGludG8gdGhpcyBTMyBCdWNrZXQgYW5kXG4gKiAgRUNSIFJlcG9zaXRvcnk/IENhbiB3ZSBldmVyIHJlbGlhYmx5IGNsZWFudXA/IFdlIHByb2JhYmx5IG5lZWRcbiAqICBzb21lIHN0cmF0ZWd5IGZvciBob3cgd2UgcHV0IHN0dWZmIGhlcmUgdG8gYmUgYWJsZSB0byBkbyBpdC5cbiAqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWlsZEFydGlmYWN0cyBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBwdWJsaWMgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeUFybjogc3RyaW5nXG4gIHB1YmxpYyByZWFkb25seSBlY3JSZXBvc2l0b3J5TmFtZTogc3RyaW5nXG4gIHB1YmxpYyByZWFkb25seSByb2xlPzogaWFtLlJvbGVcbiAgcHVibGljIHJlYWRvbmx5IGxpbWl0ZWRSb2xlPzogaWFtLlJvbGVcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGlmICghdmFsaWRhdGVQcm9wcyhwcm9wcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgcHJvcHMgd2VyZSBzdXBwbGllZFwiKVxuICAgIH1cblxuICAgIHRoaXMuYnVja2V0TmFtZSA9IHByb3BzLmJ1Y2tldE5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlOYW1lID0gcHJvcHMuZWNyUmVwb3NpdG9yeU5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlBcm4gPSBjZGsuQXJuLmZvcm1hdChcbiAgICAgIHtcbiAgICAgICAgc2VydmljZTogXCJlY3JcIixcbiAgICAgICAgcmVzb3VyY2U6IFwicmVwb3NpdG9yeVwiLFxuICAgICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICB9LFxuICAgICAgY2RrLlN0YWNrLm9mKHRoaXMpLFxuICAgIClcblxuICAgIGNvbnN0IGVjclJlcG9zaXRvcnlOYW1lID0gcHJvcHMuZWNyUmVwb3NpdG9yeU5hbWVcblxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgXCJTM0J1Y2tldFwiLCB7XG4gICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXROYW1lLFxuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgZXZlbnRCcmlkZ2VFbmFibGVkOiB0cnVlLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIHZlcnNpb25lZDogdHJ1ZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBub25jdXJyZW50VmVyc2lvbkV4cGlyYXRpb246IGNkay5EdXJhdGlvbi5kYXlzKDEwKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIGNvbnN0IGVjclJlcG8gPSBuZXcgZWNyLlJlcG9zaXRvcnkodGhpcywgXCJFY3JSZXBvc2l0b3J5XCIsIHtcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiBlY3JSZXBvc2l0b3J5TmFtZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBwcm9wcy5lY3JSZXBvc2l0b3J5TGlmZWN5Y2xlUnVsZXMgfHwgW1xuICAgICAgICB7XG4gICAgICAgICAgbWF4SW1hZ2VBZ2U6IGNkay5EdXJhdGlvbi5kYXlzKDEwKSxcbiAgICAgICAgICB0YWdTdGF0dXM6IGVjci5UYWdTdGF0dXMuVU5UQUdHRUQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtYXhJbWFnZUFnZTogY2RrLkR1cmF0aW9uLmRheXMoMTgwKSxcbiAgICAgICAgICB0YWdTdGF0dXM6IGVjci5UYWdTdGF0dXMuQU5ZLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KVxuXG4gICAgLy8gQWxsb3cgYSB0YXJnZXQgdG8gcmVhZCBmcm9tIHRoZSByZXBvcy4gQXMgYW55IHNwZWNpZmljIHJvbGVzIG5lZWRcbiAgICAvLyB0byBleGlzdCBiZWZvcmUgd2UgY2FuIGdyYW50IGFjY2Vzcywgd2UgZGVsZWdhdGUgdGhhdCByZXNwb25zaWJpbGl0eVxuICAgIC8vIHRvIHRoZSB0YXJnZXQgYWNjb3VudC5cbiAgICBmb3IgKGNvbnN0IHRhcmdldEFjY291bnRJZCBvZiBwcm9wcy50YXJnZXRBY2NvdW50SWRzIHx8IFtdKSB7XG4gICAgICBidWNrZXQuZ3JhbnRSZWFkKG5ldyBpYW0uQWNjb3VudFByaW5jaXBhbCh0YXJnZXRBY2NvdW50SWQpKVxuICAgICAgZWNyUmVwby5ncmFudFB1bGwobmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKHRhcmdldEFjY291bnRJZCkpXG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmdpdGh1YkFjdGlvbnMpIHtcbiAgICAgIGNvbnN0IHRydXN0ZWRPd25lcnMgPSBwcm9wcy5naXRodWJBY3Rpb25zLnRydXN0ZWRPd25lcnMgPz8gW1xuICAgICAgICBcImNhcHJhbGlmZWN5Y2xlXCIsXG4gICAgICBdXG4gICAgICAvLyBOT1RFOiBUaGVyZSdzIGFuIEwyIGNvbnN0cnVjdCB0aGF0IHByZWRhdGVzIHRoZSBvZmZpY2lhbCBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSxcbiAgICAgIC8vIGFuZCBpdCBpcyB0aGVyZWZvcmUgaW1wbGVtZW50ZWQgYXMgYSBjdXN0b20gcmVzb3VyY2UuXG4gICAgICAvLyBXZSB1c2UgdGhlIEwxIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIGluc3RlYWQgYmVjYXVzZTpcbiAgICAgIC8vIDEpIGl0J3Mgc2ltcGxlclxuICAgICAgLy8gMikgdGhlcmUncyBhIGNoYW5jZSB0aGUgTDIgY29uc3RydWN0IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgZnV0dXJlIGluIGZhdm9yXG4gICAgICAvLyBvZiB0aGUgb2ZmaWNpYWwgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UuXG4gICAgICBjb25zdCBjZm5PaWRjUHJvdmlkZXIgPSBuZXcgaWFtLkNmbk9JRENQcm92aWRlcihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJPcGVuSWRDb25uZWN0UHJvdmlkZXJcIixcbiAgICAgICAge1xuICAgICAgICAgIHVybDogXCJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tXCIsXG4gICAgICAgICAgY2xpZW50SWRMaXN0OiBbXCJzdHMuYW1hem9uYXdzLmNvbVwiXSxcbiAgICAgICAgICAvLyBOT1RFOiBUaGUgdGh1bWJwcmludCBpc24ndCBhY3R1YWxseSB1c2VkLCBidXQgdGhlIEFXUyBBUEkgc3RpbGwgcmVxdWlyZXMgdXMgdG8gc3VwcGx5IGl0LlxuICAgICAgICAgIC8vIE1vcmUgZGV0YWlscyBoZXJlOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAyNDAxMjIxNTU3NTgvaHR0cHM6Ly9naXRodWIuY29tL2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHMvaXNzdWVzLzM1NyNpc3N1ZWNvbW1lbnQtMTYyNjM1NzMzM1xuICAgICAgICAgIHRodW1icHJpbnRMaXN0OiBbXCIxYzU4YTNhODUxOGU4NzU5YmYwNzViNzZiNzUwZDRmMmRmMjY0ZmNkXCJdLFxuICAgICAgICB9LFxuICAgICAgKVxuICAgICAgY29uc3Qgb2lkY1Byb3ZpZGVyID1cbiAgICAgICAgaWFtLk9wZW5JZENvbm5lY3RQcm92aWRlci5mcm9tT3BlbklkQ29ubmVjdFByb3ZpZGVyQXJuKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgXCJQcm92aWRlclwiLFxuICAgICAgICAgIGNmbk9pZGNQcm92aWRlci5yZWYsXG4gICAgICAgIClcbiAgICAgIGNvbnN0IGNyZWF0ZUxpbWl0ZWRSb2xlID1cbiAgICAgICAgcHJvcHMuZ2l0aHViQWN0aW9ucy5saW1pdGVkUm9sZUNvbmZpZ3VyYXRpb24/LmVuYWJsZWQgPz8gdHJ1ZVxuICAgICAgY29uc3Qgcm9sZSA9IG5ldyBHaXRodWJBY3Rpb25zUm9sZSh0aGlzLCBcIkdpdGh1YkFjdGlvbnNSb2xlXCIsIHtcbiAgICAgICAgb2lkY1Byb3ZpZGVyLFxuICAgICAgICB0cnVzdGVkT3duZXJzLFxuICAgICAgICByb2xlTmFtZTogcHJvcHMuZ2l0aHViQWN0aW9ucy5yb2xlTmFtZSA/PyBcImdpdGh1Yi1hY3Rpb25zLXJvbGVcIixcbiAgICAgICAgdHJ1c3RlZEJyYW5jaDogY3JlYXRlTGltaXRlZFJvbGVcbiAgICAgICAgICA/IChwcm9wcy5naXRodWJBY3Rpb25zLmRlZmF1bHRCcmFuY2ggPz8gXCJtYXN0ZXJcIilcbiAgICAgICAgICA6IC8vIE5PVEU6IElmIHRoZSBsaW1pdGVkIHJvbGUgaXMgZGlzYWJsZWQsIG9ubHkgb25lIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAgICAgICAgICAvLyBhbmQgdGhhdCByb2xlIHRoZW4gbmVlZHMgdG8gYmUgYXNzdW1hYmxlIGZyb20gYWxsIGJyYW5jaGVzLlxuICAgICAgICAgICAgXCIqXCIsXG4gICAgICAgIHJlcG9zaXRvcmllczogcHJvcHMuZ2l0aHViQWN0aW9ucy5yZXBvc2l0b3JpZXMsXG4gICAgICB9KVxuICAgICAgdGhpcy5yb2xlID0gcm9sZS5yb2xlXG4gICAgICB0aGlzLnJvbGUuYWRkVG9Qb2xpY3kocG9saWN5U3RhdGVtZW50cy5hbGxvd1BpcGVsaW5lVmFyaWFibGVzKHRoaXMpKVxuICAgICAgYnVja2V0LmdyYW50UHV0KHRoaXMucm9sZSlcbiAgICAgIGVjclJlcG8uZ3JhbnRQdWxsUHVzaCh0aGlzLnJvbGUpXG4gICAgICBpZiAoY3JlYXRlTGltaXRlZFJvbGUpIHtcbiAgICAgICAgY29uc3QgbGltaXRlZFJvbGUgPSBuZXcgR2l0aHViQWN0aW9uc1JvbGUoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBcIkdpdGh1YkFjdGlvbnNMaW1pdGVkUm9sZVwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9pZGNQcm92aWRlcixcbiAgICAgICAgICAgIHRydXN0ZWRPd25lcnMsXG4gICAgICAgICAgICByb2xlTmFtZTpcbiAgICAgICAgICAgICAgcHJvcHMuZ2l0aHViQWN0aW9ucy5saW1pdGVkUm9sZUNvbmZpZ3VyYXRpb24/LnJvbGVOYW1lID8/XG4gICAgICAgICAgICAgIFwiZ2l0aHViLWFjdGlvbnMtbGltaXRlZC1yb2xlXCIsXG4gICAgICAgICAgICAvLyBOT1RFOiBUaGUgbGltaXRlZCByb2xlIGNhbiBiZSBhc3N1bWVkIGZyb20gYWxsIGJyYW5jaGVzLlxuICAgICAgICAgICAgdHJ1c3RlZEJyYW5jaDogXCIqXCIsXG4gICAgICAgICAgICByZXBvc2l0b3JpZXM6IHByb3BzLmdpdGh1YkFjdGlvbnMucmVwb3NpdG9yaWVzLFxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgICAgdGhpcy5saW1pdGVkUm9sZSA9IGxpbWl0ZWRSb2xlLnJvbGVcbiAgICAgICAgdGhpcy5saW1pdGVkUm9sZS5hZGRUb1BvbGljeShcbiAgICAgICAgICBwb2xpY3lTdGF0ZW1lbnRzLmFsbG93UGlwZWxpbmVWYXJpYWJsZXModGhpcywgXCJkZXYqXCIpLFxuICAgICAgICApXG4gICAgICAgIHRoaXMubGltaXRlZFJvbGUuYWRkVG9Qb2xpY3koXG4gICAgICAgICAgcG9saWN5U3RhdGVtZW50cy5kZW55UHJvZFBpcGVsaW5lcyhzY29wZSwgYnVja2V0KSxcbiAgICAgICAgKVxuICAgICAgICBidWNrZXQuZ3JhbnRQdXQodGhpcy5saW1pdGVkUm9sZSlcbiAgICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKHRoaXMubGltaXRlZFJvbGUpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5jaVJvbGVOYW1lKSB7XG4gICAgICBjb25zdCBsZWdhY3lSb2xlRm9ySmVua2lucyA9IG5ldyBpYW0uUm9sZSh0aGlzLCBcIkNpUm9sZVwiLCB7XG4gICAgICAgIHJvbGVOYW1lOiBwcm9wcy5jaVJvbGVOYW1lLFxuICAgICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uQXJuUHJpbmNpcGFsKFxuICAgICAgICAgIFwiYXJuOmF3czppYW06OjkyMzQwMjA5NzA0Njpyb2xlL2J1aWxkdG9vbHMtamVua2lucy1Sb2xlSmVua2luc1NsYXZlLUpRR1lIUjVXRTZDNVwiLFxuICAgICAgICApLFxuICAgICAgfSlcbiAgICAgIGxlZ2FjeVJvbGVGb3JKZW5raW5zLmFkZFRvUG9saWN5KFxuICAgICAgICBwb2xpY3lTdGF0ZW1lbnRzLmFsbG93UGlwZWxpbmVWYXJpYWJsZXModGhpcyksXG4gICAgICApXG4gICAgICBidWNrZXQuZ3JhbnRQdXQobGVnYWN5Um9sZUZvckplbmtpbnMpXG4gICAgICBlY3JSZXBvLmdyYW50UHVsbFB1c2gobGVnYWN5Um9sZUZvckplbmtpbnMpXG4gICAgfVxuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJFY3JSZXBvVXJpXCIsIHtcbiAgICAgIHZhbHVlOiBlY3JSZXBvLnJlcG9zaXRvcnlVcmksXG4gICAgfSlcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiQnVja2V0TmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgfSlcblxuICAgIGlmICh0aGlzLnJvbGUpIHtcbiAgICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiUm9sZUFyblwiLCB7XG4gICAgICAgIHZhbHVlOiB0aGlzLnJvbGUucm9sZUFybixcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmICh0aGlzLmxpbWl0ZWRSb2xlKSB7XG4gICAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIkxpbWl0ZWRSb2xlQXJuXCIsIHtcbiAgICAgICAgdmFsdWU6IHRoaXMubGltaXRlZFJvbGUucm9sZUFybixcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSx1QkFBdUIsQ0FBQTtBQW1GOUI7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLHNCQUFzQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUN2RSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztRQUN4QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztRQUM3QixTQUFTLEVBQUU7WUFDVCxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLDhDQUE4QyxNQUFNLElBQUksR0FBRyxFQUFFO1NBQ3RJO0tBQ0YsQ0FBQztJQUNKLGlCQUFpQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFrQixFQUFFLEVBQUUsQ0FDckUsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDdkIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2pCLFNBQVMsRUFBRTtZQUNULE1BQU0sQ0FBQyxhQUFh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YSxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFDN0MsQ0FBQztRQUVELElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxPQUFPLENBQUMsYUFBYTtTQUM3QixDQUFDLENBQUE7UUFFRixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNwQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVU7U0FDekIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtnQkFDakMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTzthQUN6QixDQUFDLENBQUE7UUFDSixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTzthQUNoQyxDQUFDLENBQUE7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBlY3IgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3JcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIlxuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQge1xuICBHaXRodWJBY3Rpb25zUm9sZSxcbiAgdHlwZSBQcm9wcyBhcyBHaXRodWJBY3Rpb25zUm9sZVByb3BzLFxufSBmcm9tIFwiLi9naXRodWItYWN0aW9ucy1yb2xlXCJcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIFMzIEJ1Y2tldC5cbiAgICpcbiAgICogTk9URTogU2hvdWxkIGluY2x1ZGUgYm90aCBhY2NvdW50IGFuZCByZWdpb24gc28gdGhhdCBpdCB3aWxsXG4gICAqIG5vdCBjb25mbGljdCB3aXRoIG90aGVyIGFjY291bnRzL3JlZ2lvbnMuXG4gICAqL1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIEVDUiBSZXBvc2l0b3J5LlxuICAgKi9cbiAgZWNyUmVwb3NpdG9yeU5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogQ3JlYXRlIGEgcm9sZSB0aGF0IGNhbiBiZSBhc3N1bWVkIGJ5IExpZmxpZyBKZW5raW5zLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBAZGVmYXVsdCAtIG5vIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBjaVJvbGVOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGFwcGx5IHRvIGltYWdlcyBzdG9yZWQgaW4gdGhlIEVDUiByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV4cGlyZSB1bnRhZ2dlZCBpbWFnZXMgYWZ0ZXIgMTAgZGF5cyBhbmQgYW55IGltYWdlIG9sZGVyIHRoYW4gMTgwIGRheXNcbiAgICovXG4gIGVjclJlcG9zaXRvcnlMaWZlY3ljbGVSdWxlcz86IGVjci5MaWZlY3ljbGVSdWxlW11cbiAgLyoqXG4gICAqIElEIG9mIEFXUyBhY2NvdW50cyB0aGF0IHdpbGwgYmUgZ3JhbnRlZCBwZXJtaXNzaW9uIHRvIHJlYWQgZnJvbVxuICAgKiB0aGUgYXJ0aWZhY3QgcmVwb3MuXG4gICAqL1xuICB0YXJnZXRBY2NvdW50SWRzPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIGNyZWF0aW5nIElBTSByb2xlcyB0aGF0IGNhbiBiZSBhc3N1bWVkXG4gICAqIGJ5IEdpdEh1YiBBY3Rpb25zIGluIHNwZWNpZmljIEdpdEh1YiByZXBvc2l0b3JpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcm9sZXMgYXJlIGNyZWF0ZWQuXG4gICAqL1xuICBnaXRodWJBY3Rpb25zPzogT21pdDxcbiAgICBHaXRodWJBY3Rpb25zUm9sZVByb3BzLFxuICAgIFwidHJ1c3RlZE93bmVyc1wiIHwgXCJ0cnVzdGVkQnJhbmNoXCIgfCBcIm9pZGNQcm92aWRlclwiIHwgXCJyb2xlTmFtZVwiXG4gID4gJiB7XG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIHRydXN0ZWQgR2l0SHViIHJlcG9zaXRvcnkgb3duZXJzLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgW1wiY2FwcmFsaWZlY3ljbGVcIl1cbiAgICAgKi9cbiAgICB0cnVzdGVkT3duZXJzPzogc3RyaW5nW11cbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcm9sZSB0byBjcmVhdGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcImdpdGh1Yi1hY3Rpb25zLXJvbGVcIlxuICAgICAqL1xuICAgIHJvbGVOYW1lPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgYnJhbmNoIGluIGFsbCByZXBvc2l0b3JpZXMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcIm1hc3RlclwiXG4gICAgICovXG4gICAgZGVmYXVsdEJyYW5jaD86IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGEgbGltaXRlZCByb2xlIHRoYXQgY2FuIGJlIHVzZWQgb24gbm9uLWRlZmF1bHRcbiAgICAgKiBicmFuY2hlcyB3aXRoIGxlc3MgSUFNIHBlcm1pc3Npb25zIHRoYW4gdGhlIG1haW4gcm9sZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gYSBsaW1pdGVkIHJvbGUgaXMgY3JlYXRlZC5cbiAgICAgKi9cbiAgICBsaW1pdGVkUm9sZUNvbmZpZ3VyYXRpb24/OiB7XG4gICAgICAvKipcbiAgICAgICAqIFdoZXRoZXIgdG8gY3JlYXRlIHRoZSByb2xlIG9yIG5vdC5cbiAgICAgICAqXG4gICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgKi9cbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSByb2xlIHRvIGNyZWF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAZGVmYXVsdCBcImdpdGh1Yi1hY3Rpb25zLWxpbWl0ZWQtcm9sZVwiXG4gICAgICAgKi9cbiAgICAgIHJvbGVOYW1lPzogc3RyaW5nXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGdlbmVyYXRpbmcgSUFNIHN0YXRlbWVudHMuXG4gKi9cbmNvbnN0IHBvbGljeVN0YXRlbWVudHMgPSB7XG4gIGFsbG93UGlwZWxpbmVWYXJpYWJsZXM6IChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHByZWZpeD86IHN0cmluZykgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXCJzc206UHV0UGFyYW1ldGVyXCJdLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGBhcm46YXdzOnNzbToke2Nkay5TdGFjay5vZihzY29wZSkucmVnaW9ufToke2Nkay5TdGFjay5vZihzY29wZSkuYWNjb3VudH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvJHtwcmVmaXggPz8gXCIqXCJ9YCxcbiAgICAgIF0sXG4gICAgfSksXG4gIGRlbnlQcm9kUGlwZWxpbmVzOiAoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBidWNrZXQ6IHMzLklCdWNrZXQpID0+XG4gICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkRFTlksXG4gICAgICBhY3Rpb25zOiBbXCJzMzoqXCJdLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGJ1Y2tldC5hcm5Gb3JPYmplY3RzKFwicGlwZWxpbmVzLyotcHJvZC8qXCIpLFxuICAgICAgICBidWNrZXQuYXJuRm9yT2JqZWN0cyhcInBpcGVsaW5lcy8qLXByb2QtKi8qXCIpLFxuICAgICAgXSxcbiAgICB9KSxcbiAgZGVueVByb2RQaXBlbGluZVZhcmlhYmxlczogKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCkgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuREVOWSxcbiAgICAgIGFjdGlvbnM6IFtcInNzbTpQdXRQYXJhbWV0ZXJcIl0sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgYGFybjphd3M6c3NtOiR7Y2RrLlN0YWNrLm9mKHNjb3BlKS5yZWdpb259OiR7XG4gICAgICAgICAgY2RrLlN0YWNrLm9mKHNjb3BlKS5hY2NvdW50XG4gICAgICAgIH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvcHJvZCpgLFxuICAgICAgXSxcbiAgICB9KSxcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIGZvciB2YWxpZGF0aW5nIHRoZSBjb25zdHJ1Y3QgcHJvcGVydGllcy5cbiAqXG4gKiBSZXR1cm5zIGEgbGlzdCBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLiBBbiBlbXB0eSBsaXN0IG1lYW5zIHRoZSBwcm9wcyBhcmUgdmFsaWQuXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVByb3BzID0gKHByb3BzOiBQcm9wcyk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdXG4gIGlmIChcbiAgICBwcm9wcy5naXRodWJBY3Rpb25zPy5kZWZhdWx0QnJhbmNoICYmXG4gICAgIXByb3BzLmdpdGh1YkFjdGlvbnMuZGVmYXVsdEJyYW5jaC5tYXRjaCgvXlthLXpBLVowLTktXSskLylcbiAgKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBgRGVmYXVsdCBicmFuY2ggJHtwcm9wcy5naXRodWJBY3Rpb25zLmRlZmF1bHRCcmFuY2h9IGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyc2AsXG4gICAgKVxuICB9XG4gIHJldHVybiBlcnJvcnNcbn1cblxuLyoqXG4gKiBDcmVhdGUgdmFyaW91cyBhcnRpZmFjdHMgdXNlZCBhcyBwYXJ0IG9mIENvbnRpbnVvdXMgSW50ZWdyYXRpb24gKENJKS5cbiAqXG4gKiBUaGlzIGluY2x1ZGVzIGFydGlmYWN0IHJlcG9zaXRvcmllcyBzdWNoIGFzIFMzIGJ1Y2tldCBhbmQgRUNSXG4gKiByZXBvc2l0b3J5LCBhcyB3ZWxsIGFzIElBTSByb2xlKHMpIHRoYXQgZ3JhbnQgdGhlIENJIHNlcnZlciB3cml0ZVxuICogYWNjZXNzIHRvIHRoZXNlIHJlcG9zaXRvcmllcy5cbiAqXG4gKiBUT0RPOiBIb3cgY2FuIHdlIGNsZWFudXAgc3R1ZmYgdGhhdCBnb2VzIGludG8gdGhpcyBTMyBCdWNrZXQgYW5kXG4gKiAgRUNSIFJlcG9zaXRvcnk/IENhbiB3ZSBldmVyIHJlbGlhYmx5IGNsZWFudXA/IFdlIHByb2JhYmx5IG5lZWRcbiAqICBzb21lIHN0cmF0ZWd5IGZvciBob3cgd2UgcHV0IHN0dWZmIGhlcmUgdG8gYmUgYWJsZSB0byBkbyBpdC5cbiAqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWlsZEFydGlmYWN0cyBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBwdWJsaWMgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeUFybjogc3RyaW5nXG4gIHB1YmxpYyByZWFkb25seSBlY3JSZXBvc2l0b3J5TmFtZTogc3RyaW5nXG4gIHB1YmxpYyByZWFkb25seSByb2xlPzogaWFtLlJvbGVcbiAgcHVibGljIHJlYWRvbmx5IGxpbWl0ZWRSb2xlPzogaWFtLlJvbGVcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlUHJvcHMocHJvcHMpXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvcHMgd2VyZSBzdXBwbGllZDogJHtlcnJvcnMuam9pbihcIjsgXCIpfWApXG4gICAgfVxuXG4gICAgdGhpcy5idWNrZXROYW1lID0gcHJvcHMuYnVja2V0TmFtZVxuICAgIHRoaXMuZWNyUmVwb3NpdG9yeU5hbWUgPSBwcm9wcy5lY3JSZXBvc2l0b3J5TmFtZVxuICAgIHRoaXMuZWNyUmVwb3NpdG9yeUFybiA9IGNkay5Bcm4uZm9ybWF0KFxuICAgICAge1xuICAgICAgICBzZXJ2aWNlOiBcImVjclwiLFxuICAgICAgICByZXNvdXJjZTogXCJyZXBvc2l0b3J5XCIsXG4gICAgICAgIHJlc291cmNlTmFtZTogdGhpcy5lY3JSZXBvc2l0b3J5TmFtZSxcbiAgICAgIH0sXG4gICAgICBjZGsuU3RhY2sub2YodGhpcyksXG4gICAgKVxuXG4gICAgY29uc3QgZWNyUmVwb3NpdG9yeU5hbWUgPSBwcm9wcy5lY3JSZXBvc2l0b3J5TmFtZVxuXG4gICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCBcIlMzQnVja2V0XCIsIHtcbiAgICAgIGJ1Y2tldE5hbWU6IHByb3BzLmJ1Y2tldE5hbWUsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICBldmVudEJyaWRnZUVuYWJsZWQ6IHRydWUsXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgdmVyc2lvbmVkOiB0cnVlLFxuICAgICAgbGlmZWN5Y2xlUnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5vbmN1cnJlbnRWZXJzaW9uRXhwaXJhdGlvbjogY2RrLkR1cmF0aW9uLmRheXMoMTApLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KVxuXG4gICAgY29uc3QgZWNyUmVwbyA9IG5ldyBlY3IuUmVwb3NpdG9yeSh0aGlzLCBcIkVjclJlcG9zaXRvcnlcIiwge1xuICAgICAgcmVwb3NpdG9yeU5hbWU6IGVjclJlcG9zaXRvcnlOYW1lLFxuICAgICAgbGlmZWN5Y2xlUnVsZXM6IHByb3BzLmVjclJlcG9zaXRvcnlMaWZlY3ljbGVSdWxlcyB8fCBbXG4gICAgICAgIHtcbiAgICAgICAgICBtYXhJbWFnZUFnZTogY2RrLkR1cmF0aW9uLmRheXMoMTApLFxuICAgICAgICAgIHRhZ1N0YXR1czogZWNyLlRhZ1N0YXR1cy5VTlRBR0dFRCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1heEltYWdlQWdlOiBjZGsuRHVyYXRpb24uZGF5cygxODApLFxuICAgICAgICAgIHRhZ1N0YXR1czogZWNyLlRhZ1N0YXR1cy5BTlksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG5cbiAgICAvLyBBbGxvdyBhIHRhcmdldCB0byByZWFkIGZyb20gdGhlIHJlcG9zLiBBcyBhbnkgc3BlY2lmaWMgcm9sZXMgbmVlZFxuICAgIC8vIHRvIGV4aXN0IGJlZm9yZSB3ZSBjYW4gZ3JhbnQgYWNjZXNzLCB3ZSBkZWxlZ2F0ZSB0aGF0IHJlc3BvbnNpYmlsaXR5XG4gICAgLy8gdG8gdGhlIHRhcmdldCBhY2NvdW50LlxuICAgIGZvciAoY29uc3QgdGFyZ2V0QWNjb3VudElkIG9mIHByb3BzLnRhcmdldEFjY291bnRJZHMgfHwgW10pIHtcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWQobmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKHRhcmdldEFjY291bnRJZCkpXG4gICAgICBlY3JSZXBvLmdyYW50UHVsbChuZXcgaWFtLkFjY291bnRQcmluY2lwYWwodGFyZ2V0QWNjb3VudElkKSlcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZ2l0aHViQWN0aW9ucykge1xuICAgICAgY29uc3QgdHJ1c3RlZE93bmVycyA9IHByb3BzLmdpdGh1YkFjdGlvbnMudHJ1c3RlZE93bmVycyA/PyBbXG4gICAgICAgIFwiY2FwcmFsaWZlY3ljbGVcIixcbiAgICAgIF1cbiAgICAgIC8vIE5PVEU6IFRoZXJlJ3MgYW4gTDIgY29uc3RydWN0IHRoYXQgcHJlZGF0ZXMgdGhlIG9mZmljaWFsIENsb3VkRm9ybWF0aW9uIHJlc291cmNlLFxuICAgICAgLy8gYW5kIGl0IGlzIHRoZXJlZm9yZSBpbXBsZW1lbnRlZCBhcyBhIGN1c3RvbSByZXNvdXJjZS5cbiAgICAgIC8vIFdlIHVzZSB0aGUgTDEgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgaW5zdGVhZCBiZWNhdXNlOlxuICAgICAgLy8gMSkgaXQncyBzaW1wbGVyXG4gICAgICAvLyAyKSB0aGVyZSdzIGEgY2hhbmNlIHRoZSBMMiBjb25zdHJ1Y3Qgd2lsbCBiZSBkZXByZWNhdGVkIGluIHRoZSBmdXR1cmUgaW4gZmF2b3JcbiAgICAgIC8vIG9mIHRoZSBvZmZpY2lhbCBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZS5cbiAgICAgIGNvbnN0IGNmbk9pZGNQcm92aWRlciA9IG5ldyBpYW0uQ2ZuT0lEQ1Byb3ZpZGVyKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIk9wZW5JZENvbm5lY3RQcm92aWRlclwiLFxuICAgICAgICB7XG4gICAgICAgICAgdXJsOiBcImh0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb21cIixcbiAgICAgICAgICBjbGllbnRJZExpc3Q6IFtcInN0cy5hbWF6b25hd3MuY29tXCJdLFxuICAgICAgICAgIC8vIE5PVEU6IFRoZSB0aHVtYnByaW50IGlzbid0IGFjdHVhbGx5IHVzZWQsIGJ1dCB0aGUgQVdTIEFQSSBzdGlsbCByZXF1aXJlcyB1cyB0byBzdXBwbHkgaXQuXG4gICAgICAgICAgLy8gTW9yZSBkZXRhaWxzIGhlcmU6IGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDI0MDEyMjE1NTc1OC9odHRwczovL2dpdGh1Yi5jb20vYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFscy9pc3N1ZXMvMzU3I2lzc3VlY29tbWVudC0xNjI2MzU3MzMzXG4gICAgICAgICAgdGh1bWJwcmludExpc3Q6IFtcIjFjNThhM2E4NTE4ZTg3NTliZjA3NWI3NmI3NTBkNGYyZGYyNjRmY2RcIl0sXG4gICAgICAgIH0sXG4gICAgICApXG4gICAgICBjb25zdCBvaWRjUHJvdmlkZXIgPVxuICAgICAgICBpYW0uT3BlbklkQ29ubmVjdFByb3ZpZGVyLmZyb21PcGVuSWRDb25uZWN0UHJvdmlkZXJBcm4oXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBcIlByb3ZpZGVyXCIsXG4gICAgICAgICAgY2ZuT2lkY1Byb3ZpZGVyLnJlZixcbiAgICAgICAgKVxuICAgICAgY29uc3QgY3JlYXRlTGltaXRlZFJvbGUgPVxuICAgICAgICBwcm9wcy5naXRodWJBY3Rpb25zLmxpbWl0ZWRSb2xlQ29uZmlndXJhdGlvbj8uZW5hYmxlZCA/PyB0cnVlXG4gICAgICBjb25zdCByb2xlID0gbmV3IEdpdGh1YkFjdGlvbnNSb2xlKHRoaXMsIFwiR2l0aHViQWN0aW9uc1JvbGVcIiwge1xuICAgICAgICBvaWRjUHJvdmlkZXIsXG4gICAgICAgIHRydXN0ZWRPd25lcnMsXG4gICAgICAgIHJvbGVOYW1lOiBwcm9wcy5naXRodWJBY3Rpb25zLnJvbGVOYW1lID8/IFwiZ2l0aHViLWFjdGlvbnMtcm9sZVwiLFxuICAgICAgICB0cnVzdGVkQnJhbmNoOiBjcmVhdGVMaW1pdGVkUm9sZVxuICAgICAgICAgID8gKHByb3BzLmdpdGh1YkFjdGlvbnMuZGVmYXVsdEJyYW5jaCA/PyBcIm1hc3RlclwiKVxuICAgICAgICAgIDogLy8gTk9URTogSWYgdGhlIGxpbWl0ZWQgcm9sZSBpcyBkaXNhYmxlZCwgb25seSBvbmUgcm9sZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICAgICAgICAgIC8vIGFuZCB0aGF0IHJvbGUgdGhlbiBuZWVkcyB0byBiZSBhc3N1bWFibGUgZnJvbSBhbGwgYnJhbmNoZXMuXG4gICAgICAgICAgICBcIipcIixcbiAgICAgICAgcmVwb3NpdG9yaWVzOiBwcm9wcy5naXRodWJBY3Rpb25zLnJlcG9zaXRvcmllcyxcbiAgICAgIH0pXG4gICAgICB0aGlzLnJvbGUgPSByb2xlLnJvbGVcbiAgICAgIHRoaXMucm9sZS5hZGRUb1BvbGljeShwb2xpY3lTdGF0ZW1lbnRzLmFsbG93UGlwZWxpbmVWYXJpYWJsZXModGhpcykpXG4gICAgICBidWNrZXQuZ3JhbnRQdXQodGhpcy5yb2xlKVxuICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKHRoaXMucm9sZSlcbiAgICAgIGlmIChjcmVhdGVMaW1pdGVkUm9sZSkge1xuICAgICAgICBjb25zdCBsaW1pdGVkUm9sZSA9IG5ldyBHaXRodWJBY3Rpb25zUm9sZShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIFwiR2l0aHViQWN0aW9uc0xpbWl0ZWRSb2xlXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgb2lkY1Byb3ZpZGVyLFxuICAgICAgICAgICAgdHJ1c3RlZE93bmVycyxcbiAgICAgICAgICAgIHJvbGVOYW1lOlxuICAgICAgICAgICAgICBwcm9wcy5naXRodWJBY3Rpb25zLmxpbWl0ZWRSb2xlQ29uZmlndXJhdGlvbj8ucm9sZU5hbWUgPz9cbiAgICAgICAgICAgICAgXCJnaXRodWItYWN0aW9ucy1saW1pdGVkLXJvbGVcIixcbiAgICAgICAgICAgIC8vIE5PVEU6IFRoZSBsaW1pdGVkIHJvbGUgY2FuIGJlIGFzc3VtZWQgZnJvbSBhbGwgYnJhbmNoZXMuXG4gICAgICAgICAgICB0cnVzdGVkQnJhbmNoOiBcIipcIixcbiAgICAgICAgICAgIHJlcG9zaXRvcmllczogcHJvcHMuZ2l0aHViQWN0aW9ucy5yZXBvc2l0b3JpZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgKVxuICAgICAgICB0aGlzLmxpbWl0ZWRSb2xlID0gbGltaXRlZFJvbGUucm9sZVxuICAgICAgICB0aGlzLmxpbWl0ZWRSb2xlLmFkZFRvUG9saWN5KFxuICAgICAgICAgIHBvbGljeVN0YXRlbWVudHMuYWxsb3dQaXBlbGluZVZhcmlhYmxlcyh0aGlzLCBcImRldipcIiksXG4gICAgICAgIClcbiAgICAgICAgdGhpcy5saW1pdGVkUm9sZS5hZGRUb1BvbGljeShcbiAgICAgICAgICBwb2xpY3lTdGF0ZW1lbnRzLmRlbnlQcm9kUGlwZWxpbmVzKHNjb3BlLCBidWNrZXQpLFxuICAgICAgICApXG4gICAgICAgIGJ1Y2tldC5ncmFudFB1dCh0aGlzLmxpbWl0ZWRSb2xlKVxuICAgICAgICBlY3JSZXBvLmdyYW50UHVsbFB1c2godGhpcy5saW1pdGVkUm9sZSlcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmNpUm9sZU5hbWUpIHtcbiAgICAgIGNvbnN0IGxlZ2FjeVJvbGVGb3JKZW5raW5zID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiQ2lSb2xlXCIsIHtcbiAgICAgICAgcm9sZU5hbWU6IHByb3BzLmNpUm9sZU5hbWUsXG4gICAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5Bcm5QcmluY2lwYWwoXG4gICAgICAgICAgXCJhcm46YXdzOmlhbTo6OTIzNDAyMDk3MDQ2OnJvbGUvYnVpbGR0b29scy1qZW5raW5zLVJvbGVKZW5raW5zU2xhdmUtSlFHWUhSNVdFNkM1XCIsXG4gICAgICAgICksXG4gICAgICB9KVxuICAgICAgbGVnYWN5Um9sZUZvckplbmtpbnMuYWRkVG9Qb2xpY3koXG4gICAgICAgIHBvbGljeVN0YXRlbWVudHMuYWxsb3dQaXBlbGluZVZhcmlhYmxlcyh0aGlzKSxcbiAgICAgIClcbiAgICAgIGJ1Y2tldC5ncmFudFB1dChsZWdhY3lSb2xlRm9ySmVua2lucylcbiAgICAgIGVjclJlcG8uZ3JhbnRQdWxsUHVzaChsZWdhY3lSb2xlRm9ySmVua2lucylcbiAgICB9XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIkVjclJlcG9VcmlcIiwge1xuICAgICAgdmFsdWU6IGVjclJlcG8ucmVwb3NpdG9yeVVyaSxcbiAgICB9KVxuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJCdWNrZXROYW1lXCIsIHtcbiAgICAgIHZhbHVlOiBidWNrZXQuYnVja2V0TmFtZSxcbiAgICB9KVxuXG4gICAgaWYgKHRoaXMucm9sZSkge1xuICAgICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJSb2xlQXJuXCIsIHtcbiAgICAgICAgdmFsdWU6IHRoaXMucm9sZS5yb2xlQXJuLFxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKHRoaXMubGltaXRlZFJvbGUpIHtcbiAgICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiTGltaXRlZFJvbGVBcm5cIiwge1xuICAgICAgICB2YWx1ZTogdGhpcy5saW1pdGVkUm9sZS5yb2xlQXJuLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liflig/cdk",
3
- "version": "3.26.8",
3
+ "version": "3.26.10",
4
4
  "description": "CDK library for Liflig",
5
5
  "type": "module",
6
6
  "repository": {
@@ -40,20 +40,20 @@
40
40
  },
41
41
  "devDependencies": {
42
42
  "@aws-cdk/assert": "2.68.0",
43
- "@aws-sdk/client-cloudwatch-logs": "3.1039.0",
44
- "@aws-sdk/client-codebuild": "3.1039.0",
45
- "@aws-sdk/client-codepipeline": "3.1039.0",
46
- "@aws-sdk/client-ecs": "3.1039.0",
47
- "@aws-sdk/client-s3": "3.1039.0",
48
- "@aws-sdk/client-secrets-manager": "3.1039.0",
49
- "@aws-sdk/client-ses": "3.1039.0",
50
- "@aws-sdk/client-sesv2": "3.1039.0",
51
- "@aws-sdk/client-sfn": "3.1039.0",
52
- "@aws-sdk/client-ssm": "3.1039.0",
53
- "@aws-sdk/lib-storage": "3.1039.0",
54
- "@biomejs/biome": "2.4.13",
55
- "@commitlint/cli": "20.5.2",
56
- "@commitlint/config-conventional": "20.5.0",
43
+ "@aws-sdk/client-cloudwatch-logs": "3.1041.0",
44
+ "@aws-sdk/client-codebuild": "3.1041.0",
45
+ "@aws-sdk/client-codepipeline": "3.1041.0",
46
+ "@aws-sdk/client-ecs": "3.1041.0",
47
+ "@aws-sdk/client-s3": "3.1041.0",
48
+ "@aws-sdk/client-secrets-manager": "3.1041.0",
49
+ "@aws-sdk/client-ses": "3.1041.0",
50
+ "@aws-sdk/client-sesv2": "3.1041.0",
51
+ "@aws-sdk/client-sfn": "3.1041.0",
52
+ "@aws-sdk/client-ssm": "3.1041.0",
53
+ "@aws-sdk/lib-storage": "3.1041.0",
54
+ "@biomejs/biome": "2.4.14",
55
+ "@commitlint/cli": "20.5.3",
56
+ "@commitlint/config-conventional": "20.5.3",
57
57
  "@types/aws-lambda": "8.10.161",
58
58
  "@types/jest": "30.0.0",
59
59
  "@types/node": "24.12.2",
@@ -64,7 +64,7 @@
64
64
  "jest": "30.3.0",
65
65
  "jest-cdk-snapshot": "2.3.6",
66
66
  "lefthook": "2.1.6",
67
- "npm-check-updates": "22.0.1",
67
+ "npm-check-updates": "22.1.0",
68
68
  "semantic-release": "25.0.3",
69
69
  "ts-jest": "29.4.9",
70
70
  "tsx": "4.21.0",
@@ -72,7 +72,7 @@
72
72
  "typescript": "6.0.3"
73
73
  },
74
74
  "dependencies": {
75
- "@capraconsulting/webapp-deploy-lambda": "2.5.95",
75
+ "@capraconsulting/webapp-deploy-lambda": "2.5.97",
76
76
  "aws-jwt-verify": "5.1.1"
77
77
  },
78
78
  "peerDependencies": {