@aws-cdk/aws-bedrock-agentcore-alpha 2.256.1-alpha.0 → 2.258.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/.jsii +2806 -2580
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +2135 -59
  4. package/lib/common/types.d.ts +2 -0
  5. package/lib/common/types.js +3 -1
  6. package/lib/evaluation/custom-evaluator.d.ts +1 -0
  7. package/lib/evaluation/custom-evaluator.js +37 -4
  8. package/lib/evaluation/data-source.d.ts +1 -0
  9. package/lib/evaluation/data-source.js +15 -2
  10. package/lib/evaluation/evaluator-base.d.ts +2 -0
  11. package/lib/evaluation/evaluator-base.js +65 -3
  12. package/lib/evaluation/evaluator-config.d.ts +4 -0
  13. package/lib/evaluation/evaluator-config.js +25 -3
  14. package/lib/evaluation/evaluator.d.ts +1 -0
  15. package/lib/evaluation/evaluator.js +14 -2
  16. package/lib/evaluation/online-evaluation-base.d.ts +2 -0
  17. package/lib/evaluation/online-evaluation-base.js +65 -3
  18. package/lib/evaluation/online-evaluation.d.ts +1 -0
  19. package/lib/evaluation/online-evaluation.js +37 -4
  20. package/lib/evaluation/perms.d.ts +5 -0
  21. package/lib/evaluation/perms.js +6 -1
  22. package/lib/evaluation/types.d.ts +15 -0
  23. package/lib/evaluation/types.js +75 -6
  24. package/lib/evaluation/validation-helpers.d.ts +22 -0
  25. package/lib/evaluation/validation-helpers.js +23 -1
  26. package/lib/gateway/gateway-base.d.ts +7 -0
  27. package/lib/gateway/gateway-base.js +178 -3
  28. package/lib/gateway/gateway.d.ts +9 -0
  29. package/lib/gateway/gateway.js +49 -6
  30. package/lib/gateway/inbound-auth/authorizer.d.ts +12 -0
  31. package/lib/gateway/inbound-auth/authorizer.js +31 -5
  32. package/lib/gateway/inbound-auth/custom-claim.d.ts +1 -0
  33. package/lib/gateway/inbound-auth/custom-claim.js +13 -2
  34. package/lib/gateway/interceptor.d.ts +5 -0
  35. package/lib/gateway/interceptor.js +7 -2
  36. package/lib/gateway/outbound-auth/api-key.d.ts +5 -0
  37. package/lib/gateway/outbound-auth/api-key.js +7 -2
  38. package/lib/gateway/outbound-auth/credential-provider.d.ts +5 -0
  39. package/lib/gateway/outbound-auth/credential-provider.js +17 -2
  40. package/lib/gateway/outbound-auth/iam-role.d.ts +1 -0
  41. package/lib/gateway/outbound-auth/iam-role.js +2 -1
  42. package/lib/gateway/outbound-auth/oauth.d.ts +2 -0
  43. package/lib/gateway/outbound-auth/oauth.js +2 -1
  44. package/lib/gateway/perms.d.ts +16 -0
  45. package/lib/gateway/perms.js +17 -1
  46. package/lib/gateway/protocol.d.ts +7 -0
  47. package/lib/gateway/protocol.js +10 -3
  48. package/lib/gateway/targets/schema/api-schema.d.ts +4 -0
  49. package/lib/gateway/targets/schema/api-schema.js +161 -6
  50. package/lib/gateway/targets/schema/base-schema.d.ts +1 -0
  51. package/lib/gateway/targets/schema/base-schema.js +2 -1
  52. package/lib/gateway/targets/schema/tool-schema.d.ts +12 -0
  53. package/lib/gateway/targets/schema/tool-schema.js +166 -6
  54. package/lib/gateway/targets/target-base.d.ts +5 -0
  55. package/lib/gateway/targets/target-base.js +76 -3
  56. package/lib/gateway/targets/target-configuration.d.ts +14 -0
  57. package/lib/gateway/targets/target-configuration.js +125 -9
  58. package/lib/gateway/targets/target.d.ts +8 -0
  59. package/lib/gateway/targets/target.js +37 -4
  60. package/lib/gateway/validation-helpers.d.ts +4 -0
  61. package/lib/gateway/validation-helpers.js +4 -1
  62. package/lib/identity/api-key-credential-provider.d.ts +4 -0
  63. package/lib/identity/api-key-credential-provider.js +36 -3
  64. package/lib/identity/grant-helpers.d.ts +7 -0
  65. package/lib/identity/grant-helpers.js +42 -2
  66. package/lib/identity/oauth2-credential-provider.d.ts +29 -0
  67. package/lib/identity/oauth2-credential-provider.js +37 -3
  68. package/lib/identity/perms.d.ts +5 -0
  69. package/lib/identity/perms.js +9 -4
  70. package/lib/identity/validation-helpers.d.ts +53 -0
  71. package/lib/identity/validation-helpers.js +54 -1
  72. package/lib/identity/workload-identity.d.ts +3 -0
  73. package/lib/identity/workload-identity.js +36 -3
  74. package/lib/memory/memory-strategy.d.ts +6 -0
  75. package/lib/memory/memory-strategy.js +47 -2
  76. package/lib/memory/memory.d.ts +4 -0
  77. package/lib/memory/memory.js +210 -5
  78. package/lib/memory/strategies/managed-strategy.d.ts +4 -0
  79. package/lib/memory/strategies/managed-strategy.js +22 -2
  80. package/lib/memory/strategies/self-managed-strategy.d.ts +4 -0
  81. package/lib/memory/strategies/self-managed-strategy.js +57 -4
  82. package/lib/memory/validation-helpers.d.ts +6 -0
  83. package/lib/memory/validation-helpers.js +7 -1
  84. package/lib/network/network-configuration.d.ts +5 -0
  85. package/lib/network/network-configuration.js +83 -6
  86. package/lib/policy/policy-base.js +36 -3
  87. package/lib/policy/policy-engine-base.js +36 -3
  88. package/lib/policy/policy-engine.js +37 -4
  89. package/lib/policy/policy-statement.js +5 -5
  90. package/lib/policy/policy-types.js +1 -1
  91. package/lib/policy/policy.js +36 -3
  92. package/lib/runtime/inbound-auth/custom-claim.d.ts +1 -0
  93. package/lib/runtime/inbound-auth/custom-claim.js +13 -2
  94. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.d.ts +1 -0
  95. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +40 -2
  96. package/lib/runtime/observability.d.ts +5 -0
  97. package/lib/runtime/observability.js +79 -5
  98. package/lib/runtime/perms.d.ts +12 -0
  99. package/lib/runtime/perms.js +13 -1
  100. package/lib/runtime/runtime-artifact.d.ts +3 -0
  101. package/lib/runtime/runtime-artifact.js +69 -5
  102. package/lib/runtime/runtime-base.d.ts +3 -0
  103. package/lib/runtime/runtime-base.js +200 -3
  104. package/lib/runtime/runtime-endpoint-base.d.ts +3 -0
  105. package/lib/runtime/runtime-endpoint-base.js +22 -2
  106. package/lib/runtime/runtime-endpoint.d.ts +1 -0
  107. package/lib/runtime/runtime-endpoint.js +36 -3
  108. package/lib/runtime/runtime.d.ts +2 -0
  109. package/lib/runtime/runtime.js +38 -5
  110. package/lib/runtime/types.d.ts +3 -0
  111. package/lib/runtime/types.js +2 -1
  112. package/lib/runtime/validation-helpers.d.ts +6 -0
  113. package/lib/runtime/validation-helpers.js +7 -1
  114. package/lib/tools/browser.d.ts +6 -0
  115. package/lib/tools/browser.js +205 -8
  116. package/lib/tools/code-interpreter.d.ts +4 -0
  117. package/lib/tools/code-interpreter.js +185 -7
  118. package/lib/tools/perms.d.ts +12 -0
  119. package/lib/tools/perms.js +13 -1
  120. package/lib/tools/validation-helpers.d.ts +6 -0
  121. package/lib/tools/validation-helpers.js +7 -1
  122. package/package.json +10 -10
@@ -13,47 +13,100 @@
13
13
  import type { IConstruct } from 'constructs';
14
14
  import { throwIfInvalid } from '../memory/validation-helpers';
15
15
  /** @internal */
16
+ /**
17
+ * This API has been graduated to stable.
18
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
19
+ */
16
20
  export declare const CREDENTIAL_PROVIDER_NAME_MIN = 1;
17
21
  /** @internal */
22
+ /**
23
+ * This API has been graduated to stable.
24
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
25
+ */
18
26
  export declare const CREDENTIAL_PROVIDER_NAME_MAX = 128;
19
27
  /** @internal */
28
+ /**
29
+ * This API has been graduated to stable.
30
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
31
+ */
20
32
  export declare const CREDENTIAL_PROVIDER_NAME_PATTERN: RegExp;
21
33
  /** @internal */
34
+ /**
35
+ * This API has been graduated to stable.
36
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
37
+ */
22
38
  export declare const API_KEY_VALUE_MIN = 1;
23
39
  /** @internal */
40
+ /**
41
+ * This API has been graduated to stable.
42
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
43
+ */
24
44
  export declare const API_KEY_VALUE_MAX = 65536;
25
45
  /** @internal */
46
+ /**
47
+ * This API has been graduated to stable.
48
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
49
+ */
26
50
  export declare const CREDENTIAL_PROVIDER_TAG_MIN = 1;
27
51
  /** @internal */
52
+ /**
53
+ * This API has been graduated to stable.
54
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
55
+ */
28
56
  export declare const CREDENTIAL_PROVIDER_TAG_MAX = 256;
29
57
  /** @internal */
58
+ /**
59
+ * This API has been graduated to stable.
60
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
61
+ */
30
62
  export declare const WORKLOAD_IDENTITY_NAME_MIN = 3;
31
63
  /** @internal */
64
+ /**
65
+ * This API has been graduated to stable.
66
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
67
+ */
32
68
  export declare const WORKLOAD_IDENTITY_NAME_MAX = 255;
33
69
  /** @internal */
70
+ /**
71
+ * This API has been graduated to stable.
72
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
73
+ */
34
74
  export declare const WORKLOAD_IDENTITY_NAME_PATTERN: RegExp;
35
75
  /** @internal */
76
+ /**
77
+ * This API has been graduated to stable.
78
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
79
+ */
36
80
  export declare const ALLOWED_OAUTH2_RETURN_URL_MIN = 1;
37
81
  /** @internal */
82
+ /**
83
+ * This API has been graduated to stable.
84
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
85
+ */
38
86
  export declare const ALLOWED_OAUTH2_RETURN_URL_MAX = 2048;
39
87
  /**
40
88
  * @internal
89
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
41
90
  */
42
91
  export declare function validateWorkloadIdentityName(name: string, scope?: IConstruct): string[];
43
92
  /**
44
93
  * @internal
94
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
45
95
  */
46
96
  export declare function validateAllowedResourceOauth2ReturnUrls(urls: string[] | undefined, scope?: IConstruct): string[];
47
97
  /**
48
98
  * @internal
99
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
49
100
  */
50
101
  export declare function validateCredentialProviderName(name: string, scope?: IConstruct): string[];
51
102
  /**
52
103
  * @internal
104
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
53
105
  */
54
106
  export declare function validateApiKeyValue(apiKey: string | undefined, scope?: IConstruct): string[];
55
107
  /**
56
108
  * @internal
109
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
57
110
  */
58
111
  export declare function validateCredentialProviderTags(tags?: {
59
112
  [key: string]: string;
@@ -22,31 +22,80 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
22
22
  const validation_helpers_1 = require("../memory/validation-helpers");
23
23
  Object.defineProperty(exports, "throwIfInvalid", { enumerable: true, get: function () { return validation_helpers_1.throwIfInvalid; } });
24
24
  /** @internal */
25
+ /**
26
+ * This API has been graduated to stable.
27
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
28
+ */
25
29
  exports.CREDENTIAL_PROVIDER_NAME_MIN = 1;
26
30
  /** @internal */
31
+ /**
32
+ * This API has been graduated to stable.
33
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
34
+ */
27
35
  exports.CREDENTIAL_PROVIDER_NAME_MAX = 128;
28
36
  /** @internal */
37
+ /**
38
+ * This API has been graduated to stable.
39
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
40
+ */
29
41
  exports.CREDENTIAL_PROVIDER_NAME_PATTERN = /^[a-zA-Z0-9\-_]+$/;
30
42
  /** @internal */
43
+ /**
44
+ * This API has been graduated to stable.
45
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
46
+ */
31
47
  exports.API_KEY_VALUE_MIN = 1;
32
48
  /** @internal */
49
+ /**
50
+ * This API has been graduated to stable.
51
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
52
+ */
33
53
  exports.API_KEY_VALUE_MAX = 65536;
34
54
  /** @internal */
55
+ /**
56
+ * This API has been graduated to stable.
57
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
58
+ */
35
59
  exports.CREDENTIAL_PROVIDER_TAG_MIN = 1;
36
60
  /** @internal */
61
+ /**
62
+ * This API has been graduated to stable.
63
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
64
+ */
37
65
  exports.CREDENTIAL_PROVIDER_TAG_MAX = 256;
38
66
  /** @internal */
67
+ /**
68
+ * This API has been graduated to stable.
69
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
70
+ */
39
71
  exports.WORKLOAD_IDENTITY_NAME_MIN = 3;
40
72
  /** @internal */
73
+ /**
74
+ * This API has been graduated to stable.
75
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
76
+ */
41
77
  exports.WORKLOAD_IDENTITY_NAME_MAX = 255;
42
78
  /** @internal */
79
+ /**
80
+ * This API has been graduated to stable.
81
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
82
+ */
43
83
  exports.WORKLOAD_IDENTITY_NAME_PATTERN = /^[A-Za-z0-9_.-]+$/;
44
84
  /** @internal */
85
+ /**
86
+ * This API has been graduated to stable.
87
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
88
+ */
45
89
  exports.ALLOWED_OAUTH2_RETURN_URL_MIN = 1;
46
90
  /** @internal */
91
+ /**
92
+ * This API has been graduated to stable.
93
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
94
+ */
47
95
  exports.ALLOWED_OAUTH2_RETURN_URL_MAX = 2048;
48
96
  /**
49
97
  * @internal
98
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
50
99
  */
51
100
  function validateWorkloadIdentityName(name, scope) {
52
101
  const errors = [];
@@ -61,6 +110,7 @@ function validateWorkloadIdentityName(name, scope) {
61
110
  }
62
111
  /**
63
112
  * @internal
113
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
64
114
  */
65
115
  function validateAllowedResourceOauth2ReturnUrls(urls, scope) {
66
116
  if (urls == null) {
@@ -89,6 +139,7 @@ function validateAllowedResourceOauth2ReturnUrls(urls, scope) {
89
139
  }
90
140
  /**
91
141
  * @internal
142
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
92
143
  */
93
144
  function validateCredentialProviderName(name, scope) {
94
145
  const errors = [];
@@ -103,6 +154,7 @@ function validateCredentialProviderName(name, scope) {
103
154
  }
104
155
  /**
105
156
  * @internal
157
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
106
158
  */
107
159
  function validateApiKeyValue(apiKey, scope) {
108
160
  if (apiKey == null || apiKey === '') {
@@ -120,6 +172,7 @@ function validateApiKeyValue(apiKey, scope) {
120
172
  }
121
173
  /**
122
174
  * @internal
175
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
123
176
  */
124
177
  function validateCredentialProviderTags(tags, scope) {
125
178
  let errors = [];
@@ -153,4 +206,4 @@ function validateCredentialProviderTags(tags, scope) {
153
206
  }
154
207
  return errors;
155
208
  }
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFsaWRhdGlvbi1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBNkNILG9FQWdCQztBQUtELDBGQXdCQztBQUtELHdFQWdCQztBQUtELGtEQWFDO0FBS0Qsd0VBbUNDO0FBdktELDZDQUFvQztBQUVwQyxxRUFBK0c7QUF1S3RHLCtGQXZLaUQsbUNBQWMsT0F1S2pEO0FBckt2QixnQkFBZ0I7QUFDSCxRQUFBLDRCQUE0QixHQUFHLENBQUMsQ0FBQztBQUU5QyxnQkFBZ0I7QUFDSCxRQUFBLDRCQUE0QixHQUFHLEdBQUcsQ0FBQztBQUVoRCxnQkFBZ0I7QUFDSCxRQUFBLGdDQUFnQyxHQUFHLG1CQUFtQixDQUFDO0FBRXBFLGdCQUFnQjtBQUNILFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBRW5DLGdCQUFnQjtBQUNILFFBQUEsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0FBRXZDLGdCQUFnQjtBQUNILFFBQUEsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDO0FBRTdDLGdCQUFnQjtBQUNILFFBQUEsMkJBQTJCLEdBQUcsR0FBRyxDQUFDO0FBRS9DLGdCQUFnQjtBQUNILFFBQUEsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO0FBRTVDLGdCQUFnQjtBQUNILFFBQUEsMEJBQTBCLEdBQUcsR0FBRyxDQUFDO0FBRTlDLGdCQUFnQjtBQUNILFFBQUEsOEJBQThCLEdBQUcsbUJBQW1CLENBQUM7QUFFbEUsZ0JBQWdCO0FBQ0gsUUFBQSw2QkFBNkIsR0FBRyxDQUFDLENBQUM7QUFFL0MsZ0JBQWdCO0FBQ0gsUUFBQSw2QkFBNkIsR0FBRyxJQUFJLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxJQUFZLEVBQUUsS0FBa0I7SUFDM0UsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBQzVCLE1BQU0sQ0FBQyxJ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SUFBSSxDQUFDLEdBQUcsSUFBQSx5Q0FBb0IsRUFBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyB2YWxpZGF0ZUZpZWxkUGF0dGVybiwgdmFsaWRhdGVTdHJpbmdGaWVsZExlbmd0aCwgdGhyb3dJZkludmFsaWQgfSBmcm9tICcuLi9tZW1vcnkvdmFsaWRhdGlvbi1oZWxwZXJzJztcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IENSRURFTlRJQUxfUFJPVklERVJfTkFNRV9NSU4gPSAxO1xuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgY29uc3QgQ1JFREVOVElBTF9QUk9WSURFUl9OQU1FX01BWCA9IDEyODtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IENSRURFTlRJQUxfUFJPVklERVJfTkFNRV9QQVRURVJOID0gL15bYS16QS1aMC05XFwtX10rJC87XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBjb25zdCBBUElfS0VZX1ZBTFVFX01JTiA9IDE7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBjb25zdCBBUElfS0VZX1ZBTFVFX01BWCA9IDY1NTM2O1xuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgY29uc3QgQ1JFREVOVElBTF9QUk9WSURFUl9UQUdfTUlOID0gMTtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IENSRURFTlRJQUxfUFJPVklERVJfVEFHX01BWCA9IDI1NjtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IFdPUktMT0FEX0lERU5USVRZX05BTUVfTUlOID0gMztcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IFdPUktMT0FEX0lERU5USVRZX05BTUVfTUFYID0gMjU1O1xuXG4vKiogQGludGVybmFsICovXG5leHBvcnQgY29uc3QgV09SS0xPQURfSURFTlRJVFlfTkFNRV9QQVRURVJOID0gL15bQS1aYS16MC05Xy4tXSskLztcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IEFMTE9XRURfT0FVVEgyX1JFVFVSTl9VUkxfTUlOID0gMTtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IEFMTE9XRURfT0FVVEgyX1JFVFVSTl9VUkxfTUFYID0gMjA0ODtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlV29ya2xvYWRJZGVudGl0eU5hbWUobmFtZTogc3RyaW5nLCBzY29wZT86IElDb25zdHJ1Y3QpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVTdHJpbmdGaWVsZExlbmd0aCh7XG4gICAgdmFsdWU6IG5hbWUsXG4gICAgZmllbGROYW1lOiAnV29ya2xvYWQgaWRlbnRpdHkgbmFtZScsXG4gICAgbWluTGVuZ3RoOiBXT1JLTE9BRF9JREVOVElUWV9OQU1FX01JTixcbiAgICBtYXhMZW5ndGg6IFdPUktMT0FEX0lERU5USVRZX05BTUVfTUFYLFxuICB9LCBzY29wZSkpO1xuICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZUZpZWxkUGF0dGVybihcbiAgICBuYW1lLFxuICAgICdXb3JrbG9hZCBpZGVudGl0eSBuYW1lJyxcbiAgICBXT1JLTE9BRF9JREVOVElUWV9OQU1FX1BBVFRFUk4sXG4gICAgJ1dvcmtsb2FkIGlkZW50aXR5IG5hbWUgbWF5IG9ubHkgY29udGFpbiBsZXR0ZXJzLCBudW1iZXJzLCBkb3RzLCB1bmRlcnNjb3JlcywgYW5kIGh5cGhlbnMuJyxcbiAgICBzY29wZSxcbiAgKSk7XG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUFsbG93ZWRSZXNvdXJjZU9hdXRoMlJldHVyblVybHModXJsczogc3RyaW5nW10gfCB1bmRlZmluZWQsIHNjb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdIHtcbiAgaWYgKHVybHMgPT0gbnVsbCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHVybHMpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKHVybHMubGVuZ3RoID09PSAwKSB7XG4gICAgZXJyb3JzLnB1c2goJ0FsbG93ZWQgT0F1dGgyIHJldHVybiBVUkxzIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgVVJMIHdoZW4gc3BlY2lmaWVkLicpO1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cbiAgZm9yIChjb25zdCB1cmwgb2YgdXJscykge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQodXJsKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlU3RyaW5nRmllbGRMZW5ndGgoe1xuICAgICAgdmFsdWU6IHVybCxcbiAgICAgIGZpZWxkTmFtZTogJ0FsbG93ZWQgT0F1dGgyIHJldHVybiBVUkwnLFxuICAgICAgbWluTGVuZ3RoOiBBTExPV0VEX09BVVRIMl9SRVRVUk5fVVJMX01JTixcbiAgICAgIG1heExlbmd0aDogQUxMT1dFRF9PQVVUSDJfUkVUVVJOX1VSTF9NQVgsXG4gICAgfSwgc2NvcGUpKTtcbiAgfVxuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDcmVkZW50aWFsUHJvdmlkZXJOYW1lKG5hbWU6IHN0cmluZywgc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlU3RyaW5nRmllbGRMZW5ndGgoe1xuICAgIHZhbHVlOiBuYW1lLFxuICAgIGZpZWxkTmFtZTogJ0NyZWRlbnRpYWwgcHJvdmlkZXIgbmFtZScsXG4gICAgbWluTGVuZ3RoOiBDUkVERU5USUFMX1BST1ZJREVSX05BTUVfTUlOLFxuICAgIG1heExlbmd0aDogQ1JFREVOVElBTF9QUk9WSURFUl9OQU1FX01BWCxcbiAgfSwgc2NvcGUpKTtcbiAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVGaWVsZFBhdHRlcm4oXG4gICAgbmFtZSxcbiAgICAnQ3JlZGVudGlhbCBwcm92aWRlciBuYW1lJyxcbiAgICBDUkVERU5USUFMX1BST1ZJREVSX05BTUVfUEFUVEVSTixcbiAgICAnQ3JlZGVudGlhbCBwcm92aWRlciBuYW1lIG1heSBvbmx5IGNvbnRhaW4gbGV0dGVycywgbnVtYmVycywgaHlwaGVucywgYW5kIHVuZGVyc2NvcmVzLicsXG4gICAgc2NvcGUsXG4gICkpO1xuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBcGlLZXlWYWx1ZShhcGlLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCwgc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10ge1xuICBpZiAoYXBpS2V5ID09IG51bGwgfHwgYXBpS2V5ID09PSAnJykge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKGFwaUtleSkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHZhbGlkYXRlU3RyaW5nRmllbGRMZW5ndGgoe1xuICAgIHZhbHVlOiBhcGlLZXksXG4gICAgZmllbGROYW1lOiAnQVBJIGtleScsXG4gICAgbWluTGVuZ3RoOiBBUElfS0VZX1ZBTFVFX01JTixcbiAgICBtYXhMZW5ndGg6IEFQSV9LRVlfVkFMVUVfTUFYLFxuICB9LCBzY29wZSk7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNyZWRlbnRpYWxQcm92aWRlclRhZ3ModGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIHNjb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdIHtcbiAgbGV0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKHRhZ3MgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cbiAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZCh0YWdzKSkge1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBjb25zdCB2YWxpZEtleVBhdHRlcm4gPSAvXlthLXpBLVowLTlcXHMuXzovPStALV0qJC87XG4gIGNvbnN0IHZhbGlkVmFsdWVQYXR0ZXJuID0gL15bYS16QS1aMC05XFxzLl86Lz0rQC1dKiQvO1xuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRhZ3MpKSB7XG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoa2V5KSkge1xuICAgICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVTdHJpbmdGaWVsZExlbmd0aCh7XG4gICAgICAgIHZhbHVlOiBrZXksXG4gICAgICAgIGZpZWxkTmFtZTogJ1RhZyBrZXknLFxuICAgICAgICBtaW5MZW5ndGg6IENSRURFTlRJQUxfUFJPVklERVJfVEFHX01JTixcbiAgICAgICAgbWF4TGVuZ3RoOiBDUkVERU5USUFMX1BST1ZJREVSX1RBR19NQVgsXG4gICAgICB9LCBzY29wZSkpO1xuICAgICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVGaWVsZFBhdHRlcm4oa2V5LCAnVGFnIGtleScsIHZhbGlkS2V5UGF0dGVybiwgdW5kZWZpbmVkLCBzY29wZSkpO1xuICAgIH1cblxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHZhbHVlKSkge1xuICAgICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVTdHJpbmdGaWVsZExlbmd0aCh7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICBmaWVsZE5hbWU6ICdUYWcgdmFsdWUnLFxuICAgICAgICBtaW5MZW5ndGg6IENSRURFTlRJQUxfUFJPVklERVJfVEFHX01JTixcbiAgICAgICAgbWF4TGVuZ3RoOiBDUkVERU5USUFMX1BST1ZJREVSX1RBR19NQVgsXG4gICAgICB9LCBzY29wZSkpO1xuICAgICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVGaWVsZFBhdHRlcm4odmFsdWUsICdUYWcgdmFsdWUnLCB2YWxpZFZhbHVlUGF0dGVybiwgdW5kZWZpbmVkLCBzY29wZSkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbmV4cG9ydCB7IHRocm93SWZJbnZhbGlkIH07XG4iXX0=
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFsaWRhdGlvbi1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBOEZILG9FQWdCQztBQU1ELDBGQXdCQztBQU1ELHdFQWdCQztBQU1ELGtEQWFDO0FBTUQsd0VBbUNDO0FBNU5ELDZDQUFvQztBQUVwQyxxRUFBK0c7QUE0TnRHLCtGQTVOaUQsbUNBQWMsT0E0TmpEO0FBMU52QixnQkFBZ0I7QUFDaEI7OztHQUdHO0FBQ1UsUUFBQSw0QkFBNEIsR0FBRyxDQUFDLENBQUM7QUFFOUMsZ0JBQWdCO0FBQ2hCOzs7R0FHRztBQUNVLFFBQUEsNEJBQTRCLEdBQUcsR0FBRyxDQUFDO0FBRWhELGdCQUFnQjtBQUNoQjs7O0dBR0c7QUFDVSxRQUFBLGdDQUFnQyxHQUFHLG1CQUFtQixDQUFDO0FBRXBFLGdCQUFnQjtBQUNoQjs7O0dBR0c7QUFDVSxRQUFBLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUVuQyxnQkFBZ0I7QUFDaEI7OztHQUdHO0FBQ1UsUUFBQSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7QUFFdkMsZ0JBQWdCO0FBQ2hCOzs7R0FHRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDO0FBRTdDLGdCQUFnQjtBQUNoQjs7O0dBR0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLEdBQUcsQ0FBQztBQUUvQyxnQkFBZ0I7QUFDaEI7OztHQUdHO0FBQ1UsUUFBQSwwQkFBMEIsR0FBRyxDQUFDLENBQUM7QUFFNUMsZ0JBQWdCO0FBQ2hCOzs7R0FHRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsR0FBRyxDQUFDO0FBRTlDLGdCQUFnQjtBQUNoQjs7O0dBR0c7QUFDVSxRQUFBLDhCQUE4QixHQUFHLG1CQUFtQixDQUFDO0FBRWxFLGdCQUFnQjtBQUNoQjs7O0dBR0c7QUFDVSxRQUFBLDZCQUE2QixHQUFHLENBQUMsQ0FBQztBQUUvQyxnQkFBZ0I7QUFDaEI7OztHQUdHO0FBQ1UsUUFBQSw2QkFBNkIsR0FBRyxJQUFJLENBQUM7QUFFbEQ7OztHQUdHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQUMsSUFBWSxFQUFFLEtBQWtCO0lBQzNFLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBQSw4Q0FBeUIsRUFBQztRQUN2QyxLQUFLLEVBQUUsSUFBSTtRQUNYLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsU0FBUyxFQUFFLGtDQUEwQjtRQUNyQyxTQUFTLEVBQUUsa0NBQTBCO0tBQ3RDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLHlDQUFvQixFQUNqQyxJQUFJLEVBQ0osd0JBQXdCLEVBQ3hCLHNDQUE4QixFQUM5QiwyRkFBMkYsRUFDM0YsS0FBSyxDQUNOLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQix1Q0FBdUMsQ0FBQyxJQUEwQixFQUFFLEtBQWtCO0lBQ3BHLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELElBQUksbUJBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEVBQTBFLENBQUMsQ0FBQztRQUN4RixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLG1CQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsU0FBUztRQUNYLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBQSw4Q0FBeUIsRUFBQztZQUN2QyxLQUFLLEVBQUUsR0FBRztZQUNWLFNBQVMsRUFBRSwyQkFBMkI7WUFDdEMsU0FBUyxFQUFFLHFDQUE2QjtZQUN4QyxTQUFTLEVBQUUscUNBQTZCO1NBQ3pDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNiLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsOEJBQThCLENBQUMsSUFBWSxFQUFFLEtBQWtCO0lBQzdFLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBQSw4Q0FBeUIsRUFBQztRQUN2QyxLQUFLLEVBQUUsSUFBSTtRQUNYLFNBQVMsRUFBRSwwQkFBMEI7UUFDckMsU0FBUyxFQUFFLG9DQUE0QjtRQUN2QyxTQUFTLEVBQUUsb0NBQTRCO0tBQ3hDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLHlDQUFvQixFQUNqQyxJQUFJLEVBQ0osMEJBQTBCLEVBQzFCLHdDQUFnQyxFQUNoQyx1RkFBdUYsRUFDdkYsS0FBSyxDQUNOLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxNQUEwQixFQUFFLEtBQWtCO0lBQ2hGLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDcEMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsSUFBSSxtQkFBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELE9BQU8sSUFBQSw4Q0FBeUIsRUFBQztRQUMvQixLQUFLLEVBQUUsTUFBTTtRQUNiLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFNBQVMsRUFBRSx5QkFBaUI7UUFDNUIsU0FBUyxFQUFFLHlCQUFpQjtLQUM3QixFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ1osQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLDhCQUE4QixDQUFDLElBQWdDLEVBQUUsS0FBa0I7SUFDakcsSUFBSSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBQzFCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxJQUFJLG1CQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDN0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sZUFBZSxHQUFHLDBCQUEwQixDQUFDO0lBQ25ELE1BQU0saUJBQWlCLEdBQUcsMEJBQTBCLENBQUM7SUFFckQsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBQSw4Q0FBeUIsRUFBQztnQkFDdkMsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFNBQVMsRUFBRSxtQ0FBMkI7Z0JBQ3RDLFNBQVMsRUFBRSxtQ0FBMkI7YUFDdkMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUEseUNBQW9CLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUYsQ0FBQztRQUVELElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLDhDQUF5QixFQUFDO2dCQUN2QyxLQUFLO2dCQUNMLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixTQUFTLEVBQUUsbUNBQTJCO2dCQUN0QyxTQUFTLEVBQUUsbUNBQTJCO2FBQ3ZDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLHlDQUFvQixFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEcsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IHZhbGlkYXRlRmllbGRQYXR0ZXJuLCB2YWxpZGF0ZVN0cmluZ0ZpZWxkTGVuZ3RoLCB0aHJvd0lmSW52YWxpZCB9IGZyb20gJy4uL21lbW9yeS92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKiogQGludGVybmFsICovXG4vKipcbiAqIFRoaXMgQVBJIGhhcyBiZWVuIGdyYWR1YXRlZCB0byBzdGFibGUuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgQ1JFREVOVElBTF9QUk9WSURFUl9OQU1FX01JTiA9IDE7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbi8qKlxuICogVGhpcyBBUEkgaGFzIGJlZW4gZ3JhZHVhdGVkIHRvIHN0YWJsZS5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBDUkVERU5USUFMX1BST1ZJREVSX05BTUVfTUFYID0gMTI4O1xuXG4vKiogQGludGVybmFsICovXG4vKipcbiAqIFRoaXMgQVBJIGhhcyBiZWVuIGdyYWR1YXRlZCB0byBzdGFibGUuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgQ1JFREVOVElBTF9QUk9WSURFUl9OQU1FX1BBVFRFUk4gPSAvXlthLXpBLVowLTlcXC1fXSskLztcblxuLyoqIEBpbnRlcm5hbCAqL1xuLyoqXG4gKiBUaGlzIEFQSSBoYXMgYmVlbiBncmFkdWF0ZWQgdG8gc3RhYmxlLlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBlcXVpdmFsZW50IGNvbnN0cnVjdCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZWAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQSV9LRVlfVkFMVUVfTUlOID0gMTtcblxuLyoqIEBpbnRlcm5hbCAqL1xuLyoqXG4gKiBUaGlzIEFQSSBoYXMgYmVlbiBncmFkdWF0ZWQgdG8gc3RhYmxlLlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBlcXVpdmFsZW50IGNvbnN0cnVjdCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZWAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQSV9LRVlfVkFMVUVfTUFYID0gNjU1MzY7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbi8qKlxuICogVGhpcyBBUEkgaGFzIGJlZW4gZ3JhZHVhdGVkIHRvIHN0YWJsZS5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBDUkVERU5USUFMX1BST1ZJREVSX1RBR19NSU4gPSAxO1xuXG4vKiogQGludGVybmFsICovXG4vKipcbiAqIFRoaXMgQVBJIGhhcyBiZWVuIGdyYWR1YXRlZCB0byBzdGFibGUuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgQ1JFREVOVElBTF9QUk9WSURFUl9UQUdfTUFYID0gMjU2O1xuXG4vKiogQGludGVybmFsICovXG4vKipcbiAqIFRoaXMgQVBJIGhhcyBiZWVuIGdyYWR1YXRlZCB0byBzdGFibGUuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgV09SS0xPQURfSURFTlRJVFlfTkFNRV9NSU4gPSAzO1xuXG4vKiogQGludGVybmFsICovXG4vKipcbiAqIFRoaXMgQVBJIGhhcyBiZWVuIGdyYWR1YXRlZCB0byBzdGFibGUuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgV09SS0xPQURfSURFTlRJVFlfTkFNRV9NQVggPSAyNTU7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbi8qKlxuICogVGhpcyBBUEkgaGFzIGJlZW4gZ3JhZHVhdGVkIHRvIHN0YWJsZS5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBXT1JLTE9BRF9JREVOVElUWV9OQU1FX1BBVFRFUk4gPSAvXltBLVphLXowLTlfLi1dKyQvO1xuXG4vKiogQGludGVybmFsICovXG4vKipcbiAqIFRoaXMgQVBJIGhhcyBiZWVuIGdyYWR1YXRlZCB0byBzdGFibGUuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgQUxMT1dFRF9PQVVUSDJfUkVUVVJOX1VSTF9NSU4gPSAxO1xuXG4vKiogQGludGVybmFsICovXG4vKipcbiAqIFRoaXMgQVBJIGhhcyBiZWVuIGdyYWR1YXRlZCB0byBzdGFibGUuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgQUxMT1dFRF9PQVVUSDJfUkVUVVJOX1VSTF9NQVggPSAyMDQ4O1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBlcXVpdmFsZW50IGNvbnN0cnVjdCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZWAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlV29ya2xvYWRJZGVudGl0eU5hbWUobmFtZTogc3RyaW5nLCBzY29wZT86IElDb25zdHJ1Y3QpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVTdHJpbmdGaWVsZExlbmd0aCh7XG4gICAgdmFsdWU6IG5hbWUsXG4gICAgZmllbGROYW1lOiAnV29ya2xvYWQgaWRlbnRpdHkgbmFtZScsXG4gICAgbWluTGVuZ3RoOiBXT1JLTE9BRF9JREVOVElUWV9OQU1FX01JTixcbiAgICBtYXhMZW5ndGg6IFdPUktMT0FEX0lERU5USVRZX05BTUVfTUFYLFxuICB9LCBzY29wZSkpO1xuICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZUZpZWxkUGF0dGVybihcbiAgICBuYW1lLFxuICAgICdXb3JrbG9hZCBpZGVudGl0eSBuYW1lJyxcbiAgICBXT1JLTE9BRF9JREVOVElUWV9OQU1FX1BBVFRFUk4sXG4gICAgJ1dvcmtsb2FkIGlkZW50aXR5IG5hbWUgbWF5IG9ubHkgY29udGFpbiBsZXR0ZXJzLCBudW1iZXJzLCBkb3RzLCB1bmRlcnNjb3JlcywgYW5kIGh5cGhlbnMuJyxcbiAgICBzY29wZSxcbiAgKSk7XG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBbGxvd2VkUmVzb3VyY2VPYXV0aDJSZXR1cm5VcmxzKHVybHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkLCBzY29wZT86IElDb25zdHJ1Y3QpOiBzdHJpbmdbXSB7XG4gIGlmICh1cmxzID09IG51bGwpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZCh1cmxzKSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gIGlmICh1cmxzLmxlbmd0aCA9PT0gMCkge1xuICAgIGVycm9ycy5wdXNoKCdBbGxvd2VkIE9BdXRoMiByZXR1cm4gVVJMcyBtdXN0IGNvbnRhaW4gYXQgbGVhc3Qgb25lIFVSTCB3aGVuIHNwZWNpZmllZC4nKTtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG4gIGZvciAoY29uc3QgdXJsIG9mIHVybHMpIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHVybCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZVN0cmluZ0ZpZWxkTGVuZ3RoKHtcbiAgICAgIHZhbHVlOiB1cmwsXG4gICAgICBmaWVsZE5hbWU6ICdBbGxvd2VkIE9BdXRoMiByZXR1cm4gVVJMJyxcbiAgICAgIG1pbkxlbmd0aDogQUxMT1dFRF9PQVVUSDJfUkVUVVJOX1VSTF9NSU4sXG4gICAgICBtYXhMZW5ndGg6IEFMTE9XRURfT0FVVEgyX1JFVFVSTl9VUkxfTUFYLFxuICAgIH0sIHNjb3BlKSk7XG4gIH1cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNyZWRlbnRpYWxQcm92aWRlck5hbWUobmFtZTogc3RyaW5nLCBzY29wZT86IElDb25zdHJ1Y3QpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVTdHJpbmdGaWVsZExlbmd0aCh7XG4gICAgdmFsdWU6IG5hbWUsXG4gICAgZmllbGROYW1lOiAnQ3JlZGVudGlhbCBwcm92aWRlciBuYW1lJyxcbiAgICBtaW5MZW5ndGg6IENSRURFTlRJQUxfUFJPVklERVJfTkFNRV9NSU4sXG4gICAgbWF4TGVuZ3RoOiBDUkVERU5USUFMX1BST1ZJREVSX05BTUVfTUFYLFxuICB9LCBzY29wZSkpO1xuICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZUZpZWxkUGF0dGVybihcbiAgICBuYW1lLFxuICAgICdDcmVkZW50aWFsIHByb3ZpZGVyIG5hbWUnLFxuICAgIENSRURFTlRJQUxfUFJPVklERVJfTkFNRV9QQVRURVJOLFxuICAgICdDcmVkZW50aWFsIHByb3ZpZGVyIG5hbWUgbWF5IG9ubHkgY29udGFpbiBsZXR0ZXJzLCBudW1iZXJzLCBoeXBoZW5zLCBhbmQgdW5kZXJzY29yZXMuJyxcbiAgICBzY29wZSxcbiAgKSk7XG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBcGlLZXlWYWx1ZShhcGlLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCwgc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10ge1xuICBpZiAoYXBpS2V5ID09IG51bGwgfHwgYXBpS2V5ID09PSAnJykge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKGFwaUtleSkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHZhbGlkYXRlU3RyaW5nRmllbGRMZW5ndGgoe1xuICAgIHZhbHVlOiBhcGlLZXksXG4gICAgZmllbGROYW1lOiAnQVBJIGtleScsXG4gICAgbWluTGVuZ3RoOiBBUElfS0VZX1ZBTFVFX01JTixcbiAgICBtYXhMZW5ndGg6IEFQSV9LRVlfVkFMVUVfTUFYLFxuICB9LCBzY29wZSk7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGVxdWl2YWxlbnQgY29uc3RydWN0IGZyb20gYGF3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDcmVkZW50aWFsUHJvdmlkZXJUYWdzKHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCBzY29wZT86IElDb25zdHJ1Y3QpOiBzdHJpbmdbXSB7XG4gIGxldCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gIGlmICh0YWdzID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG4gIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQodGFncykpIHtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgY29uc3QgdmFsaWRLZXlQYXR0ZXJuID0gL15bYS16QS1aMC05XFxzLl86Lz0rQC1dKiQvO1xuICBjb25zdCB2YWxpZFZhbHVlUGF0dGVybiA9IC9eW2EtekEtWjAtOVxccy5fOi89K0AtXSokLztcblxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0YWdzKSkge1xuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGtleSkpIHtcbiAgICAgIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlU3RyaW5nRmllbGRMZW5ndGgoe1xuICAgICAgICB2YWx1ZToga2V5LFxuICAgICAgICBmaWVsZE5hbWU6ICdUYWcga2V5JyxcbiAgICAgICAgbWluTGVuZ3RoOiBDUkVERU5USUFMX1BST1ZJREVSX1RBR19NSU4sXG4gICAgICAgIG1heExlbmd0aDogQ1JFREVOVElBTF9QUk9WSURFUl9UQUdfTUFYLFxuICAgICAgfSwgc2NvcGUpKTtcbiAgICAgIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlRmllbGRQYXR0ZXJuKGtleSwgJ1RhZyBrZXknLCB2YWxpZEtleVBhdHRlcm4sIHVuZGVmaW5lZCwgc2NvcGUpKTtcbiAgICB9XG5cbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZCh2YWx1ZSkpIHtcbiAgICAgIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlU3RyaW5nRmllbGRMZW5ndGgoe1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgZmllbGROYW1lOiAnVGFnIHZhbHVlJyxcbiAgICAgICAgbWluTGVuZ3RoOiBDUkVERU5USUFMX1BST1ZJREVSX1RBR19NSU4sXG4gICAgICAgIG1heExlbmd0aDogQ1JFREVOVElBTF9QUk9WSURFUl9UQUdfTUFYLFxuICAgICAgfSwgc2NvcGUpKTtcbiAgICAgIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlRmllbGRQYXR0ZXJuKHZhbHVlLCAnVGFnIHZhbHVlJywgdmFsaWRWYWx1ZVBhdHRlcm4sIHVuZGVmaW5lZCwgc2NvcGUpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG5leHBvcnQgeyB0aHJvd0lmSW52YWxpZCB9O1xuIl19
@@ -26,6 +26,7 @@ import type { Construct } from 'constructs';
26
26
  * for consistent authentication across environments.
27
27
  *
28
28
  * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/understanding-agent-identities.html
29
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
29
30
  */
30
31
  export interface IWorkloadIdentity extends IResource, iam.IGrantable, IWorkloadIdentityRef {
31
32
  /**
@@ -74,6 +75,7 @@ export interface IWorkloadIdentity extends IResource, iam.IGrantable, IWorkloadI
74
75
  }
75
76
  /**
76
77
  * Properties for a new {@link WorkloadIdentity}.
78
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
77
79
  */
78
80
  export interface WorkloadIdentityProps {
79
81
  /**
@@ -99,6 +101,7 @@ export interface WorkloadIdentityProps {
99
101
  }
100
102
  /**
101
103
  * Attributes for importing an existing workload identity.
104
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
102
105
  */
103
106
  export interface WorkloadIdentityAttributes {
104
107
  /**
@@ -1,4 +1,20 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
2
18
  var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
19
  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
20
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
@@ -33,13 +49,30 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
33
49
  }
34
50
  return useValue ? value : void 0;
35
51
  };
52
+ var __importStar = (this && this.__importStar) || (function () {
53
+ var ownKeys = function(o) {
54
+ ownKeys = Object.getOwnPropertyNames || function (o) {
55
+ var ar = [];
56
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
57
+ return ar;
58
+ };
59
+ return ownKeys(o);
60
+ };
61
+ return function (mod) {
62
+ if (mod && mod.__esModule) return mod;
63
+ var result = {};
64
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
65
+ __setModuleDefault(result, mod);
66
+ return result;
67
+ };
68
+ })();
36
69
  Object.defineProperty(exports, "__esModule", { value: true });
37
70
  exports.WorkloadIdentity = void 0;
38
71
  const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
39
72
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
40
73
  const aws_cdk_lib_1 = require("aws-cdk-lib");
41
74
  const aws_bedrockagentcore_1 = require("aws-cdk-lib/aws-bedrockagentcore");
42
- const iam = require("aws-cdk-lib/aws-iam");
75
+ const iam = __importStar(require("aws-cdk-lib/aws-iam"));
43
76
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
44
77
  const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
45
78
  const grant_helpers_1 = require("./grant-helpers");
@@ -127,7 +160,7 @@ let WorkloadIdentity = (() => {
127
160
  WorkloadIdentity = _classThis = _classDescriptor.value;
128
161
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
129
162
  }
130
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.WorkloadIdentity", version: "2.256.1-alpha.0" };
163
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.WorkloadIdentity", version: "2.258.0-alpha.0" };
131
164
  /** Uniquely identifies this class. */
132
165
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.WorkloadIdentity';
133
166
  /**
@@ -209,4 +242,4 @@ let WorkloadIdentity = (() => {
209
242
  return WorkloadIdentity = _classThis;
210
243
  })();
211
244
  exports.WorkloadIdentity = WorkloadIdentity;
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2xvYWQtaWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3b3JrbG9hZC1pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSw2Q0FBMkQ7QUFFM0QsMkVBQXVFO0FBQ3ZFLDJDQUEyQztBQUMzQyw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLG1EQUFtSDtBQUNuSCxtQ0FBZ0Q7QUFDaEQsNkRBSzhCO0FBNEg5Qjs7K0VBRStFO0FBRS9FLE1BQWUsb0JBQXFCLFNBQVEsc0JBQVE7SUFLbEMsY0FBYyxHQUFtQixJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTlGLElBQVcsbUJBQW1CO1FBQzVCLE9BQU87WUFDTCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQy9DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7U0FDOUMsQ0FBQztLQUNIO0lBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN6QjtJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQXVCLEVBQUUsR0FBRyxPQUFpQjtRQUN4RCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzlCLE9BQU87WUFDUCxPQUFPO1lBQ1AsWUFBWSxFQUFFLElBQUEseUNBQXlCLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxrREFBa0MsQ0FBQztZQUMzRyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsT0FBdUI7UUFDdEMsT0FBTyxJQUFBLGlDQUFpQixFQUN0QixJQUFJLEVBQ0osT0FBTyxFQUNQLElB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QUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUM7U0FDbkU7O1lBekVVLHVEQUFnQjs7Ozs7QUFBaEIsNENBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UsIFJlc291cmNlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBMYXp5LCBOYW1lcywgUmVzb3VyY2UsIFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBDZm5Xb3JrbG9hZElkZW50aXR5UHJvcHMsIElXb3JrbG9hZElkZW50aXR5UmVmLCBXb3JrbG9hZElkZW50aXR5UmVmZXJlbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0IHsgQ2ZuV29ya2xvYWRJZGVudGl0eSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBidWlsZElkZW50aXR5UmVzb3VyY2VBcm5zLCBncmFudFJlYWRXaXRoTGlzdCwgV09SS0xPQURfSURFTlRJVFlfUEFSRU5UX1JFU09VUkNFUyB9IGZyb20gJy4vZ3JhbnQtaGVscGVycyc7XG5pbXBvcnQgeyBXb3JrbG9hZElkZW50aXR5UGVybXMgfSBmcm9tICcuL3Blcm1zJztcbmltcG9ydCB7XG4gIHRocm93SWZJbnZhbGlkLFxuICB2YWxpZGF0ZUFsbG93ZWRSZXNvdXJjZU9hdXRoMlJldHVyblVybHMsXG4gIHZhbGlkYXRlQ3JlZGVudGlhbFByb3ZpZGVyVGFncyxcbiAgdmFsaWRhdGVXb3JrbG9hZElkZW50aXR5TmFtZSxcbn0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQSB3b3JrbG9hZCBpZGVudGl0eSBmb3IgQW1hem9uIEJlZHJvY2sgQWdlbnRDb3JlLlxuICpcbiAqIFJlcHJlc2VudHMgdGhlIHN0YWJsZSBpZGVudGl0eSBvZiBhbiBhZ2VudCB3aXRoaW4gYW4gYWNjb3VudCdzIGFnZW50IGlkZW50aXR5IGRpcmVjdG9yeS5cbiAqIEl0IHRpZXMgdG9nZXRoZXIgSUFNIHJvbGVzLCBPQXV0aDIgZmxvd3MsIEFQSSBrZXlzLCBhbmQgd29ya2xvYWQgYWNjZXNzIHRva2Vuc1xuICogZm9yIGNvbnNpc3RlbnQgYXV0aGVudGljYXRpb24gYWNyb3NzIGVudmlyb25tZW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iZWRyb2NrLWFnZW50Y29yZS9sYXRlc3QvZGV2Z3VpZGUvdW5kZXJzdGFuZGluZy1hZ2VudC1pZGVudGl0aWVzLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJV29ya2xvYWRJZGVudGl0eSBleHRlbmRzIElSZXNvdXJjZSwgaWFtLklHcmFudGFibGUsIElXb3JrbG9hZElkZW50aXR5UmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhpcyB3b3JrbG9hZCBpZGVudGl0eS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2xvYWRJZGVudGl0eUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIHdvcmtsb2FkIGlkZW50aXR5LlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaW1lc3RhbXAgd2hlbiB0aGUgd29ya2xvYWQgaWRlbnRpdHkgd2FzIGNyZWF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZWRUaW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaW1lc3RhbXAgd2hlbiB0aGUgd29ya2xvYWQgaWRlbnRpdHkgd2FzIGxhc3QgdXBkYXRlZC5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgbGFzdFVwZGF0ZWRUaW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgSUFNIGFjdGlvbnMgb24gdGhpcyB3b3JrbG9hZCBpZGVudGl0eSwgc2NvcGVkIHRvIGl0cyBBUk4gYW5kIHRoZSBwYXJlbnQgcmVzb3VyY2VzXG4gICAqIHJlcXVpcmVkIGJ5IHRoZSBCZWRyb2NrIEFnZW50Q29yZSBhdXRob3JpemF0aW9uIG1vZGVsLlxuICAgKi9cbiAgZ3JhbnQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUsIC4uLmFjdGlvbnM6IHN0cmluZ1tdKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudCBgR2V0V29ya2xvYWRJZGVudGl0eWAgYW5kIGBMaXN0V29ya2xvYWRJZGVudGl0aWVzYCwgc2NvcGVkIHRvIHRoaXMgaWRlbnRpdHlcbiAgICogYW5kIHBhcmVudCByZXNvdXJjZXMgcmVxdWlyZWQgYnkgdGhlIEJlZHJvY2sgQWdlbnRDb3JlIGF1dGhvcml6YXRpb24gbW9kZWwuXG4gICAqL1xuICBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEdyYW50IGNvbnRyb2wgcGxhbmUgcGVybWlzc2lvbnMgdG8gbWFuYWdlIHRoaXMgd29ya2xvYWQgaWRlbnRpdHkuXG4gICAqL1xuICBncmFudEFkbWluKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudCBkYXRhIHBsYW5lIHBlcm1pc3Npb25zIHRvIG1pbnQgd29ya2xvYWQgYWNjZXNzIHRva2Vuc1xuICAgKiAoYEdldFdvcmtsb2FkQWNjZXNzVG9rZW5gLCBgR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvckpXVGAsIGBHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9yVXNlcklkYCkuXG4gICAqL1xuICBncmFudFVzZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogR3JhbnQgcmVhZCwgbGlzdCwgYWRtaW4sIGFuZCB1c2UgcGVybWlzc2lvbnMuXG4gICAqL1xuICBncmFudEZ1bGxBY2Nlc3MoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcge0BsaW5rIFdvcmtsb2FkSWRlbnRpdHl9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtsb2FkSWRlbnRpdHlQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB3b3JrbG9hZCBpZGVudGl0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhIG5hbWUgZ2VuZXJhdGVkIGJ5IENES1xuICAgKi9cbiAgcmVhZG9ubHkgd29ya2xvYWRJZGVudGl0eU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsbG93ZWQgT0F1dGgyIHJldHVybiBVUkxzIGZvciByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgd29ya2xvYWQgaWRlbnRpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmV0dXJuIFVSTHNcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRSZXNvdXJjZU9hdXRoMlJldHVyblVybHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGFncyBmb3IgdGhpcyB3b3JrbG9hZCBpZGVudGl0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyB0YWdzXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gZXhpc3Rpbmcgd29ya2xvYWQgaWRlbnRpdHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2xvYWRJZGVudGl0eUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogQVJOIG9mIHRoZSB3b3JrbG9hZCBpZGVudGl0eS5cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtsb2FkSWRlbnRpdHlBcm46IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgd29ya2xvYWQgaWRlbnRpdHkuXG4gICAqL1xuICByZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBjcmVhdGlvbiB0aW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBzZXRcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZWRUaW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBsYXN0LXVwZGF0ZWQgdGltZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3Qgc2V0XG4gICAqL1xuICByZWFkb25seSBsYXN0VXBkYXRlZFRpbWU/OiBzdHJpbmc7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgIEFic3RyYWN0IGJhc2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuYWJzdHJhY3QgY2xhc3MgV29ya2xvYWRJZGVudGl0eUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElXb3JrbG9hZElkZW50aXR5IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtsb2FkSWRlbnRpdHlBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtsb2FkSWRlbnRpdHlOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjcmVhdGVkVGltZT86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGxhc3RVcGRhdGVkVGltZT86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbCA9IG5ldyBpYW0uVW5rbm93blByaW5jaXBhbCh7IHJlc291cmNlOiB0aGlzIH0pO1xuXG4gIHB1YmxpYyBnZXQgd29ya2xvYWRJZGVudGl0eVJlZigpOiBXb3JrbG9hZElkZW50aXR5UmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgd29ya2xvYWRJZGVudGl0eU5hbWU6IHRoaXMud29ya2xvYWRJZGVudGl0eU5hbWUsXG4gICAgICB3b3JrbG9hZElkZW50aXR5QXJuOiB0aGlzLndvcmtsb2FkSWRlbnRpdHlBcm4sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogUmVzb3VyY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKi9cbiAgcHVibGljIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCAuLi5hY3Rpb25zOiBzdHJpbmdbXSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9ucyxcbiAgICAgIHJlc291cmNlQXJuczogYnVpbGRJZGVudGl0eVJlc291cmNlQXJucyh0aGlzLCB0aGlzLndvcmtsb2FkSWRlbnRpdHlBcm4sIFdPUktMT0FEX0lERU5USVRZX1BBUkVOVF9SRVNPVVJDRVMpLFxuICAgICAgc2NvcGU6IHRoaXMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gZ3JhbnRSZWFkV2l0aExpc3QoXG4gICAgICB0aGlzLFxuICAgICAgZ3JhbnRlZSxcbiAgICAgIHRoaXMud29ya2xvYWRJZGVudGl0eUFybixcbiAgICAgIFsuLi5Xb3JrbG9hZElkZW50aXR5UGVybXMuUkVBRF9QRVJNU10sXG4gICAgICBbLi4uV29ya2xvYWRJZGVudGl0eVBlcm1zLkxJU1RfUEVSTVNdLFxuICAgICAgV09SS0xPQURfSURFTlRJVFlfUEFSRU5UX1JFU09VUkNFUyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKi9cbiAgcHVibGljIGdyYW50QWRtaW4oZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmdyYW50KGdyYW50ZWUsIC4uLldvcmtsb2FkSWRlbnRpdHlQZXJtcy5BRE1JTl9QRVJNUyk7XG4gIH1cblxuICAvKipcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRVc2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmdyYW50KGdyYW50ZWUsIC4uLldvcmtsb2FkSWRlbnRpdHlQZXJtcy5VU0VfUEVSTVMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKi9cbiAgcHVibGljIGdyYW50RnVsbEFjY2VzcyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogWy4uLldvcmtsb2FkSWRlbnRpdHlQZXJtcy5GVUxMX0FDQ0VTU19QRVJNU10sXG4gICAgICByZXNvdXJjZUFybnM6IGJ1aWxkSWRlbnRpdHlSZXNvdXJjZUFybnModGhpcywgdGhpcy53b3JrbG9hZElkZW50aXR5QXJuLCBXT1JLTE9BRF9JREVOVElUWV9QQVJFTlRfUkVTT1VSQ0VTKSxcbiAgICAgIHNjb3BlOiB0aGlzLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGFzc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEwyIGNvbnN0cnVjdCBmb3IgYEFXUzo6QmVkcm9ja0FnZW50Q29yZTo6V29ya2xvYWRJZGVudGl0eWAuXG4gKlxuICogQSB3b3JrbG9hZCBpZGVudGl0eSBpcyB0aGUgc3RhYmxlIGlkZW50aXR5IG9mIGFuIGFnZW50IGluIGFuIEFXUyBhY2NvdW50LiBJdCB0aWVzIHRvZ2V0aGVyXG4gKiBJQU0gcm9sZXMsIE9BdXRoMiBmbG93cywgQVBJIGtleXMsIGFuZCB3b3JrbG9hZCBhY2Nlc3MgdG9rZW5zIGZvciBjb25zaXN0ZW50IGF1dGhlbnRpY2F0aW9uXG4gKiBhY3Jvc3MgZW52aXJvbm1lbnRzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWJlZHJvY2thZ2VudGNvcmUtd29ya2xvYWRpZGVudGl0eS5odG1sXG4gKiBAcmVzb3VyY2UgQVdTOjpCZWRyb2NrQWdlbnRDb3JlOjpXb3JrbG9hZElkZW50aXR5XG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBXb3JrbG9hZElkZW50aXR5IGV4dGVuZHMgV29ya2xvYWRJZGVudGl0eUJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1iZWRyb2NrLWFnZW50Y29yZS1hbHBoYS5Xb3JrbG9hZElkZW50aXR5JztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIHdvcmtsb2FkIGlkZW50aXR5LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2xvYWRJZGVudGl0eUF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBXb3JrbG9hZElkZW50aXR5QXR0cmlidXRlcyxcbiAgKTogSVdvcmtsb2FkSWRlbnRpdHkge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFdvcmtsb2FkSWRlbnRpdHlCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSB3b3JrbG9hZElkZW50aXR5QXJuID0gYXR0cnMud29ya2xvYWRJZGVudGl0eUFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZSA9IGF0dHJzLndvcmtsb2FkSWRlbnRpdHlOYW1lO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGNyZWF0ZWRUaW1lID0gYXR0cnMuY3JlYXRlZFRpbWU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbGFzdFVwZGF0ZWRUaW1lID0gYXR0cnMubGFzdFVwZGF0ZWRUaW1lO1xuXG4gICAgICBjb25zdHJ1Y3RvcihzOiBDb25zdHJ1Y3QsIGk6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzLCBpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3b3JrbG9hZElkZW50aXR5QXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2NyZWF0ZWRUaW1lPzogc3RyaW5nO1xuICBwcml2YXRlIF9sYXN0VXBkYXRlZFRpbWU/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc291cmNlOiBDZm5Xb3JrbG9hZElkZW50aXR5O1xuXG4gIHB1YmxpYyBnZXQgY3JlYXRlZFRpbWUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5fY3JlYXRlZFRpbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY3JlYXRlZFRpbWUgPSBUb2tlbi5hc1N0cmluZyh0aGlzLl9yZXNvdXJjZS5hdHRyQ3JlYXRlZFRpbWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlZFRpbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RVcGRhdGVkVGltZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLl9sYXN0VXBkYXRlZFRpbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fbGFzdFVwZGF0ZWRUaW1lID0gVG9rZW4uYXNTdHJpbmcodGhpcy5fcmVzb3VyY2UuYXR0ckxhc3RVcGRhdGVkVGltZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9sYXN0VXBkYXRlZFRpbWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogV29ya2xvYWRJZGVudGl0eVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMud29ya2xvYWRJZGVudGl0eU5hbWVcbiAgICAgICAgPz8gTGF6eS5zdHJpbmcoe1xuICAgICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMjU1IH0pLFxuICAgICAgICB9KSxcbiAgICB9KTtcblxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMud29ya2xvYWRJZGVudGl0eU5hbWUgPSB0aGlzLnBoeXNpY2FsTmFtZTtcblxuICAgIHRocm93SWZJbnZhbGlkKHZhbGlkYXRlV29ya2xvYWRJZGVudGl0eU5hbWUsIHRoaXMud29ya2xvYWRJZGVudGl0eU5hbWUsIHRoaXMpO1xuICAgIHRocm93SWZJbnZhbGlkKHZhbGlkYXRlQWxsb3dlZFJlc291cmNlT2F1dGgyUmV0dXJuVXJscywgcHJvcHMuYWxsb3dlZFJlc291cmNlT2F1dGgyUmV0dXJuVXJscywgdGhpcyk7XG4gICAgdGhyb3dJZkludmFsaWQodmFsaWRhdGVDcmVkZW50aWFsUHJvdmlkZXJUYWdzLCBwcm9wcy50YWdzLCB0aGlzKTtcblxuICAgIGNvbnN0IGNmblByb3BzOiBDZm5Xb3JrbG9hZElkZW50aXR5UHJvcHMgPSB7XG4gICAgICBuYW1lOiB0aGlzLndvcmtsb2FkSWRlbnRpdHlOYW1lLFxuICAgICAgYWxsb3dlZFJlc291cmNlT2F1dGgyUmV0dXJuVXJsczogcHJvcHMuYWxsb3dlZFJlc291cmNlT2F1dGgyUmV0dXJuVXJscyxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MgJiYgT2JqZWN0LmtleXMocHJvcHMudGFncykubGVuZ3RoID4gMFxuICAgICAgICA/IE9iamVjdC5lbnRyaWVzKHByb3BzLnRhZ3MpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoeyBrZXksIHZhbHVlIH0pKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgdGhpcy5fcmVzb3VyY2UgPSBuZXcgQ2ZuV29ya2xvYWRJZGVudGl0eSh0aGlzLCAnUmVzb3VyY2UnLCBjZm5Qcm9wcyk7XG5cbiAgICB0aGlzLndvcmtsb2FkSWRlbnRpdHlBcm4gPSB0aGlzLl9yZXNvdXJjZS5hdHRyV29ya2xvYWRJZGVudGl0eUFybjtcbiAgfVxufVxuIl19
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2xvYWQtaWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3b3JrbG9hZC1pZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSw2Q0FBMkQ7QUFFM0QsMkVBQXVFO0FBQ3ZFLHlEQUEyQztBQUMzQyw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLG1EQUFtSDtBQUNuSCxtQ0FBZ0Q7QUFDaEQsNkRBSzhCO0FBK0g5Qjs7K0VBRStFO0FBRS9FLE1BQWUsb0JBQXFCLFNBQVEsc0JBQVE7SUFLbEMsY0FBYyxHQUFtQixJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTlGLElBQVcsbUJBQW1CO1FBQzVCLE9BQU87WUFDTCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQy9DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7U0FDOUMsQ0FBQztLQUNIO0lBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN6QjtJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQXVCLEVBQUUsR0FBRyxPQUFpQjtRQUN4RCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzlCLE9BQU87WUFDUCxPQUFPO1lBQ1AsWUFBWSxFQUFFLElBQUEseUNBQXlCLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxrREFBa0MsQ0FBQztZQUMzRyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsT0FBdUI7UUFDdEMsT0FBTyxJQUFBLGlD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LEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFckUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUM7U0FDbkU7O1lBekVVLHVEQUFnQjs7Ozs7QUFBaEIsNENBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UsIFJlc291cmNlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBMYXp5LCBOYW1lcywgUmVzb3VyY2UsIFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBDZm5Xb3JrbG9hZElkZW50aXR5UHJvcHMsIElXb3JrbG9hZElkZW50aXR5UmVmLCBXb3JrbG9hZElkZW50aXR5UmVmZXJlbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0IHsgQ2ZuV29ya2xvYWRJZGVudGl0eSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBidWlsZElkZW50aXR5UmVzb3VyY2VBcm5zLCBncmFudFJlYWRXaXRoTGlzdCwgV09SS0xPQURfSURFTlRJVFlfUEFSRU5UX1JFU09VUkNFUyB9IGZyb20gJy4vZ3JhbnQtaGVscGVycyc7XG5pbXBvcnQgeyBXb3JrbG9hZElkZW50aXR5UGVybXMgfSBmcm9tICcuL3Blcm1zJztcbmltcG9ydCB7XG4gIHRocm93SWZJbnZhbGlkLFxuICB2YWxpZGF0ZUFsbG93ZWRSZXNvdXJjZU9hdXRoMlJldHVyblVybHMsXG4gIHZhbGlkYXRlQ3JlZGVudGlhbFByb3ZpZGVyVGFncyxcbiAgdmFsaWRhdGVXb3JrbG9hZElkZW50aXR5TmFtZSxcbn0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQSB3b3JrbG9hZCBpZGVudGl0eSBmb3IgQW1hem9uIEJlZHJvY2sgQWdlbnRDb3JlLlxuICpcbiAqIFJlcHJlc2VudHMgdGhlIHN0YWJsZSBpZGVudGl0eSBvZiBhbiBhZ2VudCB3aXRoaW4gYW4gYWNjb3VudCdzIGFnZW50IGlkZW50aXR5IGRpcmVjdG9yeS5cbiAqIEl0IHRpZXMgdG9nZXRoZXIgSUFNIHJvbGVzLCBPQXV0aDIgZmxvd3MsIEFQSSBrZXlzLCBhbmQgd29ya2xvYWQgYWNjZXNzIHRva2Vuc1xuICogZm9yIGNvbnNpc3RlbnQgYXV0aGVudGljYXRpb24gYWNyb3NzIGVudmlyb25tZW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iZWRyb2NrLWFnZW50Y29yZS9sYXRlc3QvZGV2Z3VpZGUvdW5kZXJzdGFuZGluZy1hZ2VudC1pZGVudGl0aWVzLmh0bWxcbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVdvcmtsb2FkSWRlbnRpdHkgZXh0ZW5kcyBJUmVzb3VyY2UsIGlhbS5JR3JhbnRhYmxlLCBJV29ya2xvYWRJZGVudGl0eVJlZiB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoaXMgd29ya2xvYWQgaWRlbnRpdHkuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtsb2FkSWRlbnRpdHlBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyB3b3JrbG9hZCBpZGVudGl0eS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2xvYWRJZGVudGl0eU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGltZXN0YW1wIHdoZW4gdGhlIHdvcmtsb2FkIGlkZW50aXR5IHdhcyBjcmVhdGVkLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkVGltZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGltZXN0YW1wIHdoZW4gdGhlIHdvcmtsb2FkIGlkZW50aXR5IHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVkVGltZT86IHN0cmluZztcblxuICAvKipcbiAgICogR3JhbnRzIElBTSBhY3Rpb25zIG9uIHRoaXMgd29ya2xvYWQgaWRlbnRpdHksIHNjb3BlZCB0byBpdHMgQVJOIGFuZCB0aGUgcGFyZW50IHJlc291cmNlc1xuICAgKiByZXF1aXJlZCBieSB0aGUgQmVkcm9jayBBZ2VudENvcmUgYXV0aG9yaXphdGlvbiBtb2RlbC5cbiAgICovXG4gIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCAuLi5hY3Rpb25zOiBzdHJpbmdbXSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogR3JhbnQgYEdldFdvcmtsb2FkSWRlbnRpdHlgIGFuZCBgTGlzdFdvcmtsb2FkSWRlbnRpdGllc2AsIHNjb3BlZCB0byB0aGlzIGlkZW50aXR5XG4gICAqIGFuZCBwYXJlbnQgcmVzb3VyY2VzIHJlcXVpcmVkIGJ5IHRoZSBCZWRyb2NrIEFnZW50Q29yZSBhdXRob3JpemF0aW9uIG1vZGVsLlxuICAgKi9cbiAgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudCBjb250cm9sIHBsYW5lIHBlcm1pc3Npb25zIHRvIG1hbmFnZSB0aGlzIHdvcmtsb2FkIGlkZW50aXR5LlxuICAgKi9cbiAgZ3JhbnRBZG1pbihncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogR3JhbnQgZGF0YSBwbGFuZSBwZXJtaXNzaW9ucyB0byBtaW50IHdvcmtsb2FkIGFjY2VzcyB0b2tlbnNcbiAgICogKGBHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuYCwgYEdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JKV1RgLCBgR2V0V29ya2xvYWRBY2Nlc3NUb2tlbkZvclVzZXJJZGApLlxuICAgKi9cbiAgZ3JhbnRVc2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEdyYW50IHJlYWQsIGxpc3QsIGFkbWluLCBhbmQgdXNlIHBlcm1pc3Npb25zLlxuICAgKi9cbiAgZ3JhbnRGdWxsQWNjZXNzKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgbmV3IHtAbGluayBXb3JrbG9hZElkZW50aXR5fS5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2xvYWRJZGVudGl0eVByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHdvcmtsb2FkIGlkZW50aXR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgbmFtZSBnZW5lcmF0ZWQgYnkgQ0RLXG4gICAqL1xuICByZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWxsb3dlZCBPQXV0aDIgcmV0dXJuIFVSTHMgZm9yIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyB3b3JrbG9hZCBpZGVudGl0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXR1cm4gVVJMc1xuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dlZFJlc291cmNlT2F1dGgyUmV0dXJuVXJscz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUYWdzIGZvciB0aGlzIHdvcmtsb2FkIGlkZW50aXR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHRhZ3NcbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIEF0dHJpYnV0ZXMgZm9yIGltcG9ydGluZyBhbiBleGlzdGluZyB3b3JrbG9hZCBpZGVudGl0eS5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2xvYWRJZGVudGl0eUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogQVJOIG9mIHRoZSB3b3JrbG9hZCBpZGVudGl0eS5cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtsb2FkSWRlbnRpdHlBcm46IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgd29ya2xvYWQgaWRlbnRpdHkuXG4gICAqL1xuICByZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBjcmVhdGlvbiB0aW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBzZXRcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZWRUaW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBsYXN0LXVwZGF0ZWQgdGltZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3Qgc2V0XG4gICAqL1xuICByZWFkb25seSBsYXN0VXBkYXRlZFRpbWU/OiBzdHJpbmc7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgIEFic3RyYWN0IGJhc2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuYWJzdHJhY3QgY2xhc3MgV29ya2xvYWRJZGVudGl0eUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElXb3JrbG9hZElkZW50aXR5IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtsb2FkSWRlbnRpdHlBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtsb2FkSWRlbnRpdHlOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjcmVhdGVkVGltZT86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGxhc3RVcGRhdGVkVGltZT86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbCA9IG5ldyBpYW0uVW5rbm93blByaW5jaXBhbCh7IHJlc291cmNlOiB0aGlzIH0pO1xuXG4gIHB1YmxpYyBnZXQgd29ya2xvYWRJZGVudGl0eVJlZigpOiBXb3JrbG9hZElkZW50aXR5UmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgd29ya2xvYWRJZGVudGl0eU5hbWU6IHRoaXMud29ya2xvYWRJZGVudGl0eU5hbWUsXG4gICAgICB3b3JrbG9hZElkZW50aXR5QXJuOiB0aGlzLndvcmtsb2FkSWRlbnRpdHlBcm4sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogUmVzb3VyY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKi9cbiAgcHVibGljIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCAuLi5hY3Rpb25zOiBzdHJpbmdbXSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9ucyxcbiAgICAgIHJlc291cmNlQXJuczogYnVpbGRJZGVudGl0eVJlc291cmNlQXJucyh0aGlzLCB0aGlzLndvcmtsb2FkSWRlbnRpdHlBcm4sIFdPUktMT0FEX0lERU5USVRZX1BBUkVOVF9SRVNPVVJDRVMpLFxuICAgICAgc2NvcGU6IHRoaXMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gZ3JhbnRSZWFkV2l0aExpc3QoXG4gICAgICB0aGlzLFxuICAgICAgZ3JhbnRlZSxcbiAgICAgIHRoaXMud29ya2xvYWRJZGVudGl0eUFybixcbiAgICAgIFsuLi5Xb3JrbG9hZElkZW50aXR5UGVybXMuUkVBRF9QRVJNU10sXG4gICAgICBbLi4uV29ya2xvYWRJZGVudGl0eVBlcm1zLkxJU1RfUEVSTVNdLFxuICAgICAgV09SS0xPQURfSURFTlRJVFlfUEFSRU5UX1JFU09VUkNFUyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKi9cbiAgcHVibGljIGdyYW50QWRtaW4oZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmdyYW50KGdyYW50ZWUsIC4uLldvcmtsb2FkSWRlbnRpdHlQZXJtcy5BRE1JTl9QRVJNUyk7XG4gIH1cblxuICAvKipcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRVc2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmdyYW50KGdyYW50ZWUsIC4uLldvcmtsb2FkSWRlbnRpdHlQZXJtcy5VU0VfUEVSTVMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKi9cbiAgcHVibGljIGdyYW50RnVsbEFjY2VzcyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogWy4uLldvcmtsb2FkSWRlbnRpdHlQZXJtcy5GVUxMX0FDQ0VTU19QRVJNU10sXG4gICAgICByZXNvdXJjZUFybnM6IGJ1aWxkSWRlbnRpdHlSZXNvdXJjZUFybnModGhpcywgdGhpcy53b3JrbG9hZElkZW50aXR5QXJuLCBXT1JLTE9BRF9JREVOVElUWV9QQVJFTlRfUkVTT1VSQ0VTKSxcbiAgICAgIHNjb3BlOiB0aGlzLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGFzc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEwyIGNvbnN0cnVjdCBmb3IgYEFXUzo6QmVkcm9ja0FnZW50Q29yZTo6V29ya2xvYWRJZGVudGl0eWAuXG4gKlxuICogQSB3b3JrbG9hZCBpZGVudGl0eSBpcyB0aGUgc3RhYmxlIGlkZW50aXR5IG9mIGFuIGFnZW50IGluIGFuIEFXUyBhY2NvdW50LiBJdCB0aWVzIHRvZ2V0aGVyXG4gKiBJQU0gcm9sZXMsIE9BdXRoMiBmbG93cywgQVBJIGtleXMsIGFuZCB3b3JrbG9hZCBhY2Nlc3MgdG9rZW5zIGZvciBjb25zaXN0ZW50IGF1dGhlbnRpY2F0aW9uXG4gKiBhY3Jvc3MgZW52aXJvbm1lbnRzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWJlZHJvY2thZ2VudGNvcmUtd29ya2xvYWRpZGVudGl0eS5odG1sXG4gKiBAcmVzb3VyY2UgQVdTOjpCZWRyb2NrQWdlbnRDb3JlOjpXb3JrbG9hZElkZW50aXR5XG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbi8qKlxuICogVGhpcyBBUEkgaGFzIGJlZW4gZ3JhZHVhdGVkIHRvIHN0YWJsZS5cbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgZXF1aXZhbGVudCBjb25zdHJ1Y3QgZnJvbSBgYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmVgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3JrbG9hZElkZW50aXR5IGV4dGVuZHMgV29ya2xvYWRJZGVudGl0eUJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1iZWRyb2NrLWFnZW50Y29yZS1hbHBoYS5Xb3JrbG9hZElkZW50aXR5JztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIHdvcmtsb2FkIGlkZW50aXR5LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2xvYWRJZGVudGl0eUF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBXb3JrbG9hZElkZW50aXR5QXR0cmlidXRlcyxcbiAgKTogSVdvcmtsb2FkSWRlbnRpdHkge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFdvcmtsb2FkSWRlbnRpdHlCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSB3b3JrbG9hZElkZW50aXR5QXJuID0gYXR0cnMud29ya2xvYWRJZGVudGl0eUFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZSA9IGF0dHJzLndvcmtsb2FkSWRlbnRpdHlOYW1lO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGNyZWF0ZWRUaW1lID0gYXR0cnMuY3JlYXRlZFRpbWU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbGFzdFVwZGF0ZWRUaW1lID0gYXR0cnMubGFzdFVwZGF0ZWRUaW1lO1xuXG4gICAgICBjb25zdHJ1Y3RvcihzOiBDb25zdHJ1Y3QsIGk6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzLCBpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3b3JrbG9hZElkZW50aXR5QXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB3b3JrbG9hZElkZW50aXR5TmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2NyZWF0ZWRUaW1lPzogc3RyaW5nO1xuICBwcml2YXRlIF9sYXN0VXBkYXRlZFRpbWU/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc291cmNlOiBDZm5Xb3JrbG9hZElkZW50aXR5O1xuXG4gIHB1YmxpYyBnZXQgY3JlYXRlZFRpbWUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5fY3JlYXRlZFRpbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY3JlYXRlZFRpbWUgPSBUb2tlbi5hc1N0cmluZyh0aGlzLl9yZXNvdXJjZS5hdHRyQ3JlYXRlZFRpbWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlZFRpbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RVcGRhdGVkVGltZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLl9sYXN0VXBkYXRlZFRpbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fbGFzdFVwZGF0ZWRUaW1lID0gVG9rZW4uYXNTdHJpbmcodGhpcy5fcmVzb3VyY2UuYXR0ckxhc3RVcGRhdGVkVGltZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9sYXN0VXBkYXRlZFRpbWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogV29ya2xvYWRJZGVudGl0eVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMud29ya2xvYWRJZGVudGl0eU5hbWVcbiAgICAgICAgPz8gTGF6eS5zdHJpbmcoe1xuICAgICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMjU1IH0pLFxuICAgICAgICB9KSxcbiAgICB9KTtcblxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMud29ya2xvYWRJZGVudGl0eU5hbWUgPSB0aGlzLnBoeXNpY2FsTmFtZTtcblxuICAgIHRocm93SWZJbnZhbGlkKHZhbGlkYXRlV29ya2xvYWRJZGVudGl0eU5hbWUsIHRoaXMud29ya2xvYWRJZGVudGl0eU5hbWUsIHRoaXMpO1xuICAgIHRocm93SWZJbnZhbGlkKHZhbGlkYXRlQWxsb3dlZFJlc291cmNlT2F1dGgyUmV0dXJuVXJscywgcHJvcHMuYWxsb3dlZFJlc291cmNlT2F1dGgyUmV0dXJuVXJscywgdGhpcyk7XG4gICAgdGhyb3dJZkludmFsaWQodmFsaWRhdGVDcmVkZW50aWFsUHJvdmlkZXJUYWdzLCBwcm9wcy50YWdzLCB0aGlzKTtcblxuICAgIGNvbnN0IGNmblByb3BzOiBDZm5Xb3JrbG9hZElkZW50aXR5UHJvcHMgPSB7XG4gICAgICBuYW1lOiB0aGlzLndvcmtsb2FkSWRlbnRpdHlOYW1lLFxuICAgICAgYWxsb3dlZFJlc291cmNlT2F1dGgyUmV0dXJuVXJsczogcHJvcHMuYWxsb3dlZFJlc291cmNlT2F1dGgyUmV0dXJuVXJscyxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MgJiYgT2JqZWN0LmtleXMocHJvcHMudGFncykubGVuZ3RoID4gMFxuICAgICAgICA/IE9iamVjdC5lbnRyaWVzKHByb3BzLnRhZ3MpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoeyBrZXksIHZhbHVlIH0pKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgdGhpcy5fcmVzb3VyY2UgPSBuZXcgQ2ZuV29ya2xvYWRJZGVudGl0eSh0aGlzLCAnUmVzb3VyY2UnLCBjZm5Qcm9wcyk7XG5cbiAgICB0aGlzLndvcmtsb2FkSWRlbnRpdHlBcm4gPSB0aGlzLl9yZXNvdXJjZS5hdHRyV29ya2xvYWRJZGVudGl0eUFybjtcbiAgfVxufVxuIl19
@@ -22,15 +22,18 @@ import { SelfManagedMemoryStrategy } from './strategies/self-managed-strategy';
22
22
  /**
23
23
  * Minimum length for memory strategy name
24
24
  * @internal
25
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
25
26
  */
26
27
  export declare const MEMORY_NAME_MIN_LENGTH = 1;
27
28
  /**
28
29
  * Maximum length for memory strategy name
29
30
  * @internal
31
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
30
32
  */
31
33
  export declare const MEMORY_NAME_MAX_LENGTH = 48;
32
34
  /**
33
35
  * Long-term memory extraction strategy types.
36
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
34
37
  */
35
38
  export declare enum MemoryStrategyType {
36
39
  /**
@@ -60,6 +63,7 @@ export declare enum MemoryStrategyType {
60
63
  *****************************************************************************/
61
64
  /**
62
65
  * Configuration parameters common for any memory strategy
66
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
63
67
  */
64
68
  export interface MemoryStrategyCommonProps {
65
69
  /**
@@ -77,6 +81,7 @@ export interface MemoryStrategyCommonProps {
77
81
  *****************************************************************************/
78
82
  /**
79
83
  * Interface for Memory strategies
84
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
80
85
  */
81
86
  export interface IMemoryStrategy {
82
87
  /**
@@ -111,6 +116,7 @@ export interface IMemoryStrategy {
111
116
  * Use built-in strategies for quick setup, use built-in strategies with override to specify models and prompt templates.
112
117
  *
113
118
  * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory-strategies.html
119
+ * @deprecated Use the equivalent construct from `aws-cdk-lib/aws-bedrockagentcore` instead.
114
120
  */
115
121
  export declare class MemoryStrategy {
116
122
  /**