@cdktn/provider-newrelic 17.0.0 → 17.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/.jsii +3380 -2887
  2. package/README.md +3 -3
  3. package/lib/account-management/index.d.ts +10 -10
  4. package/lib/account-management/index.js +7 -7
  5. package/lib/alert-channel/index.d.ts +30 -30
  6. package/lib/alert-channel/index.js +7 -7
  7. package/lib/alert-compound-condition/index.d.ts +19 -19
  8. package/lib/alert-compound-condition/index.js +9 -9
  9. package/lib/alert-condition/index.d.ts +23 -23
  10. package/lib/alert-condition/index.js +8 -8
  11. package/lib/alert-muting-rule/index.d.ts +23 -23
  12. package/lib/alert-muting-rule/index.js +10 -10
  13. package/lib/alert-policy/index.d.ts +8 -8
  14. package/lib/alert-policy/index.js +6 -6
  15. package/lib/alert-policy-channel/index.d.ts +9 -9
  16. package/lib/alert-policy-channel/index.js +7 -7
  17. package/lib/api-access-key/index.d.ts +10 -10
  18. package/lib/api-access-key/index.js +6 -6
  19. package/lib/application-settings/index.d.ts +27 -27
  20. package/lib/application-settings/index.js +13 -13
  21. package/lib/aws-connection/index.d.ts +22 -22
  22. package/lib/aws-connection/index.js +12 -12
  23. package/lib/browser-application/index.d.ts +12 -12
  24. package/lib/browser-application/index.js +7 -7
  25. package/lib/cardinality-management/index.d.ts +9 -9
  26. package/lib/cardinality-management/index.js +8 -8
  27. package/lib/cloud-aws-eu-sovereign-integrations/index.d.ts +14 -14
  28. package/lib/cloud-aws-eu-sovereign-integrations/index.js +9 -9
  29. package/lib/cloud-aws-eu-sovereign-link-account/index.d.ts +8 -8
  30. package/lib/cloud-aws-eu-sovereign-link-account/index.js +6 -6
  31. package/lib/cloud-aws-govcloud-integrations/index.d.ts +110 -110
  32. package/lib/cloud-aws-govcloud-integrations/index.js +26 -26
  33. package/lib/cloud-aws-govcloud-link-account/index.d.ts +8 -8
  34. package/lib/cloud-aws-govcloud-link-account/index.js +6 -6
  35. package/lib/cloud-aws-integrations/index.d.ts +234 -234
  36. package/lib/cloud-aws-integrations/index.js +60 -60
  37. package/lib/cloud-aws-link-account/index.d.ts +8 -8
  38. package/lib/cloud-aws-link-account/index.js +6 -6
  39. package/lib/cloud-azure-integrations/index.d.ts +110 -110
  40. package/lib/cloud-azure-integrations/index.js +39 -39
  41. package/lib/cloud-azure-link-account/index.d.ts +10 -10
  42. package/lib/cloud-azure-link-account/index.js +6 -6
  43. package/lib/cloud-gcp-dm-integrations/index.d.ts +76 -76
  44. package/lib/cloud-gcp-dm-integrations/index.js +41 -41
  45. package/lib/cloud-gcp-integrations/index.d.ts +62 -62
  46. package/lib/cloud-gcp-integrations/index.js +32 -32
  47. package/lib/cloud-gcp-link-account/index.d.ts +10 -10
  48. package/lib/cloud-gcp-link-account/index.js +6 -6
  49. package/lib/cloud-oci-link-account/index.d.ts +20 -20
  50. package/lib/cloud-oci-link-account/index.js +6 -6
  51. package/lib/data-newrelic-account/index.d.ts +7 -7
  52. package/lib/data-newrelic-account/index.js +6 -6
  53. package/lib/data-newrelic-alert-channel/index.d.ts +6 -6
  54. package/lib/data-newrelic-alert-channel/index.js +8 -8
  55. package/lib/data-newrelic-alert-policy/index.d.ts +7 -7
  56. package/lib/data-newrelic-alert-policy/index.js +6 -6
  57. package/lib/data-newrelic-api-access-key/index.d.ts +10 -10
  58. package/lib/data-newrelic-api-access-key/index.js +6 -6
  59. package/lib/data-newrelic-application/index.d.ts +5 -5
  60. package/lib/data-newrelic-application/index.js +6 -6
  61. package/lib/data-newrelic-authentication-domain/index.d.ts +4 -4
  62. package/lib/data-newrelic-authentication-domain/index.js +6 -6
  63. package/lib/data-newrelic-cloud-account/index.d.ts +8 -8
  64. package/lib/data-newrelic-cloud-account/index.js +6 -6
  65. package/lib/data-newrelic-entity/index.d.ts +14 -14
  66. package/lib/data-newrelic-entity/index.js +8 -8
  67. package/lib/data-newrelic-fleet-configuration/index.d.ts +8 -8
  68. package/lib/data-newrelic-fleet-configuration/index.js +6 -6
  69. package/lib/data-newrelic-fleet-members/index.d.ts +6 -6
  70. package/lib/data-newrelic-fleet-members/index.js +8 -8
  71. package/lib/data-newrelic-group/index.d.ts +5 -5
  72. package/lib/data-newrelic-group/index.js +6 -6
  73. package/lib/data-newrelic-key-transaction/index.d.ts +7 -7
  74. package/lib/data-newrelic-key-transaction/index.js +6 -6
  75. package/lib/data-newrelic-notebook/index.d.ts +6 -6
  76. package/lib/data-newrelic-notebook/index.js +6 -6
  77. package/lib/data-newrelic-notification-destination/index.d.ts +12 -12
  78. package/lib/data-newrelic-notification-destination/index.js +11 -11
  79. package/lib/data-newrelic-obfuscation-expression/index.d.ts +6 -6
  80. package/lib/data-newrelic-obfuscation-expression/index.js +6 -6
  81. package/lib/data-newrelic-service-level-alert-helper/index.d.ts +11 -11
  82. package/lib/data-newrelic-service-level-alert-helper/index.js +6 -6
  83. package/lib/data-newrelic-synthetics-private-location/index.d.ts +7 -7
  84. package/lib/data-newrelic-synthetics-private-location/index.js +6 -6
  85. package/lib/data-newrelic-synthetics-secure-credential/index.d.ts +6 -6
  86. package/lib/data-newrelic-synthetics-secure-credential/index.js +6 -6
  87. package/lib/data-newrelic-teams-hierarchy-levels/index.d.ts +4 -4
  88. package/lib/data-newrelic-teams-hierarchy-levels/index.js +8 -8
  89. package/lib/data-newrelic-test-grok-pattern/index.d.ts +7 -7
  90. package/lib/data-newrelic-test-grok-pattern/index.js +10 -10
  91. package/lib/data-newrelic-user/index.d.ts +6 -6
  92. package/lib/data-newrelic-user/index.js +6 -6
  93. package/lib/data-partition-rule/index.d.ts +12 -12
  94. package/lib/data-partition-rule/index.js +7 -7
  95. package/lib/entity-tags/index.d.ts +10 -10
  96. package/lib/entity-tags/index.js +9 -9
  97. package/lib/events-to-metrics-rule/index.d.ts +9 -9
  98. package/lib/events-to-metrics-rule/index.js +6 -6
  99. package/lib/federated-logs-partition/index.d.ts +20 -20
  100. package/lib/federated-logs-partition/index.js +19 -19
  101. package/lib/federated-logs-setup/index.d.ts +29 -29
  102. package/lib/federated-logs-setup/index.js +22 -22
  103. package/lib/fleet/index.d.ts +10 -10
  104. package/lib/fleet/index.js +6 -6
  105. package/lib/fleet-configuration/index.d.ts +12 -12
  106. package/lib/fleet-configuration/index.js +6 -6
  107. package/lib/fleet-deployment/index.d.ts +13 -13
  108. package/lib/fleet-deployment/index.js +8 -8
  109. package/lib/fleet-members/index.d.ts +8 -8
  110. package/lib/fleet-members/index.js +8 -8
  111. package/lib/group/index.d.ts +7 -7
  112. package/lib/group/index.js +6 -6
  113. package/lib/index.d.ts +1 -0
  114. package/lib/index.js +4 -3
  115. package/lib/infra-alert-condition/index.d.ts +25 -25
  116. package/lib/infra-alert-condition/index.js +8 -8
  117. package/lib/insights-event/index.d.ts +11 -11
  118. package/lib/insights-event/index.js +10 -10
  119. package/lib/key-transaction/index.d.ts +9 -9
  120. package/lib/key-transaction/index.js +6 -6
  121. package/lib/lazy-index.js +2 -1
  122. package/lib/log-parsing-rule/index.d.ts +12 -12
  123. package/lib/log-parsing-rule/index.js +6 -6
  124. package/lib/metric-pruning-rule/index.d.ts +7 -7
  125. package/lib/metric-pruning-rule/index.js +6 -6
  126. package/lib/monitor-downtime/index.d.ts +20 -20
  127. package/lib/monitor-downtime/index.js +9 -9
  128. package/lib/notebook/index.d.ts +10 -10
  129. package/lib/notebook/index.js +7 -7
  130. package/lib/notification-channel/index.d.ts +18 -18
  131. package/lib/notification-channel/index.js +9 -9
  132. package/lib/notification-destination/index.d.ts +31 -31
  133. package/lib/notification-destination/index.js +15 -15
  134. package/lib/nrql-alert-condition/index.d.ts +79 -79
  135. package/lib/nrql-alert-condition/index.js +17 -17
  136. package/lib/nrql-drop-rule/index.d.ts +10 -10
  137. package/lib/nrql-drop-rule/index.js +7 -7
  138. package/lib/nrql-macro/index.d.ts +80 -0
  139. package/lib/nrql-macro/index.js +196 -0
  140. package/lib/obfuscation-expression/index.d.ts +8 -8
  141. package/lib/obfuscation-expression/index.js +6 -6
  142. package/lib/obfuscation-rule/index.d.ts +13 -13
  143. package/lib/obfuscation-rule/index.js +8 -8
  144. package/lib/one-dashboard/index-structs/structs0.d.ts +364 -364
  145. package/lib/one-dashboard/index-structs/structs0.js +185 -185
  146. package/lib/one-dashboard/index-structs/structs400.d.ts +286 -286
  147. package/lib/one-dashboard/index-structs/structs400.js +130 -130
  148. package/lib/one-dashboard/index.d.ts +10 -10
  149. package/lib/one-dashboard/index.js +6 -6
  150. package/lib/one-dashboard-json/index.d.ts +9 -9
  151. package/lib/one-dashboard-json/index.js +7 -7
  152. package/lib/one-dashboard-raw/index.d.ts +20 -20
  153. package/lib/one-dashboard-raw/index.js +10 -10
  154. package/lib/pathpoint-flow/index.d.ts +72 -72
  155. package/lib/pathpoint-flow/index.js +29 -29
  156. package/lib/pipeline-cloud-rule/index.d.ts +8 -8
  157. package/lib/pipeline-cloud-rule/index.js +6 -6
  158. package/lib/provider/index.d.ts +17 -17
  159. package/lib/provider/index.js +6 -6
  160. package/lib/scorecard/index.d.ts +17 -17
  161. package/lib/scorecard/index.js +11 -11
  162. package/lib/scorecard-rule/index.d.ts +20 -20
  163. package/lib/scorecard-rule/index.js +10 -10
  164. package/lib/service-level/index.d.ts +49 -38
  165. package/lib/service-level/index.js +44 -16
  166. package/lib/synthetics-alert-condition/index.d.ts +9 -9
  167. package/lib/synthetics-alert-condition/index.js +6 -6
  168. package/lib/synthetics-broken-links-monitor/index.d.ts +17 -17
  169. package/lib/synthetics-broken-links-monitor/index.js +8 -8
  170. package/lib/synthetics-cert-check-monitor/index.d.ts +18 -18
  171. package/lib/synthetics-cert-check-monitor/index.js +8 -8
  172. package/lib/synthetics-monitor/index.d.ts +31 -31
  173. package/lib/synthetics-monitor/index.js +10 -10
  174. package/lib/synthetics-multilocation-alert-condition/index.d.ts +14 -14
  175. package/lib/synthetics-multilocation-alert-condition/index.js +8 -8
  176. package/lib/synthetics-private-location/index.d.ts +9 -9
  177. package/lib/synthetics-private-location/index.js +6 -6
  178. package/lib/synthetics-script-monitor/index.d.ts +26 -26
  179. package/lib/synthetics-script-monitor/index.js +10 -10
  180. package/lib/synthetics-secure-credential/index.d.ts +11 -11
  181. package/lib/synthetics-secure-credential/index.js +7 -7
  182. package/lib/synthetics-step-monitor/index.d.ts +25 -25
  183. package/lib/synthetics-step-monitor/index.js +12 -12
  184. package/lib/team/index.d.ts +23 -23
  185. package/lib/team/index.js +11 -11
  186. package/lib/teams-organization-settings/index.d.ts +14 -14
  187. package/lib/teams-organization-settings/index.js +11 -11
  188. package/lib/user/index.d.ts +8 -8
  189. package/lib/user/index.js +6 -6
  190. package/lib/workflow/index.d.ts +26 -26
  191. package/lib/workflow/index.js +16 -16
  192. package/lib/workflow-automation/index.d.ts +8 -8
  193. package/lib/workflow-automation/index.js +6 -6
  194. package/lib/workload/index.d.ts +37 -37
  195. package/lib/workload/index.js +20 -20
  196. package/package.json +3 -3
package/lib/lazy-index.js CHANGED
@@ -50,6 +50,7 @@ Object.defineProperty(exports, 'notificationChannel', { get: function () { retur
50
50
  Object.defineProperty(exports, 'notificationDestination', { get: function () { return require('./notification-destination'); } });
51
51
  Object.defineProperty(exports, 'nrqlAlertCondition', { get: function () { return require('./nrql-alert-condition'); } });
52
52
  Object.defineProperty(exports, 'nrqlDropRule', { get: function () { return require('./nrql-drop-rule'); } });
53
+ Object.defineProperty(exports, 'nrqlMacro', { get: function () { return require('./nrql-macro'); } });
53
54
  Object.defineProperty(exports, 'obfuscationExpression', { get: function () { return require('./obfuscation-expression'); } });
54
55
  Object.defineProperty(exports, 'obfuscationRule', { get: function () { return require('./obfuscation-rule'); } });
55
56
  Object.defineProperty(exports, 'oneDashboard', { get: function () { return require('./one-dashboard'); } });
@@ -97,4 +98,4 @@ Object.defineProperty(exports, 'dataNewrelicTeamsHierarchyLevels', { get: functi
97
98
  Object.defineProperty(exports, 'dataNewrelicTestGrokPattern', { get: function () { return require('./data-newrelic-test-grok-pattern'); } });
98
99
  Object.defineProperty(exports, 'dataNewrelicUser', { get: function () { return require('./data-newrelic-user'); } });
99
100
  Object.defineProperty(exports, 'provider', { get: function () { return require('./provider'); } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9sYXp5LWluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBRUgseUJBQXlCO0FBQ3pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEgsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDNUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxPQUFPLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNqSSxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxjQUFjLE9BQU8sT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2hILE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbkgsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDMUcsTUFBTSxDQUFDLGNB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QUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzlKLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMsNkNBQTZDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDakssTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxPQUFPLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNuSyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxFQUFFLEdBQUcsRUFBRSxjQUFjLE9BQU8sT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZKLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDN0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxPQUFPLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNySCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAyMSwgMjAyNlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG4vLyBnZW5lcmF0ZWQgYnkgY2RrdG4gZ2V0XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2FjY291bnRNYW5hZ2VtZW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vYWNjb3VudC1tYW5hZ2VtZW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2FsZXJ0Q2hhbm5lbCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2FsZXJ0LWNoYW5uZWwnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnYWxlcnRDb21wb3VuZENvbmRpdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2FsZXJ0LWNvbXBvdW5kLWNvbmRpdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdhbGVydENvbmRpdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2FsZXJ0LWNvbmRpdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdhbGVydE11dGluZ1J1bGUnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9hbGVydC1tdXRpbmctcnVsZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdhbGVydFBvbGljeScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2FsZXJ0LXBvbGljeScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdhbGVydFBvbGljeUNoYW5uZWwnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9hbGVydC1wb2xpY3ktY2hhbm5lbCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdhcGlBY2Nlc3NLZXknLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9hcGktYWNjZXNzLWtleScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdhcHBsaWNhdGlvblNldHRpbmdzJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vYXBwbGljYXRpb24tc2V0dGluZ3MnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnYXdzQ29ubmVjdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2F3cy1jb25uZWN0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Jyb3dzZXJBcHBsaWNhdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2Jyb3dzZXItYXBwbGljYXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2FyZGluYWxpdHlNYW5hZ2VtZW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vY2FyZGluYWxpdHktbWFuYWdlbWVudCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdjbG91ZEF3c0V1U292ZXJlaWduSW50ZWdyYXRpb25zJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vY2xvdWQtYXdzLWV1LXNvdmVyZWlnbi1pbnRlZ3JhdGlvbnMnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRBd3NFdVNvdmVyZWlnbkxpbmtBY2NvdW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vY2xvdWQtYXdzLWV1LXNvdmVyZWlnbi1saW5rLWFjY291bnQnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRBd3NHb3ZjbG91ZEludGVncmF0aW9ucycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2Nsb3VkLWF3cy1nb3ZjbG91ZC1pbnRlZ3JhdGlvbnMnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRBd3NHb3ZjbG91ZExpbmtBY2NvdW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vY2xvdWQtYXdzLWdvdmNsb3VkLWxpbmstYWNjb3VudCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdjbG91ZEF3c0ludGVncmF0aW9ucycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2Nsb3VkLWF3cy1pbnRlZ3JhdGlvbnMnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRBd3NMaW5rQWNjb3VudCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2Nsb3VkLWF3cy1saW5rLWFjY291bnQnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRBenVyZUludGVncmF0aW9ucycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2Nsb3VkLWF6dXJlLWludGVncmF0aW9ucycpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdjbG91ZEF6dXJlTGlua0FjY291bnQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9jbG91ZC1henVyZS1saW5rLWFjY291bnQnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRHY3BEbUludGVncmF0aW9ucycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2Nsb3VkLWdjcC1kbS1pbnRlZ3JhdGlvbnMnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRHY3BJbnRlZ3JhdGlvbnMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9jbG91ZC1nY3AtaW50ZWdyYXRpb25zJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Nsb3VkR2NwTGlua0FjY291bnQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9jbG91ZC1nY3AtbGluay1hY2NvdW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Nsb3VkT2NpTGlua0FjY291bnQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9jbG91ZC1vY2ktbGluay1hY2NvdW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFQYXJ0aXRpb25SdWxlJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1wYXJ0aXRpb24tcnVsZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdlbnRpdHlUYWdzJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZW50aXR5LXRhZ3MnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZXZlbnRzVG9NZXRyaWNzUnVsZScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2V2ZW50cy10by1tZXRyaWNzLXJ1bGUnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZmVkZXJhdGVkTG9nc1BhcnRpdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2ZlZGVyYXRlZC1sb2dzLXBhcnRpdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdmZWRlcmF0ZWRMb2dzU2V0dXAnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9mZWRlcmF0ZWQtbG9ncy1zZXR1cCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdmbGVldCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2ZsZWV0Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2ZsZWV0Q29uZmlndXJhdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2ZsZWV0LWNvbmZpZ3VyYXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZmxlZXREZXBsb3ltZW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZmxlZXQtZGVwbG95bWVudCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdmbGVldE1lbWJlcnMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9mbGVldC1tZW1iZXJzJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2dyb3VwJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZ3JvdXAnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnaW5mcmFBbGVydENvbmRpdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2luZnJhLWFsZXJ0LWNvbmRpdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdpbnNpZ2h0c0V2ZW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vaW5zaWdodHMtZXZlbnQnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAna2V5VHJhbnNhY3Rpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9rZXktdHJhbnNhY3Rpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnbG9nUGFyc2luZ1J1bGUnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9sb2ctcGFyc2luZy1ydWxlJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ21ldHJpY1BydW5pbmdSdWxlJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vbWV0cmljLXBydW5pbmctcnVsZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdtb25pdG9yRG93bnRpbWUnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9tb25pdG9yLWRvd250aW1lJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ25vdGVib29rJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vbm90ZWJvb2snKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnbm90aWZpY2F0aW9uQ2hhbm5lbCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL25vdGlmaWNhdGlvbi1jaGFubmVsJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ25vdGlmaWNhdGlvbkRlc3RpbmF0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vbm90aWZpY2F0aW9uLWRlc3RpbmF0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ25ycWxBbGVydENvbmRpdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL25ycWwtYWxlcnQtY29uZGl0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ25ycWxEcm9wUnVsZScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL25ycWwtZHJvcC1ydWxlJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ29iZnVzY2F0aW9uRXhwcmVzc2lvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL29iZnVzY2F0aW9uLWV4cHJlc3Npb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnb2JmdXNjYXRpb25SdWxlJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vb2JmdXNjYXRpb24tcnVsZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdvbmVEYXNoYm9hcmQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9vbmUtZGFzaGJvYXJkJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ29uZURhc2hib2FyZEpzb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9vbmUtZGFzaGJvYXJkLWpzb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnb25lRGFzaGJvYXJkUmF3JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vb25lLWRhc2hib2FyZC1yYXcnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAncGF0aHBvaW50RmxvdycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3BhdGhwb2ludC1mbG93Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3BpcGVsaW5lQ2xvdWRSdWxlJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vcGlwZWxpbmUtY2xvdWQtcnVsZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzY29yZWNhcmQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9zY29yZWNhcmQnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc2NvcmVjYXJkUnVsZScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3Njb3JlY2FyZC1ydWxlJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3NlcnZpY2VMZXZlbCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3NlcnZpY2UtbGV2ZWwnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc3ludGhldGljc0FsZXJ0Q29uZGl0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1hbGVydC1jb25kaXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc3ludGhldGljc0Jyb2tlbkxpbmtzTW9uaXRvcicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3N5bnRoZXRpY3MtYnJva2VuLWxpbmtzLW1vbml0b3InKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc3ludGhldGljc0NlcnRDaGVja01vbml0b3InLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9zeW50aGV0aWNzLWNlcnQtY2hlY2stbW9uaXRvcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzeW50aGV0aWNzTW9uaXRvcicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3N5bnRoZXRpY3MtbW9uaXRvcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzeW50aGV0aWNzTXVsdGlsb2NhdGlvbkFsZXJ0Q29uZGl0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1tdWx0aWxvY2F0aW9uLWFsZXJ0LWNvbmRpdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzeW50aGV0aWNzUHJpdmF0ZUxvY2F0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1wcml2YXRlLWxvY2F0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3N5bnRoZXRpY3NTY3JpcHRNb25pdG9yJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1zY3JpcHQtbW9uaXRvcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3N5bnRoZXRpY3Mtc2VjdXJlLWNyZWRlbnRpYWwnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc3ludGhldGljc1N0ZXBNb25pdG9yJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1zdGVwLW1vbml0b3InKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAndGVhbScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3RlYW0nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAndGVhbXNPcmdhbml6YXRpb25TZXR0aW5ncycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3RlYW1zLW9yZ2FuaXphdGlvbi1zZXR0aW5ncycpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICd1c2VyJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vdXNlcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICd3b3JrZmxvdycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3dvcmtmbG93Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3dvcmtmbG93QXV0b21hdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3dvcmtmbG93LWF1dG9tYXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnd29ya2xvYWQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi93b3JrbG9hZCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNBY2NvdW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1hY2NvdW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0FsZXJ0Q2hhbm5lbCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtYWxlcnQtY2hhbm5lbCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNBbGVydFBvbGljeScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtYWxlcnQtcG9saWN5Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0FwaUFjY2Vzc0tleScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtYXBpLWFjY2Vzcy1rZXknKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljQXBwbGljYXRpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLWFwcGxpY2F0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0F1dGhlbnRpY2F0aW9uRG9tYWluJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1hdXRoZW50aWNhdGlvbi1kb21haW4nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljQ2xvdWRBY2NvdW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1jbG91ZC1hY2NvdW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0VudGl0eScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtZW50aXR5Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0ZsZWV0Q29uZmlndXJhdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtZmxlZXQtY29uZmlndXJhdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNGbGVldE1lbWJlcnMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLWZsZWV0LW1lbWJlcnMnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljR3JvdXAnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLWdyb3VwJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0tleVRyYW5zYWN0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1rZXktdHJhbnNhY3Rpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljTm90ZWJvb2snLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLW5vdGVib29rJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY05vdGlmaWNhdGlvbkRlc3RpbmF0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1ub3RpZmljYXRpb24tZGVzdGluYXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljT2JmdXNjYXRpb25FeHByZXNzaW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1vYmZ1c2NhdGlvbi1leHByZXNzaW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY1NlcnZpY2VMZXZlbEFsZXJ0SGVscGVyJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1zZXJ2aWNlLWxldmVsLWFsZXJ0LWhlbHBlcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNTeW50aGV0aWNzUHJpdmF0ZUxvY2F0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1zeW50aGV0aWNzLXByaXZhdGUtbG9jYXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljU3ludGhldGljc1NlY3VyZUNyZWRlbnRpYWwnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLXN5bnRoZXRpY3Mtc2VjdXJlLWNyZWRlbnRpYWwnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljVGVhbXNIaWVyYXJjaHlMZXZlbHMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLXRlYW1zLWhpZXJhcmNoeS1sZXZlbHMnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljVGVzdEdyb2tQYXR0ZXJuJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy10ZXN0LWdyb2stcGF0dGVybicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNVc2VyJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy11c2VyJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3Byb3ZpZGVyJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vcHJvdmlkZXInKTsgfSB9KTtcblxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9sYXp5LWluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBRUgseUJBQXlCO0FBQ3pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEgsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDNUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxPQUFPLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNqSSxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxjQUFjLE9BQU8sT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2hILE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbkgsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDMUcsTUFBTSxDQUFDLGNB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cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMjEsIDIwMjZcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuLy8gZ2VuZXJhdGVkIGJ5IGNka3RuIGdldFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdhY2NvdW50TWFuYWdlbWVudCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2FjY291bnQtbWFuYWdlbWVudCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdhbGVydENoYW5uZWwnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9hbGVydC1jaGFubmVsJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2FsZXJ0Q29tcG91bmRDb25kaXRpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9hbGVydC1jb21wb3VuZC1jb25kaXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnYWxlcnRDb25kaXRpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9hbGVydC1jb25kaXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnYWxlcnRNdXRpbmdSdWxlJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vYWxlcnQtbXV0aW5nLXJ1bGUnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnYWxlcnRQb2xpY3knLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9hbGVydC1wb2xpY3knKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnYWxlcnRQb2xpY3lDaGFubmVsJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vYWxlcnQtcG9saWN5LWNoYW5uZWwnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnYXBpQWNjZXNzS2V5JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vYXBpLWFjY2Vzcy1rZXknKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnYXBwbGljYXRpb25TZXR0aW5ncycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2FwcGxpY2F0aW9uLXNldHRpbmdzJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2F3c0Nvbm5lY3Rpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9hd3MtY29ubmVjdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdicm93c2VyQXBwbGljYXRpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9icm93c2VyLWFwcGxpY2F0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2NhcmRpbmFsaXR5TWFuYWdlbWVudCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2NhcmRpbmFsaXR5LW1hbmFnZW1lbnQnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRBd3NFdVNvdmVyZWlnbkludGVncmF0aW9ucycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2Nsb3VkLWF3cy1ldS1zb3ZlcmVpZ24taW50ZWdyYXRpb25zJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Nsb3VkQXdzRXVTb3ZlcmVpZ25MaW5rQWNjb3VudCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2Nsb3VkLWF3cy1ldS1zb3ZlcmVpZ24tbGluay1hY2NvdW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Nsb3VkQXdzR292Y2xvdWRJbnRlZ3JhdGlvbnMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9jbG91ZC1hd3MtZ292Y2xvdWQtaW50ZWdyYXRpb25zJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Nsb3VkQXdzR292Y2xvdWRMaW5rQWNjb3VudCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2Nsb3VkLWF3cy1nb3ZjbG91ZC1saW5rLWFjY291bnQnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRBd3NJbnRlZ3JhdGlvbnMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9jbG91ZC1hd3MtaW50ZWdyYXRpb25zJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Nsb3VkQXdzTGlua0FjY291bnQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9jbG91ZC1hd3MtbGluay1hY2NvdW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Nsb3VkQXp1cmVJbnRlZ3JhdGlvbnMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9jbG91ZC1henVyZS1pbnRlZ3JhdGlvbnMnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY2xvdWRBenVyZUxpbmtBY2NvdW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vY2xvdWQtYXp1cmUtbGluay1hY2NvdW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Nsb3VkR2NwRG1JbnRlZ3JhdGlvbnMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9jbG91ZC1nY3AtZG0taW50ZWdyYXRpb25zJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2Nsb3VkR2NwSW50ZWdyYXRpb25zJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vY2xvdWQtZ2NwLWludGVncmF0aW9ucycpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdjbG91ZEdjcExpbmtBY2NvdW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vY2xvdWQtZ2NwLWxpbmstYWNjb3VudCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdjbG91ZE9jaUxpbmtBY2NvdW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vY2xvdWQtb2NpLWxpbmstYWNjb3VudCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhUGFydGl0aW9uUnVsZScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtcGFydGl0aW9uLXJ1bGUnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZW50aXR5VGFncycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2VudGl0eS10YWdzJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2V2ZW50c1RvTWV0cmljc1J1bGUnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9ldmVudHMtdG8tbWV0cmljcy1ydWxlJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2ZlZGVyYXRlZExvZ3NQYXJ0aXRpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9mZWRlcmF0ZWQtbG9ncy1wYXJ0aXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZmVkZXJhdGVkTG9nc1NldHVwJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZmVkZXJhdGVkLWxvZ3Mtc2V0dXAnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZmxlZXQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9mbGVldCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdmbGVldENvbmZpZ3VyYXRpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9mbGVldC1jb25maWd1cmF0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2ZsZWV0RGVwbG95bWVudCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2ZsZWV0LWRlcGxveW1lbnQnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZmxlZXRNZW1iZXJzJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZmxlZXQtbWVtYmVycycpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdncm91cCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2dyb3VwJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2luZnJhQWxlcnRDb25kaXRpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9pbmZyYS1hbGVydC1jb25kaXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnaW5zaWdodHNFdmVudCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2luc2lnaHRzLWV2ZW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2tleVRyYW5zYWN0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4va2V5LXRyYW5zYWN0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2xvZ1BhcnNpbmdSdWxlJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vbG9nLXBhcnNpbmctcnVsZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdtZXRyaWNQcnVuaW5nUnVsZScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL21ldHJpYy1wcnVuaW5nLXJ1bGUnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnbW9uaXRvckRvd250aW1lJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vbW9uaXRvci1kb3dudGltZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdub3RlYm9vaycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL25vdGVib29rJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ25vdGlmaWNhdGlvbkNoYW5uZWwnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9ub3RpZmljYXRpb24tY2hhbm5lbCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdub3RpZmljYXRpb25EZXN0aW5hdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL25vdGlmaWNhdGlvbi1kZXN0aW5hdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICducnFsQWxlcnRDb25kaXRpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9ucnFsLWFsZXJ0LWNvbmRpdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICducnFsRHJvcFJ1bGUnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9ucnFsLWRyb3AtcnVsZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICducnFsTWFjcm8nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9ucnFsLW1hY3JvJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ29iZnVzY2F0aW9uRXhwcmVzc2lvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL29iZnVzY2F0aW9uLWV4cHJlc3Npb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnb2JmdXNjYXRpb25SdWxlJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vb2JmdXNjYXRpb24tcnVsZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdvbmVEYXNoYm9hcmQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9vbmUtZGFzaGJvYXJkJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ29uZURhc2hib2FyZEpzb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9vbmUtZGFzaGJvYXJkLWpzb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnb25lRGFzaGJvYXJkUmF3JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vb25lLWRhc2hib2FyZC1yYXcnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAncGF0aHBvaW50RmxvdycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3BhdGhwb2ludC1mbG93Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3BpcGVsaW5lQ2xvdWRSdWxlJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vcGlwZWxpbmUtY2xvdWQtcnVsZScpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzY29yZWNhcmQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9zY29yZWNhcmQnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc2NvcmVjYXJkUnVsZScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3Njb3JlY2FyZC1ydWxlJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3NlcnZpY2VMZXZlbCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3NlcnZpY2UtbGV2ZWwnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc3ludGhldGljc0FsZXJ0Q29uZGl0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1hbGVydC1jb25kaXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc3ludGhldGljc0Jyb2tlbkxpbmtzTW9uaXRvcicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3N5bnRoZXRpY3MtYnJva2VuLWxpbmtzLW1vbml0b3InKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc3ludGhldGljc0NlcnRDaGVja01vbml0b3InLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9zeW50aGV0aWNzLWNlcnQtY2hlY2stbW9uaXRvcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzeW50aGV0aWNzTW9uaXRvcicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3N5bnRoZXRpY3MtbW9uaXRvcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzeW50aGV0aWNzTXVsdGlsb2NhdGlvbkFsZXJ0Q29uZGl0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1tdWx0aWxvY2F0aW9uLWFsZXJ0LWNvbmRpdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzeW50aGV0aWNzUHJpdmF0ZUxvY2F0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1wcml2YXRlLWxvY2F0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3N5bnRoZXRpY3NTY3JpcHRNb25pdG9yJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1zY3JpcHQtbW9uaXRvcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdzeW50aGV0aWNzU2VjdXJlQ3JlZGVudGlhbCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3N5bnRoZXRpY3Mtc2VjdXJlLWNyZWRlbnRpYWwnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc3ludGhldGljc1N0ZXBNb25pdG9yJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vc3ludGhldGljcy1zdGVwLW1vbml0b3InKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAndGVhbScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3RlYW0nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAndGVhbXNPcmdhbml6YXRpb25TZXR0aW5ncycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3RlYW1zLW9yZ2FuaXphdGlvbi1zZXR0aW5ncycpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICd1c2VyJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vdXNlcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICd3b3JrZmxvdycsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3dvcmtmbG93Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3dvcmtmbG93QXV0b21hdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL3dvcmtmbG93LWF1dG9tYXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnd29ya2xvYWQnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi93b3JrbG9hZCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNBY2NvdW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1hY2NvdW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0FsZXJ0Q2hhbm5lbCcsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtYWxlcnQtY2hhbm5lbCcpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNBbGVydFBvbGljeScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtYWxlcnQtcG9saWN5Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0FwaUFjY2Vzc0tleScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtYXBpLWFjY2Vzcy1rZXknKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljQXBwbGljYXRpb24nLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLWFwcGxpY2F0aW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0F1dGhlbnRpY2F0aW9uRG9tYWluJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1hdXRoZW50aWNhdGlvbi1kb21haW4nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljQ2xvdWRBY2NvdW50JywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1jbG91ZC1hY2NvdW50Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0VudGl0eScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtZW50aXR5Jyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0ZsZWV0Q29uZmlndXJhdGlvbicsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZXF1aXJlKCcuL2RhdGEtbmV3cmVsaWMtZmxlZXQtY29uZmlndXJhdGlvbicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNGbGVldE1lbWJlcnMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLWZsZWV0LW1lbWJlcnMnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljR3JvdXAnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLWdyb3VwJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY0tleVRyYW5zYWN0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1rZXktdHJhbnNhY3Rpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljTm90ZWJvb2snLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLW5vdGVib29rJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY05vdGlmaWNhdGlvbkRlc3RpbmF0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1ub3RpZmljYXRpb24tZGVzdGluYXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljT2JmdXNjYXRpb25FeHByZXNzaW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1vYmZ1c2NhdGlvbi1leHByZXNzaW9uJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2RhdGFOZXdyZWxpY1NlcnZpY2VMZXZlbEFsZXJ0SGVscGVyJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1zZXJ2aWNlLWxldmVsLWFsZXJ0LWhlbHBlcicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNTeW50aGV0aWNzUHJpdmF0ZUxvY2F0aW9uJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy1zeW50aGV0aWNzLXByaXZhdGUtbG9jYXRpb24nKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljU3ludGhldGljc1NlY3VyZUNyZWRlbnRpYWwnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLXN5bnRoZXRpY3Mtc2VjdXJlLWNyZWRlbnRpYWwnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljVGVhbXNIaWVyYXJjaHlMZXZlbHMnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVxdWlyZSgnLi9kYXRhLW5ld3JlbGljLXRlYW1zLWhpZXJhcmNoeS1sZXZlbHMnKTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnZGF0YU5ld3JlbGljVGVzdEdyb2tQYXR0ZXJuJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy10ZXN0LWdyb2stcGF0dGVybicpOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdkYXRhTmV3cmVsaWNVc2VyJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vZGF0YS1uZXdyZWxpYy11c2VyJyk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ3Byb3ZpZGVyJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlcXVpcmUoJy4vcHJvdmlkZXInKTsgfSB9KTtcblxuIl19
@@ -8,29 +8,29 @@ export interface LogParsingRuleConfig extends cdktn.TerraformMetaArguments {
8
8
  /**
9
9
  * The account id associated with the obfuscation expression.
10
10
  *
11
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#account_id LogParsingRule#account_id}
11
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#account_id LogParsingRule#account_id}
12
12
  */
13
13
  readonly accountId?: number;
14
14
  /**
15
15
  * The parsing rule will apply to value of this attribute. If field is not provided, value will default to message.
16
16
  *
17
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#attribute LogParsingRule#attribute}
17
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#attribute LogParsingRule#attribute}
18
18
  */
19
19
  readonly attribute?: string;
20
20
  /**
21
21
  * Whether or not this rule is enabled.
22
22
  *
23
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#enabled LogParsingRule#enabled}
23
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#enabled LogParsingRule#enabled}
24
24
  */
25
25
  readonly enabled: boolean | cdktn.IResolvable;
26
26
  /**
27
27
  * The Grok of what to parse.
28
28
  *
29
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#grok LogParsingRule#grok}
29
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#grok LogParsingRule#grok}
30
30
  */
31
31
  readonly grok: string;
32
32
  /**
33
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#id LogParsingRule#id}
33
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#id LogParsingRule#id}
34
34
  *
35
35
  * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
36
36
  * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
@@ -39,30 +39,30 @@ export interface LogParsingRuleConfig extends cdktn.TerraformMetaArguments {
39
39
  /**
40
40
  * The Lucene to match events to the parsing rule.
41
41
  *
42
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#lucene LogParsingRule#lucene}
42
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#lucene LogParsingRule#lucene}
43
43
  */
44
44
  readonly lucene: string;
45
45
  /**
46
46
  * Whether the Grok pattern matched.
47
47
  *
48
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#matched LogParsingRule#matched}
48
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#matched LogParsingRule#matched}
49
49
  */
50
50
  readonly matched?: boolean | cdktn.IResolvable;
51
51
  /**
52
52
  * A description of what this parsing rule represents.
53
53
  *
54
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#name LogParsingRule#name}
54
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#name LogParsingRule#name}
55
55
  */
56
56
  readonly name: string;
57
57
  /**
58
58
  * The NRQL to match events to the parsing rule.
59
59
  *
60
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#nrql LogParsingRule#nrql}
60
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#nrql LogParsingRule#nrql}
61
61
  */
62
62
  readonly nrql: string;
63
63
  }
64
64
  /**
65
- * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule newrelic_log_parsing_rule}
65
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule newrelic_log_parsing_rule}
66
66
  */
67
67
  export declare class LogParsingRule extends cdktn.TerraformResource {
68
68
  static readonly tfResourceType = "newrelic_log_parsing_rule";
@@ -70,12 +70,12 @@ export declare class LogParsingRule extends cdktn.TerraformResource {
70
70
  * Generates CDKTN code for importing a LogParsingRule resource upon running "cdktn plan <stack-name>"
71
71
  * @param scope The scope in which to define this construct
72
72
  * @param importToId The construct id used in the generated config for the LogParsingRule to import
73
- * @param importFromId The id of the existing LogParsingRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#import import section} in the documentation of this resource for the id to use
73
+ * @param importFromId The id of the existing LogParsingRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#import import section} in the documentation of this resource for the id to use
74
74
  * @param provider? Optional instance of the provider where the LogParsingRule to import is found
75
75
  */
76
76
  static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
77
77
  /**
78
- * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule newrelic_log_parsing_rule} Resource
78
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule newrelic_log_parsing_rule} Resource
79
79
  *
80
80
  * @param scope The scope in which to define this construct
81
81
  * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
@@ -37,10 +37,10 @@ exports.LogParsingRule = void 0;
37
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
38
38
  const cdktn = __importStar(require("cdktn"));
39
39
  /**
40
- * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule newrelic_log_parsing_rule}
40
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule newrelic_log_parsing_rule}
41
41
  */
42
42
  class LogParsingRule extends cdktn.TerraformResource {
43
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdktn/provider-newrelic.logParsingRule.LogParsingRule", version: "17.0.0" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdktn/provider-newrelic.logParsingRule.LogParsingRule", version: "17.0.1" };
44
44
  // =================
45
45
  // STATIC PROPERTIES
46
46
  // =================
@@ -52,7 +52,7 @@ class LogParsingRule extends cdktn.TerraformResource {
52
52
  * Generates CDKTN code for importing a LogParsingRule resource upon running "cdktn plan <stack-name>"
53
53
  * @param scope The scope in which to define this construct
54
54
  * @param importToId The construct id used in the generated config for the LogParsingRule to import
55
- * @param importFromId The id of the existing LogParsingRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule#import import section} in the documentation of this resource for the id to use
55
+ * @param importFromId The id of the existing LogParsingRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule#import import section} in the documentation of this resource for the id to use
56
56
  * @param provider? Optional instance of the provider where the LogParsingRule to import is found
57
57
  */
58
58
  static generateConfigForImport(scope, importToId, importFromId, provider) {
@@ -62,7 +62,7 @@ class LogParsingRule extends cdktn.TerraformResource {
62
62
  // INITIALIZER
63
63
  // ===========
64
64
  /**
65
- * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/log_parsing_rule newrelic_log_parsing_rule} Resource
65
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/log_parsing_rule newrelic_log_parsing_rule} Resource
66
66
  *
67
67
  * @param scope The scope in which to define this construct
68
68
  * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
@@ -73,7 +73,7 @@ class LogParsingRule extends cdktn.TerraformResource {
73
73
  terraformResourceType: 'newrelic_log_parsing_rule',
74
74
  terraformGeneratorMetadata: {
75
75
  providerName: 'newrelic',
76
- providerVersion: '3.101.6',
76
+ providerVersion: '3.101.10',
77
77
  providerVersionConstraint: '~> 3.7'
78
78
  },
79
79
  provider: config.provider,
@@ -299,4 +299,4 @@ class LogParsingRule extends cdktn.TerraformResource {
299
299
  }
300
300
  }
301
301
  exports.LogParsingRule = LogParsingRule;
302
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nLXBhcnNpbmctcnVsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0EsNkNBQStCO0FBOEQvQjs7RUFFRTtBQUNGLE1BQWEsY0FBZSxTQUFRLEtBQUssQ0FBQyxpQkFBaUI7O0lBRXpELG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ2IsTUFBTSxDQUFVLGNBQWMsR0FBRywyQkFBMkIsQ0FBQztJQUVwRSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQjs7Ozs7O01BTUU7SUFDSyxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBZ0IsRUFBRSxVQUFrQixFQUFFLFlBQW9CLEVBQUUsUUFBa0M7UUFDOUgsT0FBTyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25KLENBQUM7SUFFTCxjQUFjO0lBQ2QsY0FBYztJQUNkLGNBQWM7SUFFZDs7Ozs7O01BTUU7SUFDRixZQUFtQixLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUE0QjtRQUMzRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLHFCQUFxQixFQUFFLDJCQUEyQjtZQUNsRCwwQkFBMEIsRUFBRTtnQkFDMUIsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLGVBQWUsRUFBRSxTQUFTO2dCQUMxQix5QkFBeUIsRUFBRSxRQUFRO2FBQ3BDO1lBQ0QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsU0FBUyxFQUFFLE1B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SUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDL0MsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQ2pELE9BQU8sRUFBRSxLQUFLO2dCQUNkLElBQUksRUFBRSxRQUFRO2dCQUNkLGdCQUFnQixFQUFFLFNBQVM7YUFDNUI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUM3QyxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxnQkFBZ0IsRUFBRSxRQUFRO2FBQzNCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDN0MsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtTQUNGLENBQUM7UUFFRiw4QkFBOEI7UUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUUsQ0FBQyxDQUFBO0lBQzVILENBQUM7O0FBblJILHdDQW9SQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDIxLCAyMDI2XG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGVcbi8vIGdlbmVyYXRlZCBmcm9tIHRlcnJhZm9ybSByZXNvdXJjZSBzY2hlbWFcblxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBjZGt0biBmcm9tICdjZGt0bic7XG5cbi8vIENvbmZpZ3VyYXRpb25cblxuZXhwb3J0IGludGVyZmFjZSBMb2dQYXJzaW5nUnVsZUNvbmZpZyBleHRlbmRzIGNka3RuLlRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICAvKipcbiAgKiBUaGUgYWNjb3VudCBpZCBhc3NvY2lhdGVkIHdpdGggdGhlIG9iZnVzY2F0aW9uIGV4cHJlc3Npb24uXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjYWNjb3VudF9pZCBMb2dQYXJzaW5nUnVsZSNhY2NvdW50X2lkfVxuICAqL1xuICByZWFkb25seSBhY2NvdW50SWQ/OiBudW1iZXI7XG4gIC8qKlxuICAqIFRoZSBwYXJzaW5nIHJ1bGUgd2lsbCBhcHBseSB0byB2YWx1ZSBvZiB0aGlzIGF0dHJpYnV0ZS4gSWYgZmllbGQgaXMgbm90IHByb3ZpZGVkLCB2YWx1ZSB3aWxsIGRlZmF1bHQgdG8gbWVzc2FnZS5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjYvZG9jcy9yZXNvdXJjZXMvbG9nX3BhcnNpbmdfcnVsZSNhdHRyaWJ1dGUgTG9nUGFyc2luZ1J1bGUjYXR0cmlidXRlfVxuICAqL1xuICByZWFkb25seSBhdHRyaWJ1dGU/OiBzdHJpbmc7XG4gIC8qKlxuICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgcnVsZSBpcyBlbmFibGVkLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuNi9kb2NzL3Jlc291cmNlcy9sb2dfcGFyc2luZ19ydWxlI2VuYWJsZWQgTG9nUGFyc2luZ1J1bGUjZW5hYmxlZH1cbiAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZDogYm9vbGVhbiB8IGNka3RuLklSZXNvbHZhYmxlO1xuICAvKipcbiAgKiBUaGUgR3JvayBvZiB3aGF0IHRvIHBhcnNlLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuNi9kb2NzL3Jlc291cmNlcy9sb2dfcGFyc2luZ19ydWxlI2dyb2sgTG9nUGFyc2luZ1J1bGUjZ3Jva31cbiAgKi9cbiAgcmVhZG9ubHkgZ3Jvazogc3RyaW5nO1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjaWQgTG9nUGFyc2luZ1J1bGUjaWR9XG4gICpcbiAgKiBQbGVhc2UgYmUgYXdhcmUgdGhhdCB0aGUgaWQgZmllbGQgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byBhbGwgcmVzb3VyY2VzIGluIFRlcnJhZm9ybSBwcm92aWRlcnMgdXNpbmcgYSBUZXJyYWZvcm0gcHJvdmlkZXIgU0RLIHZlcnNpb24gYmVsb3cgMi5cbiAgKiBJZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcyBzZXR0aW5nIHRoaXMgdmFsdWUgaXQgbWlnaHQgbm90IGJlIHNldHRhYmxlLiBQbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIHByb3ZpZGVyIGRvY3VtZW50YXRpb24gdG8gZW5zdXJlIGl0IHNob3VsZCBiZSBzZXR0YWJsZS5cbiAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAqIFRoZSBMdWNlbmUgdG8gbWF0Y2ggZXZlbnRzIHRvIHRoZSBwYXJzaW5nIHJ1bGUuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjbHVjZW5lIExvZ1BhcnNpbmdSdWxlI2x1Y2VuZX1cbiAgKi9cbiAgcmVhZG9ubHkgbHVjZW5lOiBzdHJpbmc7XG4gIC8qKlxuICAqIFdoZXRoZXIgdGhlIEdyb2sgcGF0dGVybiBtYXRjaGVkLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuNi9kb2NzL3Jlc291cmNlcy9sb2dfcGFyc2luZ19ydWxlI21hdGNoZWQgTG9nUGFyc2luZ1J1bGUjbWF0Y2hlZH1cbiAgKi9cbiAgcmVhZG9ubHkgbWF0Y2hlZD86IGJvb2xlYW4gfCBjZGt0bi5JUmVzb2x2YWJsZTtcbiAgLyoqXG4gICogQSBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoaXMgcGFyc2luZyBydWxlIHJlcHJlc2VudHMuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjbmFtZSBMb2dQYXJzaW5nUnVsZSNuYW1lfVxuICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAqIFRoZSBOUlFMIHRvIG1hdGNoIGV2ZW50cyB0byB0aGUgcGFyc2luZyBydWxlLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuNi9kb2NzL3Jlc291cmNlcy9sb2dfcGFyc2luZ19ydWxlI25ycWwgTG9nUGFyc2luZ1J1bGUjbnJxbH1cbiAgKi9cbiAgcmVhZG9ubHkgbnJxbDogc3RyaW5nO1xufVxuXG4vKipcbiogUmVwcmVzZW50cyBhIHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuNi9kb2NzL3Jlc291cmNlcy9sb2dfcGFyc2luZ19ydWxlIG5ld3JlbGljX2xvZ19wYXJzaW5nX3J1bGV9XG4qL1xuZXhwb3J0IGNsYXNzIExvZ1BhcnNpbmdSdWxlIGV4dGVuZHMgY2RrdG4uVGVycmFmb3JtUmVzb3VyY2Uge1xuXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBQUk9QRVJUSUVTXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcIm5ld3JlbGljX2xvZ19wYXJzaW5nX3J1bGVcIjtcblxuICAvLyA9PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgTWV0aG9kc1xuICAvLyA9PT09PT09PT09PT09PVxuICAvKipcbiAgKiBHZW5lcmF0ZXMgQ0RLVE4gY29kZSBmb3IgaW1wb3J0aW5nIGEgTG9nUGFyc2luZ1J1bGUgcmVzb3VyY2UgdXBvbiBydW5uaW5nIFwiY2RrdG4gcGxhbiA8c3RhY2stbmFtZT5cIlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGltcG9ydFRvSWQgVGhlIGNvbnN0cnVjdCBpZCB1c2VkIGluIHRoZSBnZW5lcmF0ZWQgY29uZmlnIGZvciB0aGUgTG9nUGFyc2luZ1J1bGUgdG8gaW1wb3J0XG4gICogQHBhcmFtIGltcG9ydEZyb21JZCBUaGUgaWQgb2YgdGhlIGV4aXN0aW5nIExvZ1BhcnNpbmdSdWxlIHRoYXQgc2hvdWxkIGJlIGltcG9ydGVkLiBSZWZlciB0byB0aGUge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIExvZ1BhcnNpbmdSdWxlIHRvIGltcG9ydCBpcyBmb3VuZFxuICAqL1xuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdG4uVGVycmFmb3JtUHJvdmlkZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBjZGt0bi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcIm5ld3JlbGljX2xvZ19wYXJzaW5nX3J1bGVcIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7XG4gICAgICB9XG5cbiAgLy8gPT09PT09PT09PT1cbiAgLy8gSU5JVElBTElaRVJcbiAgLy8gPT09PT09PT09PT1cblxuICAvKipcbiAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUgbmV3cmVsaWNfbG9nX3BhcnNpbmdfcnVsZX0gUmVzb3VyY2VcbiAgKlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGlkIFRoZSBzY29wZWQgY29uc3RydWN0IElELiBNdXN0IGJlIHVuaXF1ZSBhbW9uZ3N0IHNpYmxpbmdzIGluIHRoZSBzYW1lIHNjb3BlXG4gICogQHBhcmFtIG9wdGlvbnMgTG9nUGFyc2luZ1J1bGVDb25maWdcbiAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogTG9nUGFyc2luZ1J1bGVDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZTogJ25ld3JlbGljX2xvZ19wYXJzaW5nX3J1bGUnLFxuICAgICAgdGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE6IHtcbiAgICAgICAgcHJvdmlkZXJOYW1lOiAnbmV3cmVsaWMnLFxuICAgICAgICBwcm92aWRlclZlcnNpb246ICczLjEwMS42JyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uQ29uc3RyYWludDogJ34+IDMuNydcbiAgICAgIH0sXG4gICAgICBwcm92aWRlcjogY29uZmlnLnByb3ZpZGVyLFxuICAgICAgZGVwZW5kc09uOiBjb25maWcuZGVwZW5kc09uLFxuICAgICAgY291bnQ6IGNvbmZpZy5jb3VudCxcbiAgICAgIGxpZmVjeWNsZTogY29uZmlnLmxpZmVjeWNsZSxcbiAgICAgIHByb3Zpc2lvbmVyczogY29uZmlnLnByb3Zpc2lvbmVycyxcbiAgICAgIGNvbm5lY3Rpb246IGNvbmZpZy5jb25uZWN0aW9uLFxuICAgICAgZm9yRWFjaDogY29uZmlnLmZvckVhY2hcbiAgICB9KTtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSBjb25maWcuYWNjb3VudElkO1xuICAgIHRoaXMuX2F0dHJpYnV0ZSA9IGNvbmZpZy5hdHRyaWJ1dGU7XG4gICAgdGhpcy5fZW5hYmxlZCA9IGNvbmZpZy5lbmFibGVkO1xuICAgIHRoaXMuX2dyb2sgPSBjb25maWcuZ3JvaztcbiAgICB0aGlzLl9pZCA9IGNvbmZpZy5pZDtcbiAgICB0aGlzLl9sdWNlbmUgPSBjb25maWcubHVjZW5lO1xuICAgIHRoaXMuX21hdGNoZWQgPSBjb25maWcubWF0Y2hlZDtcbiAgICB0aGlzLl9uYW1lID0gY29uZmlnLm5hbWU7XG4gICAgdGhpcy5fbnJxbCA9IGNvbmZpZy5ucnFsO1xuICB9XG5cbiAgLy8gPT09PT09PT09PVxuICAvLyBBVFRSSUJVVEVTXG4gIC8vID09PT09PT09PT1cblxuICAvLyBhY2NvdW50X2lkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfYWNjb3VudElkPzogbnVtYmVyOyBcbiAgcHVibGljIGdldCBhY2NvdW50SWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdhY2NvdW50X2lkJyk7XG4gIH1cbiAgcHVibGljIHNldCBhY2NvdW50SWQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2FjY291bnRJZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldEFjY291bnRJZCgpIHtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGFjY291bnRJZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9hY2NvdW50SWQ7XG4gIH1cblxuICAvLyBhdHRyaWJ1dGUgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfYXR0cmlidXRlPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBhdHRyaWJ1dGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdhdHRyaWJ1dGUnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGF0dHJpYnV0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYXR0cmlidXRlID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0QXR0cmlidXRlKCkge1xuICAgIHRoaXMuX2F0dHJpYnV0ZSA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgYXR0cmlidXRlSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZTtcbiAgfVxuXG4gIC8vIGRlbGV0ZWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBkZWxldGVkKCkge1xuICAgIHJldHVybiB0aGlzLmdldEJvb2xlYW5BdHRyaWJ1dGUoJ2RlbGV0ZWQnKTtcbiAgfVxuXG4gIC8vIGVuYWJsZWQgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfZW5hYmxlZD86IGJvb2xlYW4gfCBjZGt0bi5JUmVzb2x2YWJsZTsgXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCb29sZWFuQXR0cmlidXRlKCdlbmFibGVkJyk7XG4gIH1cbiAgcHVibGljIHNldCBlbmFibGVkKHZhbHVlOiBib29sZWFuIHwgY2RrdG4uSVJlc29sdmFibGUpIHtcbiAgICB0aGlzLl9lbmFibGVkID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGVuYWJsZWRJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuXG4gIC8vIGdyb2sgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfZ3Jvaz86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgZ3JvaygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2dyb2snKTtcbiAgfVxuICBwdWJsaWMgc2V0IGdyb2sodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2dyb2sgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgZ3Jva0lucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9ncm9rO1xuICB9XG5cbiAgLy8gaWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9pZD86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdpZCcpO1xuICB9XG4gIHB1YmxpYyBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0SWQoKSB7XG4gICAgdGhpcy5faWQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGlkSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgLy8gbHVjZW5lIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiB0cnVlXG4gIHByaXZhdGUgX2x1Y2VuZT86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgbHVjZW5lKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnbHVjZW5lJyk7XG4gIH1cbiAgcHVibGljIHNldCBsdWNlbmUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2x1Y2VuZSA9IHZhbHVlO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBsdWNlbmVJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbHVjZW5lO1xuICB9XG5cbiAgLy8gbWF0Y2hlZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX21hdGNoZWQ/OiBib29sZWFuIHwgY2RrdG4uSVJlc29sdmFibGU7IFxuICBwdWJsaWMgZ2V0IG1hdGNoZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Qm9vbGVhbkF0dHJpYnV0ZSgnbWF0Y2hlZCcpO1xuICB9XG4gIHB1YmxpYyBzZXQgbWF0Y2hlZCh2YWx1ZTogYm9vbGVhbiB8IGNka3RuLklSZXNvbHZhYmxlKSB7XG4gICAgdGhpcy5fbWF0Y2hlZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldE1hdGNoZWQoKSB7XG4gICAgdGhpcy5fbWF0Y2hlZCA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbWF0Y2hlZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9tYXRjaGVkO1xuICB9XG5cbiAgLy8gbmFtZSAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9uYW1lPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnbmFtZScpO1xuICB9XG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbmFtZSA9IHZhbHVlO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBuYW1lSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gIH1cblxuICAvLyBucnFsIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiB0cnVlXG4gIHByaXZhdGUgX25ycWw/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IG5ycWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCducnFsJyk7XG4gIH1cbiAgcHVibGljIHNldCBucnFsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9ucnFsID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IG5ycWxJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbnJxbDtcbiAgfVxuXG4gIC8vID09PT09PT09PVxuICAvLyBTWU5USEVTSVNcbiAgLy8gPT09PT09PT09XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgYWNjb3VudF9pZDogY2RrdG4ubnVtYmVyVG9UZXJyYWZvcm0odGhpcy5fYWNjb3VudElkKSxcbiAgICAgIGF0dHJpYnV0ZTogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fYXR0cmlidXRlKSxcbiAgICAgIGVuYWJsZWQ6IGNka3RuLmJvb2xlYW5Ub1RlcnJhZm9ybSh0aGlzLl9lbmFibGVkKSxcbiAgICAgIGdyb2s6IGNka3RuLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX2dyb2spLFxuICAgICAgaWQ6IGNka3RuLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX2lkKSxcbiAgICAgIGx1Y2VuZTogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fbHVjZW5lKSxcbiAgICAgIG1hdGNoZWQ6IGNka3RuLmJvb2xlYW5Ub1RlcnJhZm9ybSh0aGlzLl9tYXRjaGVkKSxcbiAgICAgIG5hbWU6IGNka3RuLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX25hbWUpLFxuICAgICAgbnJxbDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fbnJxbCksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgYXR0cnMgPSB7XG4gICAgICBhY2NvdW50X2lkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5udW1iZXJUb0hjbFRlcnJhZm9ybSh0aGlzLl9hY2NvdW50SWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJudW1iZXJcIixcbiAgICAgIH0sXG4gICAgICBhdHRyaWJ1dGU6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX2F0dHJpYnV0ZSksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIGVuYWJsZWQ6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLmJvb2xlYW5Ub0hjbFRlcnJhZm9ybSh0aGlzLl9lbmFibGVkKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgfSxcbiAgICAgIGdyb2s6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX2dyb2spLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICBpZDoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICBsdWNlbmU6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX2x1Y2VuZSksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIG1hdGNoZWQ6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLmJvb2xlYW5Ub0hjbFRlcnJhZm9ybSh0aGlzLl9tYXRjaGVkKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgfSxcbiAgICAgIG5hbWU6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX25hbWUpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICBucnFsOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9ucnFsKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyByZW1vdmUgdW5kZWZpbmVkIGF0dHJpYnV0ZXNcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGF0dHJzKS5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUudmFsdWUgIT09IHVuZGVmaW5lZCApKVxuICB9XG59XG4iXX0=
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nLXBhcnNpbmctcnVsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0EsNkNBQStCO0FBOEQvQjs7RUFFRTtBQUNGLE1BQWEsY0FBZSxTQUFRLEtBQUssQ0FBQyxpQkFBaUI7O0lBRXpELG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ2IsTUFBTSxDQUFVLGNBQWMsR0FBRywyQkFBMkIsQ0FBQztJQUVwRSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQjs7Ozs7O01BTUU7SUFDSyxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBZ0IsRUFBRSxVQUFrQixFQUFFLFlBQW9CLEVBQUUsUUFBa0M7UUFDOUgsT0FBTyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25KLENBQUM7SUFFTCxjQUFjO0lBQ2QsY0FBYztJQUNkLGNBQWM7SUFFZDs7Ozs7O01BTUU7SUFDRixZQUFtQixLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUE0QjtRQUMzRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLHFCQUFxQixFQUFFLDJCQUEyQjtZQUNsRCwwQkFBMEIsRUFBRTtnQkFDMUIsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLGVBQWUsRUFBRSxVQUFVO2dCQUMzQix5QkFBeUIsRUFBRSxRQUFRO2FBQ3BDO1lBQ0QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsU0FBUyxFQUFFLE1B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SUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDL0MsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQ2pELE9BQU8sRUFBRSxLQUFLO2dCQUNkLElBQUksRUFBRSxRQUFRO2dCQUNkLGdCQUFnQixFQUFFLFNBQVM7YUFDNUI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUM3QyxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxnQkFBZ0IsRUFBRSxRQUFRO2FBQzNCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDN0MsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtTQUNGLENBQUM7UUFFRiw4QkFBOEI7UUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUUsQ0FBQyxDQUFBO0lBQzVILENBQUM7O0FBblJILHdDQW9SQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDIxLCAyMDI2XG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4xMC9kb2NzL3Jlc291cmNlcy9sb2dfcGFyc2luZ19ydWxlXG4vLyBnZW5lcmF0ZWQgZnJvbSB0ZXJyYWZvcm0gcmVzb3VyY2Ugc2NoZW1hXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgY2RrdG4gZnJvbSAnY2RrdG4nO1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nUGFyc2luZ1J1bGVDb25maWcgZXh0ZW5kcyBjZGt0bi5UZXJyYWZvcm1NZXRhQXJndW1lbnRzIHtcbiAgLyoqXG4gICogVGhlIGFjY291bnQgaWQgYXNzb2NpYXRlZCB3aXRoIHRoZSBvYmZ1c2NhdGlvbiBleHByZXNzaW9uLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuMTAvZG9jcy9yZXNvdXJjZXMvbG9nX3BhcnNpbmdfcnVsZSNhY2NvdW50X2lkIExvZ1BhcnNpbmdSdWxlI2FjY291bnRfaWR9XG4gICovXG4gIHJlYWRvbmx5IGFjY291bnRJZD86IG51bWJlcjtcbiAgLyoqXG4gICogVGhlIHBhcnNpbmcgcnVsZSB3aWxsIGFwcGx5IHRvIHZhbHVlIG9mIHRoaXMgYXR0cmlidXRlLiBJZiBmaWVsZCBpcyBub3QgcHJvdmlkZWQsIHZhbHVlIHdpbGwgZGVmYXVsdCB0byBtZXNzYWdlLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuMTAvZG9jcy9yZXNvdXJjZXMvbG9nX3BhcnNpbmdfcnVsZSNhdHRyaWJ1dGUgTG9nUGFyc2luZ1J1bGUjYXR0cmlidXRlfVxuICAqL1xuICByZWFkb25seSBhdHRyaWJ1dGU/OiBzdHJpbmc7XG4gIC8qKlxuICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgcnVsZSBpcyBlbmFibGVkLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuMTAvZG9jcy9yZXNvdXJjZXMvbG9nX3BhcnNpbmdfcnVsZSNlbmFibGVkIExvZ1BhcnNpbmdSdWxlI2VuYWJsZWR9XG4gICovXG4gIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW4gfCBjZGt0bi5JUmVzb2x2YWJsZTtcbiAgLyoqXG4gICogVGhlIEdyb2sgb2Ygd2hhdCB0byBwYXJzZS5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjEwL2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjZ3JvayBMb2dQYXJzaW5nUnVsZSNncm9rfVxuICAqL1xuICByZWFkb25seSBncm9rOiBzdHJpbmc7XG4gIC8qKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjEwL2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjaWQgTG9nUGFyc2luZ1J1bGUjaWR9XG4gICpcbiAgKiBQbGVhc2UgYmUgYXdhcmUgdGhhdCB0aGUgaWQgZmllbGQgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byBhbGwgcmVzb3VyY2VzIGluIFRlcnJhZm9ybSBwcm92aWRlcnMgdXNpbmcgYSBUZXJyYWZvcm0gcHJvdmlkZXIgU0RLIHZlcnNpb24gYmVsb3cgMi5cbiAgKiBJZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcyBzZXR0aW5nIHRoaXMgdmFsdWUgaXQgbWlnaHQgbm90IGJlIHNldHRhYmxlLiBQbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIHByb3ZpZGVyIGRvY3VtZW50YXRpb24gdG8gZW5zdXJlIGl0IHNob3VsZCBiZSBzZXR0YWJsZS5cbiAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAqIFRoZSBMdWNlbmUgdG8gbWF0Y2ggZXZlbnRzIHRvIHRoZSBwYXJzaW5nIHJ1bGUuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4xMC9kb2NzL3Jlc291cmNlcy9sb2dfcGFyc2luZ19ydWxlI2x1Y2VuZSBMb2dQYXJzaW5nUnVsZSNsdWNlbmV9XG4gICovXG4gIHJlYWRvbmx5IGx1Y2VuZTogc3RyaW5nO1xuICAvKipcbiAgKiBXaGV0aGVyIHRoZSBHcm9rIHBhdHRlcm4gbWF0Y2hlZC5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjEwL2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjbWF0Y2hlZCBMb2dQYXJzaW5nUnVsZSNtYXRjaGVkfVxuICAqL1xuICByZWFkb25seSBtYXRjaGVkPzogYm9vbGVhbiB8IGNka3RuLklSZXNvbHZhYmxlO1xuICAvKipcbiAgKiBBIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhpcyBwYXJzaW5nIHJ1bGUgcmVwcmVzZW50cy5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjEwL2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjbmFtZSBMb2dQYXJzaW5nUnVsZSNuYW1lfVxuICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAqIFRoZSBOUlFMIHRvIG1hdGNoIGV2ZW50cyB0byB0aGUgcGFyc2luZyBydWxlLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuMTAvZG9jcy9yZXNvdXJjZXMvbG9nX3BhcnNpbmdfcnVsZSNucnFsIExvZ1BhcnNpbmdSdWxlI25ycWx9XG4gICovXG4gIHJlYWRvbmx5IG5ycWw6IHN0cmluZztcbn1cblxuLyoqXG4qIFJlcHJlc2VudHMgYSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjEwL2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUgbmV3cmVsaWNfbG9nX3BhcnNpbmdfcnVsZX1cbiovXG5leHBvcnQgY2xhc3MgTG9nUGFyc2luZ1J1bGUgZXh0ZW5kcyBjZGt0bi5UZXJyYWZvcm1SZXNvdXJjZSB7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT1cbiAgLy8gU1RBVElDIFBST1BFUlRJRVNcbiAgLy8gPT09PT09PT09PT09PT09PT1cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB0ZlJlc291cmNlVHlwZSA9IFwibmV3cmVsaWNfbG9nX3BhcnNpbmdfcnVsZVwiO1xuXG4gIC8vID09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09XG4gIC8qKlxuICAqIEdlbmVyYXRlcyBDREtUTiBjb2RlIGZvciBpbXBvcnRpbmcgYSBMb2dQYXJzaW5nUnVsZSByZXNvdXJjZSB1cG9uIHJ1bm5pbmcgXCJjZGt0biBwbGFuIDxzdGFjay1uYW1lPlwiXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaW1wb3J0VG9JZCBUaGUgY29uc3RydWN0IGlkIHVzZWQgaW4gdGhlIGdlbmVyYXRlZCBjb25maWcgZm9yIHRoZSBMb2dQYXJzaW5nUnVsZSB0byBpbXBvcnRcbiAgKiBAcGFyYW0gaW1wb3J0RnJvbUlkIFRoZSBpZCBvZiB0aGUgZXhpc3RpbmcgTG9nUGFyc2luZ1J1bGUgdGhhdCBzaG91bGQgYmUgaW1wb3J0ZWQuIFJlZmVyIHRvIHRoZSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjEwL2RvY3MvcmVzb3VyY2VzL2xvZ19wYXJzaW5nX3J1bGUjaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIExvZ1BhcnNpbmdSdWxlIHRvIGltcG9ydCBpcyBmb3VuZFxuICAqL1xuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdG4uVGVycmFmb3JtUHJvdmlkZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBjZGt0bi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcIm5ld3JlbGljX2xvZ19wYXJzaW5nX3J1bGVcIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7XG4gICAgICB9XG5cbiAgLy8gPT09PT09PT09PT1cbiAgLy8gSU5JVElBTElaRVJcbiAgLy8gPT09PT09PT09PT1cblxuICAvKipcbiAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4xMC9kb2NzL3Jlc291cmNlcy9sb2dfcGFyc2luZ19ydWxlIG5ld3JlbGljX2xvZ19wYXJzaW5nX3J1bGV9IFJlc291cmNlXG4gICpcbiAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAqIEBwYXJhbSBpZCBUaGUgc2NvcGVkIGNvbnN0cnVjdCBJRC4gTXVzdCBiZSB1bmlxdWUgYW1vbmdzdCBzaWJsaW5ncyBpbiB0aGUgc2FtZSBzY29wZVxuICAqIEBwYXJhbSBvcHRpb25zIExvZ1BhcnNpbmdSdWxlQ29uZmlnXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjb25maWc6IExvZ1BhcnNpbmdSdWxlQ29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6ICduZXdyZWxpY19sb2dfcGFyc2luZ19ydWxlJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ25ld3JlbGljJyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uOiAnMy4xMDEuMTAnLFxuICAgICAgICBwcm92aWRlclZlcnNpb25Db25zdHJhaW50OiAnfj4gMy43J1xuICAgICAgfSxcbiAgICAgIHByb3ZpZGVyOiBjb25maWcucHJvdmlkZXIsXG4gICAgICBkZXBlbmRzT246IGNvbmZpZy5kZXBlbmRzT24sXG4gICAgICBjb3VudDogY29uZmlnLmNvdW50LFxuICAgICAgbGlmZWN5Y2xlOiBjb25maWcubGlmZWN5Y2xlLFxuICAgICAgcHJvdmlzaW9uZXJzOiBjb25maWcucHJvdmlzaW9uZXJzLFxuICAgICAgY29ubmVjdGlvbjogY29uZmlnLmNvbm5lY3Rpb24sXG4gICAgICBmb3JFYWNoOiBjb25maWcuZm9yRWFjaFxuICAgIH0pO1xuICAgIHRoaXMuX2FjY291bnRJZCA9IGNvbmZpZy5hY2NvdW50SWQ7XG4gICAgdGhpcy5fYXR0cmlidXRlID0gY29uZmlnLmF0dHJpYnV0ZTtcbiAgICB0aGlzLl9lbmFibGVkID0gY29uZmlnLmVuYWJsZWQ7XG4gICAgdGhpcy5fZ3JvayA9IGNvbmZpZy5ncm9rO1xuICAgIHRoaXMuX2lkID0gY29uZmlnLmlkO1xuICAgIHRoaXMuX2x1Y2VuZSA9IGNvbmZpZy5sdWNlbmU7XG4gICAgdGhpcy5fbWF0Y2hlZCA9IGNvbmZpZy5tYXRjaGVkO1xuICAgIHRoaXMuX25hbWUgPSBjb25maWcubmFtZTtcbiAgICB0aGlzLl9ucnFsID0gY29uZmlnLm5ycWw7XG4gIH1cblxuICAvLyA9PT09PT09PT09XG4gIC8vIEFUVFJJQlVURVNcbiAgLy8gPT09PT09PT09PVxuXG4gIC8vIGFjY291bnRfaWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9hY2NvdW50SWQ/OiBudW1iZXI7IFxuICBwdWJsaWMgZ2V0IGFjY291bnRJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJBdHRyaWJ1dGUoJ2FjY291bnRfaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGFjY291bnRJZCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fYWNjb3VudElkID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0QWNjb3VudElkKCkge1xuICAgIHRoaXMuX2FjY291bnRJZCA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgYWNjb3VudElkSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjY291bnRJZDtcbiAgfVxuXG4gIC8vIGF0dHJpYnV0ZSAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9hdHRyaWJ1dGU/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGF0dHJpYnV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2F0dHJpYnV0ZScpO1xuICB9XG4gIHB1YmxpYyBzZXQgYXR0cmlidXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hdHRyaWJ1dGUgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRBdHRyaWJ1dGUoKSB7XG4gICAgdGhpcy5fYXR0cmlidXRlID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBhdHRyaWJ1dGVJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlO1xuICB9XG5cbiAgLy8gZGVsZXRlZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGRlbGV0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Qm9vbGVhbkF0dHJpYnV0ZSgnZGVsZXRlZCcpO1xuICB9XG5cbiAgLy8gZW5hYmxlZCAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9lbmFibGVkPzogYm9vbGVhbiB8IGNka3RuLklSZXNvbHZhYmxlOyBcbiAgcHVibGljIGdldCBlbmFibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmdldEJvb2xlYW5BdHRyaWJ1dGUoJ2VuYWJsZWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGVuYWJsZWQodmFsdWU6IGJvb2xlYW4gfCBjZGt0bi5JUmVzb2x2YWJsZSkge1xuICAgIHRoaXMuX2VuYWJsZWQgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgZW5hYmxlZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgLy8gZ3JvayAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9ncm9rPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBncm9rKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnZ3JvaycpO1xuICB9XG4gIHB1YmxpYyBzZXQgZ3Jvayh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZ3JvayA9IHZhbHVlO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBncm9rSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2dyb2s7XG4gIH1cblxuICAvLyBpZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX2lkPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2lkJyk7XG4gIH1cbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRJZCgpIHtcbiAgICB0aGlzLl9pZCA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgaWRJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICAvLyBsdWNlbmUgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfbHVjZW5lPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBsdWNlbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdsdWNlbmUnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGx1Y2VuZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbHVjZW5lID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGx1Y2VuZUlucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9sdWNlbmU7XG4gIH1cblxuICAvLyBtYXRjaGVkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfbWF0Y2hlZD86IGJvb2xlYW4gfCBjZGt0bi5JUmVzb2x2YWJsZTsgXG4gIHB1YmxpYyBnZXQgbWF0Y2hlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCb29sZWFuQXR0cmlidXRlKCdtYXRjaGVkJyk7XG4gIH1cbiAgcHVibGljIHNldCBtYXRjaGVkKHZhbHVlOiBib29sZWFuIHwgY2RrdG4uSVJlc29sdmFibGUpIHtcbiAgICB0aGlzLl9tYXRjaGVkID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0TWF0Y2hlZCgpIHtcbiAgICB0aGlzLl9tYXRjaGVkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBtYXRjaGVkSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21hdGNoZWQ7XG4gIH1cblxuICAvLyBuYW1lIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiB0cnVlXG4gIHByaXZhdGUgX25hbWU/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCduYW1lJyk7XG4gIH1cbiAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9uYW1lID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IG5hbWVJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuXG4gIC8vIG5ycWwgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfbnJxbD86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgbnJxbCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ25ycWwnKTtcbiAgfVxuICBwdWJsaWMgc2V0IG5ycWwodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX25ycWwgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbnJxbElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9ucnFsO1xuICB9XG5cbiAgLy8gPT09PT09PT09XG4gIC8vIFNZTlRIRVNJU1xuICAvLyA9PT09PT09PT1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50X2lkOiBjZGt0bi5udW1iZXJUb1RlcnJhZm9ybSh0aGlzLl9hY2NvdW50SWQpLFxuICAgICAgYXR0cmlidXRlOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9hdHRyaWJ1dGUpLFxuICAgICAgZW5hYmxlZDogY2RrdG4uYm9vbGVhblRvVGVycmFmb3JtKHRoaXMuX2VuYWJsZWQpLFxuICAgICAgZ3JvazogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fZ3JvayksXG4gICAgICBpZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgbHVjZW5lOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9sdWNlbmUpLFxuICAgICAgbWF0Y2hlZDogY2RrdG4uYm9vbGVhblRvVGVycmFmb3JtKHRoaXMuX21hdGNoZWQpLFxuICAgICAgbmFtZTogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fbmFtZSksXG4gICAgICBucnFsOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9ucnFsKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBhdHRycyA9IHtcbiAgICAgIGFjY291bnRfaWQ6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLm51bWJlclRvSGNsVGVycmFmb3JtKHRoaXMuX2FjY291bnRJZCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcIm51bWJlclwiLFxuICAgICAgfSxcbiAgICAgIGF0dHJpYnV0ZToge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5fYXR0cmlidXRlKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgICAgZW5hYmxlZDoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uYm9vbGVhblRvSGNsVGVycmFmb3JtKHRoaXMuX2VuYWJsZWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJib29sZWFuXCIsXG4gICAgICB9LFxuICAgICAgZ3Jvazoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5fZ3JvayksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIGlkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9pZCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIGx1Y2VuZToge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5fbHVjZW5lKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgICAgbWF0Y2hlZDoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uYm9vbGVhblRvSGNsVGVycmFmb3JtKHRoaXMuX21hdGNoZWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJib29sZWFuXCIsXG4gICAgICB9LFxuICAgICAgbmFtZToge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5fbmFtZSksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIG5ycWw6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX25ycWwpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIHJlbW92ZSB1bmRlZmluZWQgYXR0cmlidXRlc1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkICkpXG4gIH1cbn1cbiJdfQ==
@@ -8,17 +8,17 @@ export interface MetricPruningRuleConfig extends cdktn.TerraformMetaArguments {
8
8
  /**
9
9
  * The account ID in which the pruning rule is created.
10
10
  *
11
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule#account_id MetricPruningRule#account_id}
11
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule#account_id MetricPruningRule#account_id}
12
12
  */
13
13
  readonly accountId?: number;
14
14
  /**
15
15
  * A human-readable description of the pruning rule.
16
16
  *
17
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule#description MetricPruningRule#description}
17
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule#description MetricPruningRule#description}
18
18
  */
19
19
  readonly description?: string;
20
20
  /**
21
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule#id MetricPruningRule#id}
21
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule#id MetricPruningRule#id}
22
22
  *
23
23
  * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
24
24
  * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
@@ -27,12 +27,12 @@ export interface MetricPruningRuleConfig extends cdktn.TerraformMetaArguments {
27
27
  /**
28
28
  * The NRQL query that identifies the metric attributes to prune. Must select specific attributes from Metric (e.g. `SELECT collector.name FROM Metric WHERE metricName = 'my.metric'`).
29
29
  *
30
- * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule#nrql MetricPruningRule#nrql}
30
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule#nrql MetricPruningRule#nrql}
31
31
  */
32
32
  readonly nrql: string;
33
33
  }
34
34
  /**
35
- * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule newrelic_metric_pruning_rule}
35
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule newrelic_metric_pruning_rule}
36
36
  */
37
37
  export declare class MetricPruningRule extends cdktn.TerraformResource {
38
38
  static readonly tfResourceType = "newrelic_metric_pruning_rule";
@@ -40,12 +40,12 @@ export declare class MetricPruningRule extends cdktn.TerraformResource {
40
40
  * Generates CDKTN code for importing a MetricPruningRule resource upon running "cdktn plan <stack-name>"
41
41
  * @param scope The scope in which to define this construct
42
42
  * @param importToId The construct id used in the generated config for the MetricPruningRule to import
43
- * @param importFromId The id of the existing MetricPruningRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule#import import section} in the documentation of this resource for the id to use
43
+ * @param importFromId The id of the existing MetricPruningRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule#import import section} in the documentation of this resource for the id to use
44
44
  * @param provider? Optional instance of the provider where the MetricPruningRule to import is found
45
45
  */
46
46
  static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
47
47
  /**
48
- * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule newrelic_metric_pruning_rule} Resource
48
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule newrelic_metric_pruning_rule} Resource
49
49
  *
50
50
  * @param scope The scope in which to define this construct
51
51
  * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
@@ -37,10 +37,10 @@ exports.MetricPruningRule = void 0;
37
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
38
38
  const cdktn = __importStar(require("cdktn"));
39
39
  /**
40
- * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule newrelic_metric_pruning_rule}
40
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule newrelic_metric_pruning_rule}
41
41
  */
42
42
  class MetricPruningRule extends cdktn.TerraformResource {
43
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdktn/provider-newrelic.metricPruningRule.MetricPruningRule", version: "17.0.0" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdktn/provider-newrelic.metricPruningRule.MetricPruningRule", version: "17.0.1" };
44
44
  // =================
45
45
  // STATIC PROPERTIES
46
46
  // =================
@@ -52,7 +52,7 @@ class MetricPruningRule extends cdktn.TerraformResource {
52
52
  * Generates CDKTN code for importing a MetricPruningRule resource upon running "cdktn plan <stack-name>"
53
53
  * @param scope The scope in which to define this construct
54
54
  * @param importToId The construct id used in the generated config for the MetricPruningRule to import
55
- * @param importFromId The id of the existing MetricPruningRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule#import import section} in the documentation of this resource for the id to use
55
+ * @param importFromId The id of the existing MetricPruningRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule#import import section} in the documentation of this resource for the id to use
56
56
  * @param provider? Optional instance of the provider where the MetricPruningRule to import is found
57
57
  */
58
58
  static generateConfigForImport(scope, importToId, importFromId, provider) {
@@ -62,7 +62,7 @@ class MetricPruningRule extends cdktn.TerraformResource {
62
62
  // INITIALIZER
63
63
  // ===========
64
64
  /**
65
- * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.6/docs/resources/metric_pruning_rule newrelic_metric_pruning_rule} Resource
65
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.101.10/docs/resources/metric_pruning_rule newrelic_metric_pruning_rule} Resource
66
66
  *
67
67
  * @param scope The scope in which to define this construct
68
68
  * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
@@ -73,7 +73,7 @@ class MetricPruningRule extends cdktn.TerraformResource {
73
73
  terraformResourceType: 'newrelic_metric_pruning_rule',
74
74
  terraformGeneratorMetadata: {
75
75
  providerName: 'newrelic',
76
- providerVersion: '3.101.6',
76
+ providerVersion: '3.101.10',
77
77
  providerVersionConstraint: '~> 3.7'
78
78
  },
79
79
  provider: config.provider,
@@ -196,4 +196,4 @@ class MetricPruningRule extends cdktn.TerraformResource {
196
196
  }
197
197
  }
198
198
  exports.MetricPruningRule = MetricPruningRule;
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWV0cmljLXBydW5pbmctcnVsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0EsNkNBQStCO0FBZ0MvQjs7RUFFRTtBQUNGLE1BQWEsaUJBQWtCLFNBQVEsS0FBSyxDQUFDLGlCQUFpQjs7SUFFNUQsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDYixNQUFNLENBQVUsY0FBYyxHQUFHLDhCQUE4QixDQUFDO0lBRXZFLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCOzs7Ozs7TUFNRTtJQUNLLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFnQixFQUFFLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxRQUFrQztRQUM5SCxPQUFPLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSw4QkFBOEIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdEosQ0FBQztJQUVMLGNBQWM7SUFDZCxjQUFjO0lBQ2QsY0FBYztJQUVkOzs7Ozs7TUFNRTtJQUNGLFlBQW1CLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQStCO1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YscUJBQXFCLEVBQUUsOEJBQThCO1lBQ3JELDBCQUEwQixFQUFFO2dCQUMxQixZQUFZLEVBQUUsVUFBVTtnQkFDeEIsZUFBZSxFQUFFLFNBQVM7Z0JBQzFCLHlCQUF5QixFQUFFLFFBQVE7YUFDcEM7WUFDRCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixTQUFTLEVB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Q0FBQyxDQUFBO0lBQzVILENBQUM7O0FBdktILDhDQXdLQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDIxLCAyMDI2XG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL21ldHJpY19wcnVuaW5nX3J1bGVcbi8vIGdlbmVyYXRlZCBmcm9tIHRlcnJhZm9ybSByZXNvdXJjZSBzY2hlbWFcblxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBjZGt0biBmcm9tICdjZGt0bic7XG5cbi8vIENvbmZpZ3VyYXRpb25cblxuZXhwb3J0IGludGVyZmFjZSBNZXRyaWNQcnVuaW5nUnVsZUNvbmZpZyBleHRlbmRzIGNka3RuLlRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICAvKipcbiAgKiBUaGUgYWNjb3VudCBJRCBpbiB3aGljaCB0aGUgcHJ1bmluZyBydWxlIGlzIGNyZWF0ZWQuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL21ldHJpY19wcnVuaW5nX3J1bGUjYWNjb3VudF9pZCBNZXRyaWNQcnVuaW5nUnVsZSNhY2NvdW50X2lkfVxuICAqL1xuICByZWFkb25seSBhY2NvdW50SWQ/OiBudW1iZXI7XG4gIC8qKlxuICAqIEEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIHBydW5pbmcgcnVsZS5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjYvZG9jcy9yZXNvdXJjZXMvbWV0cmljX3BydW5pbmdfcnVsZSNkZXNjcmlwdGlvbiBNZXRyaWNQcnVuaW5nUnVsZSNkZXNjcmlwdGlvbn1cbiAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjYvZG9jcy9yZXNvdXJjZXMvbWV0cmljX3BydW5pbmdfcnVsZSNpZCBNZXRyaWNQcnVuaW5nUnVsZSNpZH1cbiAgKlxuICAqIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHRoZSBpZCBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIGFsbCByZXNvdXJjZXMgaW4gVGVycmFmb3JtIHByb3ZpZGVycyB1c2luZyBhIFRlcnJhZm9ybSBwcm92aWRlciBTREsgdmVyc2lvbiBiZWxvdyAyLlxuICAqIElmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHNldHRpbmcgdGhpcyB2YWx1ZSBpdCBtaWdodCBub3QgYmUgc2V0dGFibGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgcHJvdmlkZXIgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgaXQgc2hvdWxkIGJlIHNldHRhYmxlLlxuICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgLyoqXG4gICogVGhlIE5SUUwgcXVlcnkgdGhhdCBpZGVudGlmaWVzIHRoZSBtZXRyaWMgYXR0cmlidXRlcyB0byBwcnVuZS4gTXVzdCBzZWxlY3Qgc3BlY2lmaWMgYXR0cmlidXRlcyBmcm9tIE1ldHJpYyAoZS5nLiBgU0VMRUNUIGNvbGxlY3Rvci5uYW1lIEZST00gTWV0cmljIFdIRVJFIG1ldHJpY05hbWUgPSAnbXkubWV0cmljJ2ApLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuNi9kb2NzL3Jlc291cmNlcy9tZXRyaWNfcHJ1bmluZ19ydWxlI25ycWwgTWV0cmljUHJ1bmluZ1J1bGUjbnJxbH1cbiAgKi9cbiAgcmVhZG9ubHkgbnJxbDogc3RyaW5nO1xufVxuXG4vKipcbiogUmVwcmVzZW50cyBhIHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuNi9kb2NzL3Jlc291cmNlcy9tZXRyaWNfcHJ1bmluZ19ydWxlIG5ld3JlbGljX21ldHJpY19wcnVuaW5nX3J1bGV9XG4qL1xuZXhwb3J0IGNsYXNzIE1ldHJpY1BydW5pbmdSdWxlIGV4dGVuZHMgY2RrdG4uVGVycmFmb3JtUmVzb3VyY2Uge1xuXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBQUk9QRVJUSUVTXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcIm5ld3JlbGljX21ldHJpY19wcnVuaW5nX3J1bGVcIjtcblxuICAvLyA9PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgTWV0aG9kc1xuICAvLyA9PT09PT09PT09PT09PVxuICAvKipcbiAgKiBHZW5lcmF0ZXMgQ0RLVE4gY29kZSBmb3IgaW1wb3J0aW5nIGEgTWV0cmljUHJ1bmluZ1J1bGUgcmVzb3VyY2UgdXBvbiBydW5uaW5nIFwiY2RrdG4gcGxhbiA8c3RhY2stbmFtZT5cIlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGltcG9ydFRvSWQgVGhlIGNvbnN0cnVjdCBpZCB1c2VkIGluIHRoZSBnZW5lcmF0ZWQgY29uZmlnIGZvciB0aGUgTWV0cmljUHJ1bmluZ1J1bGUgdG8gaW1wb3J0XG4gICogQHBhcmFtIGltcG9ydEZyb21JZCBUaGUgaWQgb2YgdGhlIGV4aXN0aW5nIE1ldHJpY1BydW5pbmdSdWxlIHRoYXQgc2hvdWxkIGJlIGltcG9ydGVkLiBSZWZlciB0byB0aGUge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL21ldHJpY19wcnVuaW5nX3J1bGUjaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIE1ldHJpY1BydW5pbmdSdWxlIHRvIGltcG9ydCBpcyBmb3VuZFxuICAqL1xuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdG4uVGVycmFmb3JtUHJvdmlkZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBjZGt0bi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcIm5ld3JlbGljX21ldHJpY19wcnVuaW5nX3J1bGVcIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7XG4gICAgICB9XG5cbiAgLy8gPT09PT09PT09PT1cbiAgLy8gSU5JVElBTElaRVJcbiAgLy8gPT09PT09PT09PT1cblxuICAvKipcbiAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS42L2RvY3MvcmVzb3VyY2VzL21ldHJpY19wcnVuaW5nX3J1bGUgbmV3cmVsaWNfbWV0cmljX3BydW5pbmdfcnVsZX0gUmVzb3VyY2VcbiAgKlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGlkIFRoZSBzY29wZWQgY29uc3RydWN0IElELiBNdXN0IGJlIHVuaXF1ZSBhbW9uZ3N0IHNpYmxpbmdzIGluIHRoZSBzYW1lIHNjb3BlXG4gICogQHBhcmFtIG9wdGlvbnMgTWV0cmljUHJ1bmluZ1J1bGVDb25maWdcbiAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogTWV0cmljUHJ1bmluZ1J1bGVDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZTogJ25ld3JlbGljX21ldHJpY19wcnVuaW5nX3J1bGUnLFxuICAgICAgdGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE6IHtcbiAgICAgICAgcHJvdmlkZXJOYW1lOiAnbmV3cmVsaWMnLFxuICAgICAgICBwcm92aWRlclZlcnNpb246ICczLjEwMS42JyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uQ29uc3RyYWludDogJ34+IDMuNydcbiAgICAgIH0sXG4gICAgICBwcm92aWRlcjogY29uZmlnLnByb3ZpZGVyLFxuICAgICAgZGVwZW5kc09uOiBjb25maWcuZGVwZW5kc09uLFxuICAgICAgY291bnQ6IGNvbmZpZy5jb3VudCxcbiAgICAgIGxpZmVjeWNsZTogY29uZmlnLmxpZmVjeWNsZSxcbiAgICAgIHByb3Zpc2lvbmVyczogY29uZmlnLnByb3Zpc2lvbmVycyxcbiAgICAgIGNvbm5lY3Rpb246IGNvbmZpZy5jb25uZWN0aW9uLFxuICAgICAgZm9yRWFjaDogY29uZmlnLmZvckVhY2hcbiAgICB9KTtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSBjb25maWcuYWNjb3VudElkO1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gY29uZmlnLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuX2lkID0gY29uZmlnLmlkO1xuICAgIHRoaXMuX25ycWwgPSBjb25maWcubnJxbDtcbiAgfVxuXG4gIC8vID09PT09PT09PT1cbiAgLy8gQVRUUklCVVRFU1xuICAvLyA9PT09PT09PT09XG5cbiAgLy8gYWNjb3VudF9pZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX2FjY291bnRJZD86IG51bWJlcjsgXG4gIHB1YmxpYyBnZXQgYWNjb3VudElkKCkge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlckF0dHJpYnV0ZSgnYWNjb3VudF9pZCcpO1xuICB9XG4gIHB1YmxpYyBzZXQgYWNjb3VudElkKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRBY2NvdW50SWQoKSB7XG4gICAgdGhpcy5fYWNjb3VudElkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBhY2NvdW50SWRJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWNjb3VudElkO1xuICB9XG5cbiAgLy8gZGVzY3JpcHRpb24gLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfZGVzY3JpcHRpb24/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnZGVzY3JpcHRpb24nKTtcbiAgfVxuICBwdWJsaWMgc2V0IGRlc2NyaXB0aW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kZXNjcmlwdGlvbiA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldERlc2NyaXB0aW9uKCkge1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbklucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIC8vIGlkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfaWQ/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldElkKCkge1xuICAgIHRoaXMuX2lkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBpZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIC8vIG5ycWwgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfbnJxbD86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgbnJxbCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ25ycWwnKTtcbiAgfVxuICBwdWJsaWMgc2V0IG5ycWwodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX25ycWwgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbnJxbElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9ucnFsO1xuICB9XG5cbiAgLy8gcnVsZV9pZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IHJ1bGVJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3J1bGVfaWQnKTtcbiAgfVxuXG4gIC8vID09PT09PT09PVxuICAvLyBTWU5USEVTSVNcbiAgLy8gPT09PT09PT09XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgYWNjb3VudF9pZDogY2RrdG4ubnVtYmVyVG9UZXJyYWZvcm0odGhpcy5fYWNjb3VudElkKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9kZXNjcmlwdGlvbiksXG4gICAgICBpZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgbnJxbDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fbnJxbCksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgYXR0cnMgPSB7XG4gICAgICBhY2NvdW50X2lkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5udW1iZXJUb0hjbFRlcnJhZm9ybSh0aGlzLl9hY2NvdW50SWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJudW1iZXJcIixcbiAgICAgIH0sXG4gICAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5fZGVzY3JpcHRpb24pLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICBpZDoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICBucnFsOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9ucnFsKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyByZW1vdmUgdW5kZWZpbmVkIGF0dHJpYnV0ZXNcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGF0dHJzKS5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUudmFsdWUgIT09IHVuZGVmaW5lZCApKVxuICB9XG59XG4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWV0cmljLXBydW5pbmctcnVsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0EsNkNBQStCO0FBZ0MvQjs7RUFFRTtBQUNGLE1BQWEsaUJBQWtCLFNBQVEsS0FBSyxDQUFDLGlCQUFpQjs7SUFFNUQsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDYixNQUFNLENBQVUsY0FBYyxHQUFHLDhCQUE4QixDQUFDO0lBRXZFLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCOzs7Ozs7TUFNRTtJQUNLLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFnQixFQUFFLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxRQUFrQztRQUM5SCxPQUFPLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSw4QkFBOEIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdEosQ0FBQztJQUVMLGNBQWM7SUFDZCxjQUFjO0lBQ2QsY0FBYztJQUVkOzs7Ozs7TUFNRTtJQUNGLFlBQW1CLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQStCO1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YscUJBQXFCLEVBQUUsOEJBQThCO1lBQ3JELDBCQUEwQixFQUFFO2dCQUMxQixZQUFZLEVBQUUsVUFBVTtnQkFDeEIsZUFBZSxFQUFFLFVBQVU7Z0JBQzNCLHlCQUF5QixFQUFFLFFBQVE7YUFDcEM7WUFDRCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixTQUFTLEVB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Q0FBQyxDQUFBO0lBQzVILENBQUM7O0FBdktILDhDQXdLQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDIxLCAyMDI2XG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4xMC9kb2NzL3Jlc291cmNlcy9tZXRyaWNfcHJ1bmluZ19ydWxlXG4vLyBnZW5lcmF0ZWQgZnJvbSB0ZXJyYWZvcm0gcmVzb3VyY2Ugc2NoZW1hXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgY2RrdG4gZnJvbSAnY2RrdG4nO1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljUHJ1bmluZ1J1bGVDb25maWcgZXh0ZW5kcyBjZGt0bi5UZXJyYWZvcm1NZXRhQXJndW1lbnRzIHtcbiAgLyoqXG4gICogVGhlIGFjY291bnQgSUQgaW4gd2hpY2ggdGhlIHBydW5pbmcgcnVsZSBpcyBjcmVhdGVkLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuMTAvZG9jcy9yZXNvdXJjZXMvbWV0cmljX3BydW5pbmdfcnVsZSNhY2NvdW50X2lkIE1ldHJpY1BydW5pbmdSdWxlI2FjY291bnRfaWR9XG4gICovXG4gIHJlYWRvbmx5IGFjY291bnRJZD86IG51bWJlcjtcbiAgLyoqXG4gICogQSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgcHJ1bmluZyBydWxlLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuMTAvZG9jcy9yZXNvdXJjZXMvbWV0cmljX3BydW5pbmdfcnVsZSNkZXNjcmlwdGlvbiBNZXRyaWNQcnVuaW5nUnVsZSNkZXNjcmlwdGlvbn1cbiAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjEwL2RvY3MvcmVzb3VyY2VzL21ldHJpY19wcnVuaW5nX3J1bGUjaWQgTWV0cmljUHJ1bmluZ1J1bGUjaWR9XG4gICpcbiAgKiBQbGVhc2UgYmUgYXdhcmUgdGhhdCB0aGUgaWQgZmllbGQgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byBhbGwgcmVzb3VyY2VzIGluIFRlcnJhZm9ybSBwcm92aWRlcnMgdXNpbmcgYSBUZXJyYWZvcm0gcHJvdmlkZXIgU0RLIHZlcnNpb24gYmVsb3cgMi5cbiAgKiBJZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcyBzZXR0aW5nIHRoaXMgdmFsdWUgaXQgbWlnaHQgbm90IGJlIHNldHRhYmxlLiBQbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIHByb3ZpZGVyIGRvY3VtZW50YXRpb24gdG8gZW5zdXJlIGl0IHNob3VsZCBiZSBzZXR0YWJsZS5cbiAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAqIFRoZSBOUlFMIHF1ZXJ5IHRoYXQgaWRlbnRpZmllcyB0aGUgbWV0cmljIGF0dHJpYnV0ZXMgdG8gcHJ1bmUuIE11c3Qgc2VsZWN0IHNwZWNpZmljIGF0dHJpYnV0ZXMgZnJvbSBNZXRyaWMgKGUuZy4gYFNFTEVDVCBjb2xsZWN0b3IubmFtZSBGUk9NIE1ldHJpYyBXSEVSRSBtZXRyaWNOYW1lID0gJ215Lm1ldHJpYydgKS5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuMTAxLjEwL2RvY3MvcmVzb3VyY2VzL21ldHJpY19wcnVuaW5nX3J1bGUjbnJxbCBNZXRyaWNQcnVuaW5nUnVsZSNucnFsfVxuICAqL1xuICByZWFkb25seSBucnFsOiBzdHJpbmc7XG59XG5cbi8qKlxuKiBSZXByZXNlbnRzIGEge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4xMC9kb2NzL3Jlc291cmNlcy9tZXRyaWNfcHJ1bmluZ19ydWxlIG5ld3JlbGljX21ldHJpY19wcnVuaW5nX3J1bGV9XG4qL1xuZXhwb3J0IGNsYXNzIE1ldHJpY1BydW5pbmdSdWxlIGV4dGVuZHMgY2RrdG4uVGVycmFmb3JtUmVzb3VyY2Uge1xuXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBQUk9QRVJUSUVTXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcIm5ld3JlbGljX21ldHJpY19wcnVuaW5nX3J1bGVcIjtcblxuICAvLyA9PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgTWV0aG9kc1xuICAvLyA9PT09PT09PT09PT09PVxuICAvKipcbiAgKiBHZW5lcmF0ZXMgQ0RLVE4gY29kZSBmb3IgaW1wb3J0aW5nIGEgTWV0cmljUHJ1bmluZ1J1bGUgcmVzb3VyY2UgdXBvbiBydW5uaW5nIFwiY2RrdG4gcGxhbiA8c3RhY2stbmFtZT5cIlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGltcG9ydFRvSWQgVGhlIGNvbnN0cnVjdCBpZCB1c2VkIGluIHRoZSBnZW5lcmF0ZWQgY29uZmlnIGZvciB0aGUgTWV0cmljUHJ1bmluZ1J1bGUgdG8gaW1wb3J0XG4gICogQHBhcmFtIGltcG9ydEZyb21JZCBUaGUgaWQgb2YgdGhlIGV4aXN0aW5nIE1ldHJpY1BydW5pbmdSdWxlIHRoYXQgc2hvdWxkIGJlIGltcG9ydGVkLiBSZWZlciB0byB0aGUge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjEwMS4xMC9kb2NzL3Jlc291cmNlcy9tZXRyaWNfcHJ1bmluZ19ydWxlI2ltcG9ydCBpbXBvcnQgc2VjdGlvbn0gaW4gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhpcyByZXNvdXJjZSBmb3IgdGhlIGlkIHRvIHVzZVxuICAqIEBwYXJhbSBwcm92aWRlcj8gT3B0aW9uYWwgaW5zdGFuY2Ugb2YgdGhlIHByb3ZpZGVyIHdoZXJlIHRoZSBNZXRyaWNQcnVuaW5nUnVsZSB0byBpbXBvcnQgaXMgZm91bmRcbiAgKi9cbiAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUNvbmZpZ0ZvckltcG9ydChzY29wZTogQ29uc3RydWN0LCBpbXBvcnRUb0lkOiBzdHJpbmcsIGltcG9ydEZyb21JZDogc3RyaW5nLCBwcm92aWRlcj86IGNka3RuLlRlcnJhZm9ybVByb3ZpZGVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgY2RrdG4uSW1wb3J0YWJsZVJlc291cmNlKHNjb3BlLCBpbXBvcnRUb0lkLCB7IHRlcnJhZm9ybVJlc291cmNlVHlwZTogXCJuZXdyZWxpY19tZXRyaWNfcHJ1bmluZ19ydWxlXCIsIGltcG9ydElkOiBpbXBvcnRGcm9tSWQsIHByb3ZpZGVyIH0pO1xuICAgICAgfVxuXG4gIC8vID09PT09PT09PT09XG4gIC8vIElOSVRJQUxJWkVSXG4gIC8vID09PT09PT09PT09XG5cbiAgLyoqXG4gICogQ3JlYXRlIGEgbmV3IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy4xMDEuMTAvZG9jcy9yZXNvdXJjZXMvbWV0cmljX3BydW5pbmdfcnVsZSBuZXdyZWxpY19tZXRyaWNfcHJ1bmluZ19ydWxlfSBSZXNvdXJjZVxuICAqXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaWQgVGhlIHNjb3BlZCBjb25zdHJ1Y3QgSUQuIE11c3QgYmUgdW5pcXVlIGFtb25nc3Qgc2libGluZ3MgaW4gdGhlIHNhbWUgc2NvcGVcbiAgKiBAcGFyYW0gb3B0aW9ucyBNZXRyaWNQcnVuaW5nUnVsZUNvbmZpZ1xuICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBNZXRyaWNQcnVuaW5nUnVsZUNvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiAnbmV3cmVsaWNfbWV0cmljX3BydW5pbmdfcnVsZScsXG4gICAgICB0ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YToge1xuICAgICAgICBwcm92aWRlck5hbWU6ICduZXdyZWxpYycsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbjogJzMuMTAxLjEwJyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uQ29uc3RyYWludDogJ34+IDMuNydcbiAgICAgIH0sXG4gICAgICBwcm92aWRlcjogY29uZmlnLnByb3ZpZGVyLFxuICAgICAgZGVwZW5kc09uOiBjb25maWcuZGVwZW5kc09uLFxuICAgICAgY291bnQ6IGNvbmZpZy5jb3VudCxcbiAgICAgIGxpZmVjeWNsZTogY29uZmlnLmxpZmVjeWNsZSxcbiAgICAgIHByb3Zpc2lvbmVyczogY29uZmlnLnByb3Zpc2lvbmVycyxcbiAgICAgIGNvbm5lY3Rpb246IGNvbmZpZy5jb25uZWN0aW9uLFxuICAgICAgZm9yRWFjaDogY29uZmlnLmZvckVhY2hcbiAgICB9KTtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSBjb25maWcuYWNjb3VudElkO1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gY29uZmlnLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuX2lkID0gY29uZmlnLmlkO1xuICAgIHRoaXMuX25ycWwgPSBjb25maWcubnJxbDtcbiAgfVxuXG4gIC8vID09PT09PT09PT1cbiAgLy8gQVRUUklCVVRFU1xuICAvLyA9PT09PT09PT09XG5cbiAgLy8gYWNjb3VudF9pZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX2FjY291bnRJZD86IG51bWJlcjsgXG4gIHB1YmxpYyBnZXQgYWNjb3VudElkKCkge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlckF0dHJpYnV0ZSgnYWNjb3VudF9pZCcpO1xuICB9XG4gIHB1YmxpYyBzZXQgYWNjb3VudElkKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRBY2NvdW50SWQoKSB7XG4gICAgdGhpcy5fYWNjb3VudElkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBhY2NvdW50SWRJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWNjb3VudElkO1xuICB9XG5cbiAgLy8gZGVzY3JpcHRpb24gLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfZGVzY3JpcHRpb24/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnZGVzY3JpcHRpb24nKTtcbiAgfVxuICBwdWJsaWMgc2V0IGRlc2NyaXB0aW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kZXNjcmlwdGlvbiA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldERlc2NyaXB0aW9uKCkge1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbklucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIC8vIGlkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfaWQ/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldElkKCkge1xuICAgIHRoaXMuX2lkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBpZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIC8vIG5ycWwgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfbnJxbD86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgbnJxbCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ25ycWwnKTtcbiAgfVxuICBwdWJsaWMgc2V0IG5ycWwodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX25ycWwgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbnJxbElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9ucnFsO1xuICB9XG5cbiAgLy8gcnVsZV9pZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IHJ1bGVJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3J1bGVfaWQnKTtcbiAgfVxuXG4gIC8vID09PT09PT09PVxuICAvLyBTWU5USEVTSVNcbiAgLy8gPT09PT09PT09XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgYWNjb3VudF9pZDogY2RrdG4ubnVtYmVyVG9UZXJyYWZvcm0odGhpcy5fYWNjb3VudElkKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9kZXNjcmlwdGlvbiksXG4gICAgICBpZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgbnJxbDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fbnJxbCksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgYXR0cnMgPSB7XG4gICAgICBhY2NvdW50X2lkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5udW1iZXJUb0hjbFRlcnJhZm9ybSh0aGlzLl9hY2NvdW50SWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJudW1iZXJcIixcbiAgICAgIH0sXG4gICAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5fZGVzY3JpcHRpb24pLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICBpZDoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICBucnFsOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9ucnFsKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyByZW1vdmUgdW5kZWZpbmVkIGF0dHJpYnV0ZXNcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGF0dHJzKS5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUudmFsdWUgIT09IHVuZGVmaW5lZCApKVxuICB9XG59XG4iXX0=