@cdk_utils/iam 1.30.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.d.ts +2 -0
  41. package/lib/generated/services/arc-region-switch.js +7 -5
  42. package/lib/generated/services/arc-zonal-shift.js +4 -4
  43. package/lib/generated/services/arsenal.js +1 -1
  44. package/lib/generated/services/artifact.js +4 -4
  45. package/lib/generated/services/athena.js +4 -4
  46. package/lib/generated/services/auditmanager.js +4 -4
  47. package/lib/generated/services/autoscaling-plans.js +2 -2
  48. package/lib/generated/services/autoscaling.js +4 -4
  49. package/lib/generated/services/aws-external-anthropic.d.ts +24 -0
  50. package/lib/generated/services/aws-external-anthropic.js +44 -4
  51. package/lib/generated/services/aws-marketplace-management.js +1 -1
  52. package/lib/generated/services/aws-marketplace.js +4 -4
  53. package/lib/generated/services/aws-portal.js +1 -1
  54. package/lib/generated/services/awsconnector.js +1 -1
  55. package/lib/generated/services/b2bi.js +4 -4
  56. package/lib/generated/services/backup-gateway.js +4 -4
  57. package/lib/generated/services/backup-search.js +4 -4
  58. package/lib/generated/services/backup-storage.js +1 -1
  59. package/lib/generated/services/backup.js +4 -4
  60. package/lib/generated/services/batch.js +4 -4
  61. package/lib/generated/services/bcm-dashboards.js +4 -4
  62. package/lib/generated/services/bcm-data-exports.js +4 -4
  63. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  64. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  65. package/lib/generated/services/bedrock-agentcore.d.ts +2 -0
  66. package/lib/generated/services/bedrock-agentcore.js +7 -5
  67. package/lib/generated/services/bedrock-mantle.js +3 -3
  68. package/lib/generated/services/bedrock-websearch.js +2 -2
  69. package/lib/generated/services/bedrock.d.ts +8 -0
  70. package/lib/generated/services/bedrock.js +13 -5
  71. package/lib/generated/services/billing.js +4 -4
  72. package/lib/generated/services/billingconductor.js +4 -4
  73. package/lib/generated/services/braket.js +4 -4
  74. package/lib/generated/services/budgets.js +4 -4
  75. package/lib/generated/services/bugbust.js +3 -3
  76. package/lib/generated/services/cases.js +4 -4
  77. package/lib/generated/services/cassandra.js +4 -4
  78. package/lib/generated/services/ce.js +4 -4
  79. package/lib/generated/services/chatbot.js +4 -4
  80. package/lib/generated/services/chime.js +4 -4
  81. package/lib/generated/services/cleanrooms-ml.js +4 -4
  82. package/lib/generated/services/cleanrooms.js +4 -4
  83. package/lib/generated/services/cloud9.js +4 -4
  84. package/lib/generated/services/clouddirectory.js +3 -3
  85. package/lib/generated/services/cloudformation.js +4 -4
  86. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  87. package/lib/generated/services/cloudfront.js +4 -4
  88. package/lib/generated/services/cloudhsm.js +4 -4
  89. package/lib/generated/services/cloudsearch.js +3 -3
  90. package/lib/generated/services/cloudshell.js +3 -3
  91. package/lib/generated/services/cloudtrail-data.js +4 -4
  92. package/lib/generated/services/cloudtrail.js +4 -4
  93. package/lib/generated/services/cloudwatch.d.ts +10 -0
  94. package/lib/generated/services/cloudwatch.js +20 -7
  95. package/lib/generated/services/codeartifact.js +4 -4
  96. package/lib/generated/services/codebuild.js +4 -4
  97. package/lib/generated/services/codecatalyst.js +4 -4
  98. package/lib/generated/services/codecommit.js +4 -4
  99. package/lib/generated/services/codeconnections.js +4 -4
  100. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  101. package/lib/generated/services/codedeploy.js +4 -4
  102. package/lib/generated/services/codeguru-profiler.js +4 -4
  103. package/lib/generated/services/codeguru-reviewer.js +4 -4
  104. package/lib/generated/services/codeguru-security.js +4 -4
  105. package/lib/generated/services/codeguru.js +1 -1
  106. package/lib/generated/services/codepipeline.js +4 -4
  107. package/lib/generated/services/codestar-connections.js +4 -4
  108. package/lib/generated/services/codestar-notifications.js +4 -4
  109. package/lib/generated/services/codestar.js +3 -3
  110. package/lib/generated/services/codewhisperer.js +3 -3
  111. package/lib/generated/services/cognito-identity.js +4 -4
  112. package/lib/generated/services/cognito-idp.js +4 -4
  113. package/lib/generated/services/cognito-sync.js +3 -3
  114. package/lib/generated/services/comprehend.js +4 -4
  115. package/lib/generated/services/comprehendmedical.js +3 -3
  116. package/lib/generated/services/compute-optimizer.js +3 -3
  117. package/lib/generated/services/config.js +4 -4
  118. package/lib/generated/services/connect-campaigns.js +4 -4
  119. package/lib/generated/services/connect.js +4 -4
  120. package/lib/generated/services/consoleapp.js +2 -2
  121. package/lib/generated/services/consolidatedbilling.js +1 -1
  122. package/lib/generated/services/controlcatalog.js +3 -3
  123. package/lib/generated/services/controltower.js +4 -4
  124. package/lib/generated/services/cost-optimization-hub.js +2 -2
  125. package/lib/generated/services/cur.js +4 -4
  126. package/lib/generated/services/customer-verification.js +1 -1
  127. package/lib/generated/services/databrew.js +4 -4
  128. package/lib/generated/services/dataexchange.js +4 -4
  129. package/lib/generated/services/datapipeline.js +4 -4
  130. package/lib/generated/services/datasync.js +4 -4
  131. package/lib/generated/services/datazone.d.ts +28 -0
  132. package/lib/generated/services/datazone.js +47 -5
  133. package/lib/generated/services/dax.js +4 -4
  134. package/lib/generated/services/dbqms.js +1 -1
  135. package/lib/generated/services/deadline.js +4 -4
  136. package/lib/generated/services/detective.js +4 -4
  137. package/lib/generated/services/devicefarm.js +4 -4
  138. package/lib/generated/services/devops-guru.js +4 -4
  139. package/lib/generated/services/directconnect.js +4 -4
  140. package/lib/generated/services/discovery.js +3 -3
  141. package/lib/generated/services/dlm.js +4 -4
  142. package/lib/generated/services/dms.js +4 -4
  143. package/lib/generated/services/docdb-elastic.js +4 -4
  144. package/lib/generated/services/drs.js +4 -4
  145. package/lib/generated/services/ds-data.js +4 -4
  146. package/lib/generated/services/ds.js +4 -4
  147. package/lib/generated/services/dsql.js +4 -4
  148. package/lib/generated/services/dynamodb.js +4 -4
  149. package/lib/generated/services/ebs.js +4 -4
  150. package/lib/generated/services/ec2-instance-connect.js +4 -4
  151. package/lib/generated/services/ec2.d.ts +14 -0
  152. package/lib/generated/services/ec2.js +29 -7
  153. package/lib/generated/services/ec2messages.js +2 -2
  154. package/lib/generated/services/ecr-public.js +4 -4
  155. package/lib/generated/services/ecr.js +4 -4
  156. package/lib/generated/services/ecs-mcp.js +1 -1
  157. package/lib/generated/services/ecs.js +4 -4
  158. package/lib/generated/services/eks-auth.js +4 -4
  159. package/lib/generated/services/eks-mcp.js +1 -1
  160. package/lib/generated/services/eks.js +4 -4
  161. package/lib/generated/services/elasticache.d.ts +10 -0
  162. package/lib/generated/services/elasticache.js +26 -7
  163. package/lib/generated/services/elasticbeanstalk.js +4 -4
  164. package/lib/generated/services/elasticfilesystem.js +4 -4
  165. package/lib/generated/services/elasticloadbalancing.js +4 -4
  166. package/lib/generated/services/elasticmapreduce.js +4 -4
  167. package/lib/generated/services/elastictranscoder.js +2 -2
  168. package/lib/generated/services/elemental-activations.js +1 -1
  169. package/lib/generated/services/elemental-appliances-software.js +2 -2
  170. package/lib/generated/services/elemental-inference.d.ts +6 -0
  171. package/lib/generated/services/elemental-inference.js +23 -8
  172. package/lib/generated/services/elemental-support-cases.js +3 -3
  173. package/lib/generated/services/elemental-support-content.js +1 -1
  174. package/lib/generated/services/emr-containers.js +4 -4
  175. package/lib/generated/services/emr-serverless.js +4 -4
  176. package/lib/generated/services/entityresolution.js +4 -4
  177. package/lib/generated/services/es.js +4 -4
  178. package/lib/generated/services/events.d.ts +28 -0
  179. package/lib/generated/services/events.js +47 -5
  180. package/lib/generated/services/eventsbilltoaws.js +3 -3
  181. package/lib/generated/services/evidently.js +3 -3
  182. package/lib/generated/services/evs.js +4 -4
  183. package/lib/generated/services/execute-api.js +4 -4
  184. package/lib/generated/services/finops-agent.js +1 -1
  185. package/lib/generated/services/finspace-api.js +3 -3
  186. package/lib/generated/services/finspace.js +4 -4
  187. package/lib/generated/services/firehose.js +4 -4
  188. package/lib/generated/services/fis.js +4 -4
  189. package/lib/generated/services/fms.js +4 -4
  190. package/lib/generated/services/forecast.js +4 -4
  191. package/lib/generated/services/frauddetector.js +4 -4
  192. package/lib/generated/services/freertos.js +3 -3
  193. package/lib/generated/services/freetier.js +2 -2
  194. package/lib/generated/services/fsx.js +4 -4
  195. package/lib/generated/services/gamelift.js +4 -4
  196. package/lib/generated/services/gameliftstreams.js +4 -4
  197. package/lib/generated/services/geo-maps.js +3 -3
  198. package/lib/generated/services/geo-places.js +3 -3
  199. package/lib/generated/services/geo-routes.js +3 -3
  200. package/lib/generated/services/geo.js +4 -4
  201. package/lib/generated/services/glacier.js +4 -4
  202. package/lib/generated/services/globalaccelerator.js +4 -4
  203. package/lib/generated/services/glue.js +4 -4
  204. package/lib/generated/services/grafana.js +4 -4
  205. package/lib/generated/services/greengrass.js +4 -4
  206. package/lib/generated/services/groundstation.js +4 -4
  207. package/lib/generated/services/groundtruthlabeling.js +1 -1
  208. package/lib/generated/services/guardduty.js +4 -4
  209. package/lib/generated/services/health-agent.js +4 -4
  210. package/lib/generated/services/health.js +4 -4
  211. package/lib/generated/services/healthlake.js +4 -4
  212. package/lib/generated/services/honeycode.js +2 -2
  213. package/lib/generated/services/iam.js +4 -4
  214. package/lib/generated/services/identity-sync.js +2 -2
  215. package/lib/generated/services/identitystore-auth.js +1 -1
  216. package/lib/generated/services/identitystore.d.ts +6 -0
  217. package/lib/generated/services/identitystore.js +15 -5
  218. package/lib/generated/services/imagebuilder.js +4 -4
  219. package/lib/generated/services/importexport.js +2 -2
  220. package/lib/generated/services/inspector-scan.js +2 -2
  221. package/lib/generated/services/inspector.js +2 -2
  222. package/lib/generated/services/inspector2-telemetry.js +1 -1
  223. package/lib/generated/services/inspector2.js +4 -4
  224. package/lib/generated/services/interconnect.js +4 -4
  225. package/lib/generated/services/internetmonitor.js +4 -4
  226. package/lib/generated/services/invoicing.js +4 -4
  227. package/lib/generated/services/iot-device-tester.js +1 -1
  228. package/lib/generated/services/iot.js +4 -4
  229. package/lib/generated/services/iotanalytics.js +3 -3
  230. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  231. package/lib/generated/services/iotevents.js +3 -3
  232. package/lib/generated/services/iotfleethub.js +3 -3
  233. package/lib/generated/services/iotfleetwise.js +4 -4
  234. package/lib/generated/services/iotjobsdata.js +4 -4
  235. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  236. package/lib/generated/services/iotsitewise.js +4 -4
  237. package/lib/generated/services/iottwinmaker.js +4 -4
  238. package/lib/generated/services/iotwireless.js +4 -4
  239. package/lib/generated/services/iq-permission.js +2 -2
  240. package/lib/generated/services/iq.js +2 -2
  241. package/lib/generated/services/ivs.js +4 -4
  242. package/lib/generated/services/ivschat.js +4 -4
  243. package/lib/generated/services/kafka-cluster.js +3 -3
  244. package/lib/generated/services/kafka.js +4 -4
  245. package/lib/generated/services/kafkaconnect.js +4 -4
  246. package/lib/generated/services/kendra-ranking.js +4 -4
  247. package/lib/generated/services/kendra.js +4 -4
  248. package/lib/generated/services/kinesis.js +4 -4
  249. package/lib/generated/services/kinesisanalytics.js +4 -4
  250. package/lib/generated/services/kinesisvideo.js +4 -4
  251. package/lib/generated/services/kms.js +4 -4
  252. package/lib/generated/services/lakeformation.js +3 -3
  253. package/lib/generated/services/lambda.js +4 -4
  254. package/lib/generated/services/launchwizard.js +4 -4
  255. package/lib/generated/services/lex.js +4 -4
  256. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  257. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  258. package/lib/generated/services/license-manager.js +4 -4
  259. package/lib/generated/services/lightsail.js +4 -4
  260. package/lib/generated/services/logs.js +4 -4
  261. package/lib/generated/services/lookoutequipment.js +4 -4
  262. package/lib/generated/services/lookoutmetrics.js +3 -3
  263. package/lib/generated/services/lookoutvision.js +3 -3
  264. package/lib/generated/services/m2.js +4 -4
  265. package/lib/generated/services/machinelearning.js +3 -3
  266. package/lib/generated/services/macie2.js +4 -4
  267. package/lib/generated/services/managedblockchain-query.js +2 -2
  268. package/lib/generated/services/managedblockchain.js +4 -4
  269. package/lib/generated/services/mapcredits.js +2 -2
  270. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  271. package/lib/generated/services/mechanicalturk.js +2 -2
  272. package/lib/generated/services/mediaconnect.js +4 -4
  273. package/lib/generated/services/mediaconvert.js +9 -6
  274. package/lib/generated/services/mediaimport.js +1 -1
  275. package/lib/generated/services/medialive.js +4 -4
  276. package/lib/generated/services/mediapackage-vod.js +4 -4
  277. package/lib/generated/services/mediapackage.js +4 -4
  278. package/lib/generated/services/mediapackagev2.js +4 -4
  279. package/lib/generated/services/mediastore.js +4 -4
  280. package/lib/generated/services/mediatailor.js +4 -4
  281. package/lib/generated/services/medical-imaging.js +4 -4
  282. package/lib/generated/services/memorydb.js +4 -4
  283. package/lib/generated/services/mgh.js +4 -4
  284. package/lib/generated/services/mgn.js +4 -4
  285. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  286. package/lib/generated/services/migrationhub-strategy.js +2 -2
  287. package/lib/generated/services/mobileanalytics.js +1 -1
  288. package/lib/generated/services/mobiletargeting.js +4 -4
  289. package/lib/generated/services/monitron.js +3 -3
  290. package/lib/generated/services/mpa.js +4 -4
  291. package/lib/generated/services/mq.js +4 -4
  292. package/lib/generated/services/neptune-db.js +4 -4
  293. package/lib/generated/services/neptune-graph.js +4 -4
  294. package/lib/generated/services/network-firewall.js +4 -4
  295. package/lib/generated/services/network-security-director.js +1 -1
  296. package/lib/generated/services/network-security-manager.js +4 -4
  297. package/lib/generated/services/networkflowmonitor.js +4 -4
  298. package/lib/generated/services/networkmanager-chat.js +1 -1
  299. package/lib/generated/services/networkmanager.js +4 -4
  300. package/lib/generated/services/networkmonitor.js +4 -4
  301. package/lib/generated/services/nimble.js +3 -3
  302. package/lib/generated/services/notifications-contacts.js +4 -4
  303. package/lib/generated/services/notifications.js +4 -4
  304. package/lib/generated/services/nova-act.js +3 -3
  305. package/lib/generated/services/oam.js +4 -4
  306. package/lib/generated/services/observabilityadmin.js +4 -4
  307. package/lib/generated/services/odb.js +4 -4
  308. package/lib/generated/services/omics.js +4 -4
  309. package/lib/generated/services/one.js +3 -3
  310. package/lib/generated/services/opensearch.js +3 -3
  311. package/lib/generated/services/opsworks-cm.js +2 -2
  312. package/lib/generated/services/opsworks.js +2 -2
  313. package/lib/generated/services/organizations.js +4 -4
  314. package/lib/generated/services/osis.js +4 -4
  315. package/lib/generated/services/outposts.js +4 -4
  316. package/lib/generated/services/panorama.js +3 -3
  317. package/lib/generated/services/partnercentral-account-management.js +2 -2
  318. package/lib/generated/services/partnercentral.js +4 -4
  319. package/lib/generated/services/payment-cryptography.js +4 -4
  320. package/lib/generated/services/payments.js +3 -3
  321. package/lib/generated/services/pca-connector-ad.js +4 -4
  322. package/lib/generated/services/pca-connector-scep.js +4 -4
  323. package/lib/generated/services/pcs.js +4 -4
  324. package/lib/generated/services/personalize.js +4 -4
  325. package/lib/generated/services/pi.js +4 -4
  326. package/lib/generated/services/pipes.js +4 -4
  327. package/lib/generated/services/polly.js +3 -3
  328. package/lib/generated/services/pricing.js +2 -2
  329. package/lib/generated/services/pricingplanmanager.js +3 -3
  330. package/lib/generated/services/private-networks.js +3 -3
  331. package/lib/generated/services/profile.js +4 -4
  332. package/lib/generated/services/proton.js +4 -4
  333. package/lib/generated/services/purchase-orders.js +3 -3
  334. package/lib/generated/services/q.js +3 -3
  335. package/lib/generated/services/qapps.js +4 -4
  336. package/lib/generated/services/qbusiness.js +4 -4
  337. package/lib/generated/services/qdeveloper.js +3 -3
  338. package/lib/generated/services/qldb.js +3 -3
  339. package/lib/generated/services/quicksight.js +4 -4
  340. package/lib/generated/services/ram.js +4 -4
  341. package/lib/generated/services/rbin.js +4 -4
  342. package/lib/generated/services/rds-data.js +4 -4
  343. package/lib/generated/services/rds-db.js +2 -2
  344. package/lib/generated/services/rds.js +4 -4
  345. package/lib/generated/services/redshift-data.js +4 -4
  346. package/lib/generated/services/redshift-serverless.js +4 -4
  347. package/lib/generated/services/redshift.js +4 -4
  348. package/lib/generated/services/refactor-spaces.js +4 -4
  349. package/lib/generated/services/rekognition.js +4 -4
  350. package/lib/generated/services/repostspace.js +4 -4
  351. package/lib/generated/services/researchstudio.js +1 -1
  352. package/lib/generated/services/resiliencehub.js +4 -4
  353. package/lib/generated/services/resource-explorer-2.js +4 -4
  354. package/lib/generated/services/resource-explorer.js +1 -1
  355. package/lib/generated/services/resource-groups.js +4 -4
  356. package/lib/generated/services/rhelkb.js +1 -1
  357. package/lib/generated/services/robomaker.js +3 -3
  358. package/lib/generated/services/rolesanywhere.js +4 -4
  359. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  360. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  361. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  362. package/lib/generated/services/route53.js +4 -4
  363. package/lib/generated/services/route53domains.js +2 -2
  364. package/lib/generated/services/route53globalresolver.js +4 -4
  365. package/lib/generated/services/route53profiles.js +4 -4
  366. package/lib/generated/services/route53resolver.js +4 -4
  367. package/lib/generated/services/rtbfabric.js +4 -4
  368. package/lib/generated/services/rum.js +4 -4
  369. package/lib/generated/services/s3-object-lambda.js +3 -3
  370. package/lib/generated/services/s3-outposts.js +4 -4
  371. package/lib/generated/services/s3.js +4 -4
  372. package/lib/generated/services/s3express.js +3 -3
  373. package/lib/generated/services/s3files.js +4 -4
  374. package/lib/generated/services/s3tables.js +4 -4
  375. package/lib/generated/services/s3vectors.js +4 -4
  376. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  377. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  378. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  379. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  380. package/lib/generated/services/sagemaker.d.ts +2 -2
  381. package/lib/generated/services/sagemaker.js +11 -10
  382. package/lib/generated/services/savingsplans.js +4 -4
  383. package/lib/generated/services/scheduler.js +4 -4
  384. package/lib/generated/services/schemas.js +4 -4
  385. package/lib/generated/services/scn.js +4 -4
  386. package/lib/generated/services/sdb.js +3 -3
  387. package/lib/generated/services/secretsmanager.js +4 -4
  388. package/lib/generated/services/security-ir.js +4 -4
  389. package/lib/generated/services/securityagent.d.ts +8 -0
  390. package/lib/generated/services/securityagent.js +18 -5
  391. package/lib/generated/services/securityhub.js +4 -4
  392. package/lib/generated/services/securitylake.js +4 -4
  393. package/lib/generated/services/serverlessrepo.js +4 -4
  394. package/lib/generated/services/servicecatalog.js +4 -4
  395. package/lib/generated/services/servicediscovery.js +4 -4
  396. package/lib/generated/services/serviceextract.js +1 -1
  397. package/lib/generated/services/servicequotas.js +4 -4
  398. package/lib/generated/services/ses.js +4 -4
  399. package/lib/generated/services/shield.js +4 -4
  400. package/lib/generated/services/signer.js +4 -4
  401. package/lib/generated/services/signin.js +4 -4
  402. package/lib/generated/services/simspaceweaver.js +3 -3
  403. package/lib/generated/services/sms-voice.js +4 -4
  404. package/lib/generated/services/sms.js +1 -1
  405. package/lib/generated/services/snow-device-management.js +4 -4
  406. package/lib/generated/services/snowball.js +2 -2
  407. package/lib/generated/services/sns.js +4 -4
  408. package/lib/generated/services/social-messaging.d.ts +6 -0
  409. package/lib/generated/services/social-messaging.js +23 -8
  410. package/lib/generated/services/sqlworkbench.js +3 -3
  411. package/lib/generated/services/sqs.js +4 -4
  412. package/lib/generated/services/ssm-contacts.js +4 -4
  413. package/lib/generated/services/ssm-guiconnect.js +2 -2
  414. package/lib/generated/services/ssm-incidents.js +4 -4
  415. package/lib/generated/services/ssm-quicksetup.js +4 -4
  416. package/lib/generated/services/ssm-sap.js +4 -4
  417. package/lib/generated/services/ssm.js +4 -4
  418. package/lib/generated/services/ssmmessages.js +2 -2
  419. package/lib/generated/services/sso-directory.js +1 -1
  420. package/lib/generated/services/sso-oauth.js +3 -3
  421. package/lib/generated/services/sso.js +4 -4
  422. package/lib/generated/services/states.js +4 -4
  423. package/lib/generated/services/storagegateway.js +4 -4
  424. package/lib/generated/services/sts.js +4 -4
  425. package/lib/generated/services/support-console.js +1 -1
  426. package/lib/generated/services/support.js +2 -2
  427. package/lib/generated/services/supportapp.js +2 -2
  428. package/lib/generated/services/supportauthz.js +4 -4
  429. package/lib/generated/services/supportplans.js +1 -1
  430. package/lib/generated/services/sustainability.js +2 -2
  431. package/lib/generated/services/swf.js +4 -4
  432. package/lib/generated/services/synthetics.js +4 -4
  433. package/lib/generated/services/tag.js +2 -2
  434. package/lib/generated/services/tax.js +2 -2
  435. package/lib/generated/services/textract.js +4 -4
  436. package/lib/generated/services/thinclient.js +4 -4
  437. package/lib/generated/services/timestream-influxdb.js +4 -4
  438. package/lib/generated/services/timestream.js +4 -4
  439. package/lib/generated/services/tiros.js +1 -1
  440. package/lib/generated/services/tnb.js +4 -4
  441. package/lib/generated/services/transcribe.js +4 -4
  442. package/lib/generated/services/transfer.js +4 -4
  443. package/lib/generated/services/transform-custom.js +3 -3
  444. package/lib/generated/services/transform.js +3 -3
  445. package/lib/generated/services/translate.js +4 -4
  446. package/lib/generated/services/trustedadvisor.js +3 -3
  447. package/lib/generated/services/ts.js +3 -3
  448. package/lib/generated/services/user-subscriptions.js +2 -2
  449. package/lib/generated/services/uxc.js +2 -2
  450. package/lib/generated/services/vendor-insights.js +3 -3
  451. package/lib/generated/services/verified-access.js +1 -1
  452. package/lib/generated/services/verifiedpermissions.js +4 -4
  453. package/lib/generated/services/voiceid.js +4 -4
  454. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  455. package/lib/generated/services/vpc-lattice.js +4 -4
  456. package/lib/generated/services/vpce.js +2 -2
  457. package/lib/generated/services/waf-regional.js +4 -4
  458. package/lib/generated/services/waf.js +4 -4
  459. package/lib/generated/services/wafv2.js +4 -4
  460. package/lib/generated/services/wam.js +1 -1
  461. package/lib/generated/services/wellarchitected.js +4 -4
  462. package/lib/generated/services/wickr.js +4 -4
  463. package/lib/generated/services/wisdom.js +4 -4
  464. package/lib/generated/services/workdocs.js +3 -3
  465. package/lib/generated/services/worklink.js +3 -3
  466. package/lib/generated/services/workmail.js +4 -4
  467. package/lib/generated/services/workmailmessageflow.js +3 -3
  468. package/lib/generated/services/workspaces-instances.js +4 -4
  469. package/lib/generated/services/workspaces-web.js +4 -4
  470. package/lib/generated/services/workspaces.js +4 -4
  471. package/lib/generated/services/xray.js +4 -4
  472. package/package.json +1 -1
@@ -26,6 +26,8 @@ export declare class IdentitystoreActions {
26
26
  static readonly DescribeGroup = "identitystore:DescribeGroup";
27
27
  /** [Read] identitystore:DescribeGroupMembership */
28
28
  static readonly DescribeGroupMembership = "identitystore:DescribeGroupMembership";
29
+ /** [Read] identitystore:DescribeIdentityStore */
30
+ static readonly DescribeIdentityStore = "identitystore:DescribeIdentityStore";
29
31
  /** [Read] identitystore:DescribeRegion */
30
32
  static readonly DescribeRegion = "identitystore:DescribeRegion";
31
33
  /** [Read] identitystore:DescribeUser */
@@ -44,6 +46,8 @@ export declare class IdentitystoreActions {
44
46
  static readonly ListGroupMembershipsForMember = "identitystore:ListGroupMembershipsForMember";
45
47
  /** [List] identitystore:ListGroups */
46
48
  static readonly ListGroups = "identitystore:ListGroups";
49
+ /** [List] identitystore:ListIdentityStores */
50
+ static readonly ListIdentityStores = "identitystore:ListIdentityStores";
47
51
  /** [List] identitystore:ListRegions */
48
52
  static readonly ListRegions = "identitystore:ListRegions";
49
53
  /** [List] identitystore:ListUsers */
@@ -394,6 +398,8 @@ export declare class IdentitystoreConditions {
394
398
  static readonly DescribeGroupConditionKeys: string[];
395
399
  /** Condition keys applicable to the DescribeGroupMembership action. */
396
400
  static readonly DescribeGroupMembershipConditionKeys: string[];
401
+ /** Condition keys applicable to the DescribeIdentityStore action. */
402
+ static readonly DescribeIdentityStoreConditionKeys: string[];
397
403
  /** Condition keys applicable to the DescribeRegion action. */
398
404
  static readonly DescribeRegionConditionKeys: string[];
399
405
  /** Condition keys applicable to the DescribeUser action. */
@@ -16,7 +16,7 @@ class IdentitystoreActions {
16
16
  }
17
17
  exports.IdentitystoreActions = IdentitystoreActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- IdentitystoreActions[_a] = { fqn: "@cdk_utils/iam.identitystore.IdentitystoreActions", version: "1.30.0" };
19
+ IdentitystoreActions[_a] = { fqn: "@cdk_utils/iam.identitystore.IdentitystoreActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  IdentitystoreActions.SERVICE_PREFIX = "identitystore";
22
22
  /** [Write] identitystore:AddRegion */
@@ -41,6 +41,8 @@ IdentitystoreActions.DeleteUser = "identitystore:DeleteUser";
41
41
  IdentitystoreActions.DescribeGroup = "identitystore:DescribeGroup";
42
42
  /** [Read] identitystore:DescribeGroupMembership */
43
43
  IdentitystoreActions.DescribeGroupMembership = "identitystore:DescribeGroupMembership";
44
+ /** [Read] identitystore:DescribeIdentityStore */
45
+ IdentitystoreActions.DescribeIdentityStore = "identitystore:DescribeIdentityStore";
44
46
  /** [Read] identitystore:DescribeRegion */
45
47
  IdentitystoreActions.DescribeRegion = "identitystore:DescribeRegion";
46
48
  /** [Read] identitystore:DescribeUser */
@@ -59,6 +61,8 @@ IdentitystoreActions.ListGroupMemberships = "identitystore:ListGroupMemberships"
59
61
  IdentitystoreActions.ListGroupMembershipsForMember = "identitystore:ListGroupMembershipsForMember";
60
62
  /** [List] identitystore:ListGroups */
61
63
  IdentitystoreActions.ListGroups = "identitystore:ListGroups";
64
+ /** [List] identitystore:ListIdentityStores */
65
+ IdentitystoreActions.ListIdentityStores = "identitystore:ListIdentityStores";
62
66
  /** [List] identitystore:ListRegions */
63
67
  IdentitystoreActions.ListRegions = "identitystore:ListRegions";
64
68
  /** [List] identitystore:ListUsers */
@@ -77,6 +81,7 @@ IdentitystoreActions.UpdateUser = "identitystore:UpdateUser";
77
81
  IdentitystoreActions.AllReadActions = [
78
82
  IdentitystoreActions.DescribeGroup,
79
83
  IdentitystoreActions.DescribeGroupMembership,
84
+ IdentitystoreActions.DescribeIdentityStore,
80
85
  IdentitystoreActions.DescribeRegion,
81
86
  IdentitystoreActions.DescribeUser,
82
87
  IdentitystoreActions.actionGetGroupId,
@@ -106,6 +111,7 @@ IdentitystoreActions.AllListActions = [
106
111
  IdentitystoreActions.ListGroupMemberships,
107
112
  IdentitystoreActions.ListGroupMembershipsForMember,
108
113
  IdentitystoreActions.ListGroups,
114
+ IdentitystoreActions.ListIdentityStores,
109
115
  IdentitystoreActions.ListRegions,
110
116
  IdentitystoreActions.ListUsers,
111
117
  ];
@@ -319,7 +325,7 @@ class IdentitystoreResources {
319
325
  }
320
326
  exports.IdentitystoreResources = IdentitystoreResources;
321
327
  _b = JSII_RTTI_SYMBOL_1;
322
- IdentitystoreResources[_b] = { fqn: "@cdk_utils/iam.identitystore.IdentitystoreResources", version: "1.30.0" };
328
+ IdentitystoreResources[_b] = { fqn: "@cdk_utils/iam.identitystore.IdentitystoreResources", version: "1.32.0" };
323
329
  /**
324
330
  * API operation to required IAM actions mapping for identitystore.
325
331
  */
@@ -327,7 +333,7 @@ class IdentitystoreOperations {
327
333
  }
328
334
  exports.IdentitystoreOperations = IdentitystoreOperations;
329
335
  _c = JSII_RTTI_SYMBOL_1;
330
- IdentitystoreOperations[_c] = { fqn: "@cdk_utils/iam.identitystore.IdentitystoreOperations", version: "1.30.0" };
336
+ IdentitystoreOperations[_c] = { fqn: "@cdk_utils/iam.identitystore.IdentitystoreOperations", version: "1.32.0" };
331
337
  /** IAM actions required for the CreateGroup API call. */
332
338
  IdentitystoreOperations.CreateGroup = [
333
339
  "identitystore:CreateGroup",
@@ -484,7 +490,7 @@ class IdentitystoreConditions {
484
490
  }
485
491
  exports.IdentitystoreConditions = IdentitystoreConditions;
486
492
  _d = JSII_RTTI_SYMBOL_1;
487
- IdentitystoreConditions[_d] = { fqn: "@cdk_utils/iam.identitystore.IdentitystoreConditions", version: "1.30.0" };
493
+ IdentitystoreConditions[_d] = { fqn: "@cdk_utils/iam.identitystore.IdentitystoreConditions", version: "1.32.0" };
488
494
  /** Condition keys applicable to the CreateGroup action. */
489
495
  IdentitystoreConditions.CreateGroupConditionKeys = [
490
496
  "identitystore:GroupExternalIdIssuers",
@@ -523,6 +529,10 @@ IdentitystoreConditions.DescribeGroupConditionKeys = [
523
529
  IdentitystoreConditions.DescribeGroupMembershipConditionKeys = [
524
530
  "identitystore:PrimaryRegion",
525
531
  ];
532
+ /** Condition keys applicable to the DescribeIdentityStore action. */
533
+ IdentitystoreConditions.DescribeIdentityStoreConditionKeys = [
534
+ "identitystore:PrimaryRegion",
535
+ ];
526
536
  /** Condition keys applicable to the DescribeRegion action. */
527
537
  IdentitystoreConditions.DescribeRegionConditionKeys = [
528
538
  "identitystore:PrimaryRegion",
@@ -596,4 +606,4 @@ IdentitystoreConditions.RESERVED_USER_ID = "identitystore:ReservedUserId";
596
606
  IdentitystoreConditions.USER_EXTERNAL_ID_ISSUERS = "identitystore:UserExternalIdIssuers";
597
607
  /** Condition key: identitystore:UserId (String) */
598
608
  IdentitystoreConditions.USER_ID = "identitystore:UserId";
599
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHlzdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvaWRlbnRpdHlzdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQXNHQzs7O0FBckdBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELHNDQUFzQztBQUN0Qiw4QkFBUyxHQUFHLHlCQUF5QixDQUFDO0FBQ3RELHdDQUF3QztBQUN4QixnQ0FBVyxHQUFHLDJCQUEyQixDQUFDO0FBQzFELGtEQUFrRDtBQUNsQywwQ0FBcUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUM5RSxnREFBZ0Q7QUFDaEMsd0NBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFDMUUsdUNBQXVDO0FBQ3ZCLCtCQUFVLEdBQUcsMEJBQTBCLENBQUM7QUFDeEQsd0NBQXdDO0FBQ3hCLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsa0RBQWtEO0FBQ2xDLDBDQUFxQixHQUFHLHFDQUFxQyxDQUFDO0FBQzlFLGdEQUFnRDtBQUNoQyx3Q0FBbUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUMxRSx1Q0FBdUM7QUFDdkIsK0JBQVUsR0FBRywwQkFBMEIsQ0FBQztBQUN4RCx5Q0FBeUM7QUFDekIsa0NBQWEsR0FBRyw2QkFBNkIsQ0FBQztBQUM5RCxtREFBbUQ7QUFDbkMsNENBQXVCLEdBQ3RDLHVDQUF1QyxDQUFDO0FBQ3pDLDBDQUEwQztBQUMxQixtQ0FBYyxHQUFHLDhCQUE4QixDQUFDO0FBQ2hFLHdDQUF3QztBQUN4QixpQ0FBWSxHQUFHLDRCQUE0QixDQUFDO0FBQzVELHNDQUFzQztBQUN0QixxQ0FBZ0IsR0FBRywwQkFBMEIsQ0FB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QUEwQyxHQUFhO0lBQ3RFLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLCtDQUF1QixHQUFhO0lBQ25ELHNDQUFzQztJQUN0Qyw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxnREFBd0IsR0FBYTtJQUNwRCw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLHlEQUF5RDtBQUN6Qyw4Q0FBc0IsR0FBYTtJQUNsRCw2QkFBNkI7SUFDN0IscUNBQXFDO0NBQ3JDLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsZ0RBQXdCLEdBQWE7SUFDcEQsNkJBQTZCO0NBQzdCLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsZ0RBQXdCLEdBQWE7SUFDcEQsc0NBQXNDO0lBQ3RDLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLCtDQUF1QixHQUFhO0lBQ25ELDZCQUE2QjtJQUM3QixxQ0FBcUM7Q0FDckMsQ0FBQztBQUVGLHVFQUF1RTtBQUN2RCxpREFBeUIsR0FDeEMsc0NBQXNDLENBQUM7QUFDeEMsMERBQTBEO0FBQzFDLDBDQUFrQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3RFLDBEQUEwRDtBQUMxQyxzQ0FBYyxHQUFHLDZCQUE2QixDQUFDO0FBQy9ELDJEQUEyRDtBQUMzQyx3Q0FBZ0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNsRSxzRUFBc0U7QUFDdEQsZ0RBQXdCLEdBQ3ZDLHFDQUFxQyxDQUFDO0FBQ3ZDLG1EQUFtRDtBQUNuQywrQkFBTyxHQUFHLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvaWRlbnRpdHlzdG9yZS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgaWRlbnRpdHlzdG9yZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlzdG9yZUFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJpZGVudGl0eXN0b3JlXCI7XG5cblx0LyoqIFtXcml0ZV0gaWRlbnRpdHlzdG9yZTpBZGRSZWdpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFJlZ2lvbiA9IFwiaWRlbnRpdHlzdG9yZTpBZGRSZWdpb25cIjtcblx0LyoqIFtXcml0ZV0gaWRlbnRpdHlzdG9yZTpDcmVhdGVHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3JvdXAgPSBcImlkZW50aXR5c3RvcmU6Q3JlYXRlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gaWRlbnRpdHlzdG9yZTpDcmVhdGVHcm91cE1lbWJlcnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdyb3VwTWVtYmVyc2hpcCA9IFwiaWRlbnRpdHlzdG9yZTpDcmVhdGVHcm91cE1lbWJlcnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gaWRlbnRpdHlzdG9yZTpDcmVhdGVJZGVudGl0eVN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJZGVudGl0eVN0b3JlID0gXCJpZGVudGl0eXN0b3JlOkNyZWF0ZUlkZW50aXR5U3RvcmVcIjtcblx0LyoqIFtXcml0ZV0gaWRlbnRpdHlzdG9yZTpDcmVhdGVVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyID0gXCJpZGVudGl0eXN0b3JlOkNyZWF0ZVVzZXJcIjtcblx0LyoqIFtXcml0ZV0gaWRlbnRpdHlzdG9yZTpEZWxldGVHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR3JvdXAgPSBcImlkZW50aXR5c3RvcmU6RGVsZXRlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gaWRlbnRpdHlzdG9yZTpEZWxldGVHcm91cE1lbWJlcnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdyb3VwTWVtYmVyc2hpcCA9IFwiaWRlbnRpdHlzdG9yZTpEZWxldGVHcm91cE1lbWJlcnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gaWRlbnRpdHlzdG9yZTpEZWxldGVJZGVudGl0eVN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJZGVudGl0eVN0b3JlID0gXCJpZGVudGl0eXN0b3JlOkRlbGV0ZUlkZW50aXR5U3RvcmVcIjtcblx0LyoqIFtXcml0ZV0gaWRlbnRpdHlzdG9yZTpEZWxldGVVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyID0gXCJpZGVudGl0eXN0b3JlOkRlbGV0ZVVzZXJcIjtcblx0LyoqIFtSZWFkXSBpZGVudGl0eXN0b3JlOkRlc2NyaWJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlR3JvdXAgPSBcImlkZW50aXR5c3RvcmU6RGVzY3JpYmVHcm91cFwiO1xuXHQvKiogW1JlYWRdIGlkZW50aXR5c3RvcmU6RGVzY3JpYmVHcm91cE1lbWJlcnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlR3JvdXBNZW1iZXJzaGlwID1cblx0XHRcImlkZW50aXR5c3RvcmU6RGVzY3JpYmVHcm91cE1lbWJlcnNoaXBcIjtcblx0LyoqIFtSZWFkXSBpZGVudGl0eXN0b3JlOkRlc2NyaWJlUmVnaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lvbiA9IFwiaWRlbnRpdHlzdG9yZTpEZXNjcmliZVJlZ2lvblwiO1xuXHQvKiogW1JlYWRdIGlkZW50aXR5c3RvcmU6RGVzY3JpYmVVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXIgPSBcImlkZW50aXR5c3RvcmU6RGVzY3JpYmVVc2VyXCI7XG5cdC8qKiBbUmVhZF0gaWRlbnRpdHlzdG9yZTpHZXRHcm91cElkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRHcm91cElkID0gXCJpZGVudGl0eXN0b3JlOkdldEdyb3VwSWRcIjtcblx0LyoqIFtSZWFkXSBpZGVudGl0eXN0b3JlOkdldEdyb3VwTWVtYmVyc2hpcElkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRHcm91cE1lbWJlcnNoaXBJZCA9XG5cdFx0XCJpZGVudGl0eXN0b3JlOkdldEdyb3VwTWVtYmVyc2hpcElkXCI7XG5cdC8qKiBbUmVhZF0gaWRlbnRpdHlzdG9yZTpHZXRVc2VySWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVzZXJJZCA9IFwiaWRlbnRpdHlzdG9yZTpHZXRVc2VySWRcIjtcblx0LyoqIFtSZWFkXSBpZGVudGl0eXN0b3JlOklzTWVtYmVySW5Hcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IElzTWVtYmVySW5Hcm91cHMgPSBcImlkZW50aXR5c3RvcmU6SXNNZW1iZXJJbkdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGlkZW50aXR5c3RvcmU6TGlzdEdyb3VwTWVtYmVyc2hpcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHcm91cE1lbWJlcnNoaXBzID0gXCJpZGVudGl0eXN0b3JlOkxpc3RHcm91cE1lbWJlcnNoaXBzXCI7XG5cdC8qKiBbTGlzdF0gaWRlbnRpdHlzdG9yZTpMaXN0R3JvdXBNZW1iZXJzaGlwc0Zvck1lbWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdyb3VwTWVtYmVyc2hpcHNGb3JNZW1iZXIgPVxuXHRcdFwiaWRlbnRpdHlzdG9yZTpMaXN0R3JvdXBNZW1iZXJzaGlwc0Zvck1lbWJlclwiO1xuXHQvKiogW0xpc3RdIGlkZW50aXR5c3RvcmU6TGlzdEdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdyb3VwcyA9IFwiaWRlbnRpdHlzdG9yZTpMaXN0R3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gaWRlbnRpdHlzdG9yZTpMaXN0UmVnaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlZ2lvbnMgPSBcImlkZW50aXR5c3RvcmU6TGlzdFJlZ2lvbnNcIjtcblx0LyoqIFtMaXN0XSBpZGVudGl0eXN0b3JlOkxpc3RVc2VycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJzID0gXCJpZGVudGl0eXN0b3JlOkxpc3RVc2Vyc1wiO1xuXHQvKiogW1dyaXRlXSBpZGVudGl0eXN0b3JlOlJlbW92ZVJlZ2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlUmVnaW9uID0gXCJpZGVudGl0eXN0b3JlOlJlbW92ZVJlZ2lvblwiO1xuXHQvKiogW1dyaXRlXSBpZGVudGl0eXN0b3JlOlJlc2VydmVVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNlcnZlVXNlciA9IFwiaWRlbnRpdHlzdG9yZTpSZXNlcnZlVXNlclwiO1xuXHQvKiogW1dyaXRlXSBpZGVudGl0eXN0b3JlOlVwZGF0ZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHcm91cCA9IFwiaWRlbnRpdHlzdG9yZTpVcGRhdGVHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBpZGVudGl0eXN0b3JlOlVwZGF0ZUlkZW50aXR5U3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUlkZW50aXR5U3RvcmUgPSBcImlkZW50aXR5c3RvcmU6VXBkYXRlSWRlbnRpdHlTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBpZGVudGl0eXN0b3JlOlVwZGF0ZVVzZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXIgPSBcImlkZW50aXR5c3RvcmU6VXBkYXRlVXNlclwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkRlc2NyaWJlR3JvdXAsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVzY3JpYmVHcm91cE1lbWJlcnNoaXAsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVzY3JpYmVSZWdpb24sXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVzY3JpYmVVc2VyLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLmFjdGlvbkdldEdyb3VwSWQsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuYWN0aW9uR2V0R3JvdXBNZW1iZXJzaGlwSWQsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuYWN0aW9uR2V0VXNlcklkLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLklzTWVtYmVySW5Hcm91cHMsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuQWRkUmVnaW9uLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkNyZWF0ZUdyb3VwLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkNyZWF0ZUdyb3VwTWVtYmVyc2hpcCxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5DcmVhdGVJZGVudGl0eVN0b3JlLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkNyZWF0ZVVzZXIsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVsZXRlR3JvdXAsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVsZXRlR3JvdXBNZW1iZXJzaGlwLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkRlbGV0ZUlkZW50aXR5U3RvcmUsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVsZXRlVXNlcixcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5SZW1vdmVSZWdpb24sXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuUmVzZXJ2ZVVzZXIsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuVXBkYXRlR3JvdXAsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuVXBkYXRlSWRlbnRpdHlTdG9yZSxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5VcGRhdGVVc2VyLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5MaXN0R3JvdXBNZW1iZXJzaGlwcyxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5MaXN0R3JvdXBNZW1iZXJzaGlwc0Zvck1lbWJlcixcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5MaXN0R3JvdXBzLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkxpc3RSZWdpb25zLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkxpc3RVc2Vycyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEFsbEdyb3VwTWVtYmVyc2hpcHMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVBbGxHcm91cE1lbWJlcnNoaXBzQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEFsbEdyb3VwTWVtYmVyc2hpcHMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVBbGxHcm91cE1lbWJlcnNoaXBzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEFsbEdyb3VwcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlzdG9yZUFsbEdyb3Vwc0FyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBbGxHcm91cHMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVBbGxHcm91cHNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQWxsVXNlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVBbGxVc2Vyc0FyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBbGxVc2VycyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlzdG9yZUFsbFVzZXJzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlR3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgR3JvdXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEdyb3VwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBncm91cElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBHcm91cE1lbWJlcnNoaXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVHcm91cE1lbWJlcnNoaXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWVtYmVyc2hpcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBHcm91cE1lbWJlcnNoaXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVHcm91cE1lbWJlcnNoaXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgSWRlbnRpdHlzdG9yZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlzdG9yZUlkZW50aXR5c3RvcmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWRlbnRpdHlTdG9yZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGl0eVN0b3JlSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIElkZW50aXR5c3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVJZGVudGl0eXN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpdHlTdG9yZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpdHlTdG9yZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBVc2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlVXNlckFyblByb3BzIHtcblx0LyoqIFRoZSBVc2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHVzZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFVzZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVVc2VyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1c2VySWQ6IHN0cmluZztcbn1cblxuY29uc3QgQWxsR3JvdXBNZW1iZXJzaGlwc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTppZGVudGl0eXN0b3JlOjo6bWVtYmVyc2hpcFxcLy4qJC87XG5jb25zdCBBbGxHcm91cHNBcm5SZWdleCA9IC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aWRlbnRpdHlzdG9yZTo6Omdyb3VwXFwvLiokLztcbmNvbnN0IEFsbFVzZXJzQXJuUmVnZXggPSAvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlkZW50aXR5c3RvcmU6Ojp1c2VyXFwvLiokLztcbmNvbnN0IEdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlkZW50aXR5c3RvcmU6Ojpncm91cFxcLyg/PGdyb3VwSWQ+W146Lz9dKykkLztcbmNvbnN0IEdyb3VwTWVtYmVyc2hpcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTppZGVudGl0eXN0b3JlOjo6bWVtYmVyc2hpcFxcLyg/PG1lbWJlcnNoaXBJZD5bXjovP10rKSQvO1xuY29uc3QgSWRlbnRpdHlzdG9yZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTppZGVudGl0eXN0b3JlOjooPzxhY2NvdW50PlteOl0qKTppZGVudGl0eXN0b3JlXFwvKD88aWRlbnRpdHlTdG9yZUlkPlteOi8/XSspJC87XG5jb25zdCBVc2VyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlkZW50aXR5c3RvcmU6Ojp1c2VyXFwvKD88dXNlcklkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgaWRlbnRpdHlzdG9yZSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBJZGVudGl0eXN0b3JlUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBBbGxHcm91cE1lbWJlcnNoaXBzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFsbEdyb3VwTWVtYmVyc2hpcHMoXG5cdFx0cHJvcHM6IElkZW50aXR5c3RvcmVBbGxHcm91cE1lbWJlcnNoaXBzQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06aWRlbnRpdHlzdG9yZTo6Om1lbWJlcnNoaXAvKmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBBbGxHcm91cE1lbWJlcnNoaXBzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBbGxHcm91cE1lbWJlcnNoaXBzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFsbEdyb3VwTWVtYmVyc2hpcHNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQWxsR3JvdXBNZW1iZXJzaGlwcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBbGxHcm91cE1lbWJlcnNoaXBzQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBJZGVudGl0eXN0b3JlQWxsR3JvdXBNZW1iZXJzaGlwc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWxsR3JvdXBNZW1iZXJzaGlwc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBBbGxHcm91cE1lbWJlcnNoaXBzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBBbGxHcm91cHMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWxsR3JvdXBzKHByb3BzOiBJZGVudGl0eXN0b3JlQWxsR3JvdXBzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlkZW50aXR5c3RvcmU6Ojpncm91cC8qYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEFsbEdyb3VwcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWxsR3JvdXBzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFsbEdyb3Vwc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBBbGxHcm91cHMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWxsR3JvdXBzQXJuKGFybjogc3RyaW5nKTogSWRlbnRpdHlzdG9yZUFsbEdyb3Vwc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWxsR3JvdXBzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEFsbEdyb3VwcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQWxsVXNlcnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWxsVXNlcnMocHJvcHM6IElkZW50aXR5c3RvcmVBbGxVc2Vyc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTppZGVudGl0eXN0b3JlOjo6dXNlci8qYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEFsbFVzZXJzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBbGxVc2Vyc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbGxVc2Vyc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBBbGxVc2VycyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBbGxVc2Vyc0Fybihhcm46IHN0cmluZyk6IElkZW50aXR5c3RvcmVBbGxVc2Vyc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWxsVXNlcnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQWxsVXNlcnMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGdyb3VwKHByb3BzOiBJZGVudGl0eXN0b3JlR3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06aWRlbnRpdHlzdG9yZTo6Omdyb3VwLyR7cHJvcHMuZ3JvdXBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgR3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUdyb3VwQXJuKGFybjogc3RyaW5nKTogSWRlbnRpdHlzdG9yZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBHcm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRncm91cElkOiBtYXRjaC5ncm91cHMhLmdyb3VwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgR3JvdXBNZW1iZXJzaGlwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGdyb3VwTWVtYmVyc2hpcChwcm9wczogSWRlbnRpdHlzdG9yZUdyb3VwTWVtYmVyc2hpcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTppZGVudGl0eXN0b3JlOjo6bWVtYmVyc2hpcC8ke3Byb3BzLm1lbWJlcnNoaXBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgR3JvdXBNZW1iZXJzaGlwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRHcm91cE1lbWJlcnNoaXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gR3JvdXBNZW1iZXJzaGlwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEdyb3VwTWVtYmVyc2hpcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VHcm91cE1lbWJlcnNoaXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IElkZW50aXR5c3RvcmVHcm91cE1lbWJlcnNoaXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEdyb3VwTWVtYmVyc2hpcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBHcm91cE1lbWJlcnNoaXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWVtYmVyc2hpcElkOiBtYXRjaC5ncm91cHMhLm1lbWJlcnNoaXBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBJZGVudGl0eXN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlkZW50aXR5c3RvcmUocHJvcHM6IElkZW50aXR5c3RvcmVJZGVudGl0eXN0b3JlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlkZW50aXR5c3RvcmU6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aWRlbnRpdHlzdG9yZS8ke3Byb3BzLmlkZW50aXR5U3RvcmVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSWRlbnRpdHlzdG9yZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSWRlbnRpdHlzdG9yZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJZGVudGl0eXN0b3JlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIElkZW50aXR5c3RvcmUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSWRlbnRpdHlzdG9yZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogSWRlbnRpdHlzdG9yZUlkZW50aXR5c3RvcmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IElkZW50aXR5c3RvcmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSWRlbnRpdHlzdG9yZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZGVudGl0eVN0b3JlSWQ6IG1hdGNoLmdyb3VwcyEuaWRlbnRpdHlTdG9yZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFVzZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcihwcm9wczogSWRlbnRpdHlzdG9yZVVzZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06aWRlbnRpdHlzdG9yZTo6OnVzZXIvJHtwcm9wcy51c2VySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFVzZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFVzZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVXNlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBVc2VyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVVzZXJBcm4oYXJuOiBzdHJpbmcpOiBJZGVudGl0eXN0b3JlVXNlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVXNlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBVc2VyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHVzZXJJZDogbWF0Y2guZ3JvdXBzIS51c2VySWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgaWRlbnRpdHlzdG9yZS5cbiAqL1xuZXhwb3J0IGNsYXNzIElkZW50aXR5c3RvcmVPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkNyZWF0ZUdyb3VwXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5OkNyZWF0ZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUdyb3VwTWVtYmVyc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdyb3VwTWVtYmVyc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzc28tZGlyZWN0b3J5OkFkZE1lbWJlclRvR3JvdXBcIixcblx0XHRcImlkZW50aXR5c3RvcmU6Q3JlYXRlR3JvdXBNZW1iZXJzaGlwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6Q3JlYXRlVXNlclwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpDcmVhdGVVc2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpEZWxldGVHcm91cFwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpEZWxldGVHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVHcm91cE1lbWJlcnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHcm91cE1lbWJlcnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpEZWxldGVHcm91cE1lbWJlcnNoaXBcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6UmVtb3ZlTWVtYmVyRnJvbUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVVzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6RGVsZXRlVXNlclwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpEZWxldGVVc2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6RGVzY3JpYmVHcm91cFwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpEZXNjcmliZUdyb3VwXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5OkRlc2NyaWJlR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlR3JvdXBNZW1iZXJzaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVHcm91cE1lbWJlcnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpEZXNjcmliZUdyb3VwTWVtYmVyc2hpcFwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpMaXN0R3JvdXBzRm9yTWVtYmVyXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5Okxpc3RHcm91cHNGb3JVc2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVXNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkRlc2NyaWJlVXNlclwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpEZXNjcmliZVVzZXJcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6RGVzY3JpYmVVc2Vyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHcm91cElkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRHcm91cElkOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6R2V0R3JvdXBJZFwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpHZXRHcm91cElkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEdyb3VwTWVtYmVyc2hpcElkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRHcm91cE1lbWJlcnNoaXBJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkdldEdyb3VwTWVtYmVyc2hpcElkXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5Okxpc3RHcm91cHNGb3JNZW1iZXJcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6TGlzdEdyb3Vwc0ZvclVzZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlcklkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVc2VySWQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpHZXRVc2VySWRcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6R2V0VXNlcklkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIElzTWVtYmVySW5Hcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJc01lbWJlckluR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzby1kaXJlY3Rvcnk6SXNNZW1iZXJJbkdyb3VwXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOklzTWVtYmVySW5Hcm91cHNcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6SXNNZW1iZXJJbkdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R3JvdXBNZW1iZXJzaGlwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHcm91cE1lbWJlcnNoaXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6TGlzdEdyb3VwTWVtYmVyc2hpcHNcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6TGlzdE1lbWJlcnNJbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RHcm91cE1lbWJlcnNoaXBzRm9yTWVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdyb3VwTWVtYmVyc2hpcHNGb3JNZW1iZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpMaXN0R3JvdXBNZW1iZXJzaGlwc0Zvck1lbWJlclwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpMaXN0R3JvdXBzRm9yTWVtYmVyXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5Okxpc3RHcm91cHNGb3JVc2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6TGlzdEdyb3Vwc1wiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpMaXN0R3JvdXBzXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5OlNlYXJjaEdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXNlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpMaXN0VXNlcnNcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6TGlzdFVzZXJzXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5OlNlYXJjaFVzZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpVcGRhdGVHcm91cFwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpVcGRhdGVHcm91cFwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpVcGRhdGVHcm91cERpc3BsYXlOYW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVVzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6VXBkYXRlVXNlclwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpVcGRhdGVVc2VyXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5OlVwZGF0ZVVzZXJOYW1lXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBpZGVudGl0eXN0b3JlLlxuICovXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlzdG9yZUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6R3JvdXBFeHRlcm5hbElkSXNzdWVyc1wiLFxuXHRcdFwiaWRlbnRpdHlzdG9yZTpQcmltYXJ5UmVnaW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVHcm91cE1lbWJlcnNoaXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3JvdXBNZW1iZXJzaGlwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVVzZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpQcmltYXJ5UmVnaW9uXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOlJlc2VydmVkVXNlcklkXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOlVzZXJFeHRlcm5hbElkSXNzdWVyc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6R3JvdXBFeHRlcm5hbElkSXNzdWVyc1wiLFxuXHRcdFwiaWRlbnRpdHlzdG9yZTpQcmltYXJ5UmVnaW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVHcm91cE1lbWJlcnNoaXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR3JvdXBNZW1iZXJzaGlwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVVzZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpQcmltYXJ5UmVnaW9uXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOlVzZXJFeHRlcm5hbElkSXNzdWVyc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkdyb3VwRXh0ZXJuYWxJZElzc3VlcnNcIixcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVHcm91cE1lbWJlcnNoaXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVHcm91cE1lbWJlcnNoaXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVSZWdpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVVc2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpQcmltYXJ5UmVnaW9uXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOlVzZXJFeHRlcm5hbElkSXNzdWVyc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0R3JvdXBJZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRHcm91cElkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEdyb3VwTWVtYmVyc2hpcElkIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEdyb3VwTWVtYmVyc2hpcElkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFVzZXJJZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRVc2VySWRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSXNNZW1iZXJJbkdyb3VwcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJc01lbWJlckluR3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RHcm91cE1lbWJlcnNoaXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHcm91cE1lbWJlcnNoaXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RHcm91cE1lbWJlcnNoaXBzRm9yTWVtYmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHcm91cE1lbWJlcnNoaXBzRm9yTWVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RHcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpHcm91cEV4dGVybmFsSWRJc3N1ZXJzXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZWdpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RVc2VycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRcdFwiaWRlbnRpdHlzdG9yZTpVc2VyRXh0ZXJuYWxJZElzc3VlcnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlc2VydmVVc2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc2VydmVVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkdyb3VwRXh0ZXJuYWxJZElzc3VlcnNcIixcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVXNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XHRcImlkZW50aXR5c3RvcmU6VXNlckV4dGVybmFsSWRJc3N1ZXJzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGlkZW50aXR5c3RvcmU6R3JvdXBFeHRlcm5hbElkSXNzdWVycyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdST1VQX0VYVEVSTkFMX0lEX0lTU1VFUlMgPVxuXHRcdFwiaWRlbnRpdHlzdG9yZTpHcm91cEV4dGVybmFsSWRJc3N1ZXJzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBpZGVudGl0eXN0b3JlOklkZW50aXR5U3RvcmVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElERU5USVRZX1NUT1JFX0FSTiA9IFwiaWRlbnRpdHlzdG9yZTpJZGVudGl0eVN0b3JlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBSSU1BUllfUkVHSU9OID0gXCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGlkZW50aXR5c3RvcmU6UmVzZXJ2ZWRVc2VySWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFU0VSVkVEX1VTRVJfSUQgPSBcImlkZW50aXR5c3RvcmU6UmVzZXJ2ZWRVc2VySWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGlkZW50aXR5c3RvcmU6VXNlckV4dGVybmFsSWRJc3N1ZXJzIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9FWFRFUk5BTF9JRF9JU1NVRVJTID1cblx0XHRcImlkZW50aXR5c3RvcmU6VXNlckV4dGVybmFsSWRJc3N1ZXJzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBpZGVudGl0eXN0b3JlOlVzZXJJZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9JRCA9IFwiaWRlbnRpdHlzdG9yZTpVc2VySWRcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgaWRlbnRpdHlzdG9yZTpHcm91cEV4dGVybmFsSWRJc3N1ZXJzYC5cblx0ICovXG5cdHN0YXRpYyBncm91cEV4dGVybmFsSWRJc3N1ZXJzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjoge1xuXHRcdFx0XHRcImlkZW50aXR5c3RvcmU6R3JvdXBFeHRlcm5hbElkSXNzdWVyc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgaWRlbnRpdHlzdG9yZTpJZGVudGl0eVN0b3JlQXJuYC5cblx0ICovXG5cdHN0YXRpYyBpZGVudGl0eVN0b3JlQVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJpZGVudGl0eXN0b3JlOklkZW50aXR5U3RvcmVBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvbmAuXG5cdCAqL1xuXHRzdGF0aWMgcHJpbWFyeVJlZ2lvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgaWRlbnRpdHlzdG9yZTpSZXNlcnZlZFVzZXJJZGAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzZXJ2ZWRVc2VySWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJpZGVudGl0eXN0b3JlOlJlc2VydmVkVXNlcklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBpZGVudGl0eXN0b3JlOlVzZXJFeHRlcm5hbElkSXNzdWVyc2AuXG5cdCAqL1xuXHRzdGF0aWMgdXNlckV4dGVybmFsSWRJc3N1ZXJzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjoge1xuXHRcdFx0XHRcImlkZW50aXR5c3RvcmU6VXNlckV4dGVybmFsSWRJc3N1ZXJzXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBpZGVudGl0eXN0b3JlOlVzZXJJZGAuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiaWRlbnRpdHlzdG9yZTpVc2VySWRcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
609
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHlzdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvaWRlbnRpdHlzdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQTRHQzs7O0FBM0dBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELHNDQUFzQztBQUN0Qiw4QkFBUyxHQUFHLHlCQUF5QixDQUFDO0FBQ3RELHdDQUF3QztBQUN4QixnQ0FBVyxHQUFHLDJCQUEyQixDQUFDO0FBQzFELGtEQUFrRDtBQUNsQywwQ0FBcUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUM5RSxnREFBZ0Q7QUFDaEMsd0NBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFDMUUsdUNBQXVDO0FBQ3ZCLCtCQUFVLEdBQUcsMEJBQTBCLENBQUM7QUFDeEQsd0NBQXdDO0FBQ3hCLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsa0RBQWtEO0FBQ2xDLDBDQUFxQixHQUFHLHFDQUFxQyxDQUFDO0FBQzlFLGdEQUFnRDtBQUNoQyx3Q0FBbUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUMxRSx1Q0FBdUM7QUFDdkIsK0JBQVUsR0FBRywwQkFBMEIsQ0FBQztBQUN4RCx5Q0FBeUM7QUFDekIsa0NBQWEsR0FBRyw2QkFBNkIsQ0FBQztBQUM5RCxtREFBbUQ7QUFDbkMsNENBQXVCLEdBQ3RDLHVDQUF1QyxDQUFDO0FBQ3pDLGlEQUFpRDtBQUNqQywwQ0FBcUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUM5RSwwQ0FBMEM7QUFDMUIsbUNBQWMsR0FBRyw4QkFBOEIsQ0FBQztBQUNoRSx3Q0FBd0M7QUFDeEIsaUNBQVksR0FBRyw0QkFBNEIsQ0FB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PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2lkZW50aXR5c3RvcmUuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGlkZW50aXR5c3RvcmUgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIElkZW50aXR5c3RvcmVBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiaWRlbnRpdHlzdG9yZVwiO1xuXG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6QWRkUmVnaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRSZWdpb24gPSBcImlkZW50aXR5c3RvcmU6QWRkUmVnaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6Q3JlYXRlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdyb3VwID0gXCJpZGVudGl0eXN0b3JlOkNyZWF0ZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6Q3JlYXRlR3JvdXBNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHcm91cE1lbWJlcnNoaXAgPSBcImlkZW50aXR5c3RvcmU6Q3JlYXRlR3JvdXBNZW1iZXJzaGlwXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6Q3JlYXRlSWRlbnRpdHlTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSWRlbnRpdHlTdG9yZSA9IFwiaWRlbnRpdHlzdG9yZTpDcmVhdGVJZGVudGl0eVN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6Q3JlYXRlVXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlciA9IFwiaWRlbnRpdHlzdG9yZTpDcmVhdGVVc2VyXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6RGVsZXRlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdyb3VwID0gXCJpZGVudGl0eXN0b3JlOkRlbGV0ZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6RGVsZXRlR3JvdXBNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHcm91cE1lbWJlcnNoaXAgPSBcImlkZW50aXR5c3RvcmU6RGVsZXRlR3JvdXBNZW1iZXJzaGlwXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6RGVsZXRlSWRlbnRpdHlTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSWRlbnRpdHlTdG9yZSA9IFwiaWRlbnRpdHlzdG9yZTpEZWxldGVJZGVudGl0eVN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6RGVsZXRlVXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlciA9IFwiaWRlbnRpdHlzdG9yZTpEZWxldGVVc2VyXCI7XG5cdC8qKiBbUmVhZF0gaWRlbnRpdHlzdG9yZTpEZXNjcmliZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUdyb3VwID0gXCJpZGVudGl0eXN0b3JlOkRlc2NyaWJlR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBpZGVudGl0eXN0b3JlOkRlc2NyaWJlR3JvdXBNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUdyb3VwTWVtYmVyc2hpcCA9XG5cdFx0XCJpZGVudGl0eXN0b3JlOkRlc2NyaWJlR3JvdXBNZW1iZXJzaGlwXCI7XG5cdC8qKiBbUmVhZF0gaWRlbnRpdHlzdG9yZTpEZXNjcmliZUlkZW50aXR5U3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSWRlbnRpdHlTdG9yZSA9IFwiaWRlbnRpdHlzdG9yZTpEZXNjcmliZUlkZW50aXR5U3RvcmVcIjtcblx0LyoqIFtSZWFkXSBpZGVudGl0eXN0b3JlOkRlc2NyaWJlUmVnaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lvbiA9IFwiaWRlbnRpdHlzdG9yZTpEZXNjcmliZVJlZ2lvblwiO1xuXHQvKiogW1JlYWRdIGlkZW50aXR5c3RvcmU6RGVzY3JpYmVVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXIgPSBcImlkZW50aXR5c3RvcmU6RGVzY3JpYmVVc2VyXCI7XG5cdC8qKiBbUmVhZF0gaWRlbnRpdHlzdG9yZTpHZXRHcm91cElkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRHcm91cElkID0gXCJpZGVudGl0eXN0b3JlOkdldEdyb3VwSWRcIjtcblx0LyoqIFtSZWFkXSBpZGVudGl0eXN0b3JlOkdldEdyb3VwTWVtYmVyc2hpcElkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRHcm91cE1lbWJlcnNoaXBJZCA9XG5cdFx0XCJpZGVudGl0eXN0b3JlOkdldEdyb3VwTWVtYmVyc2hpcElkXCI7XG5cdC8qKiBbUmVhZF0gaWRlbnRpdHlzdG9yZTpHZXRVc2VySWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVzZXJJZCA9IFwiaWRlbnRpdHlzdG9yZTpHZXRVc2VySWRcIjtcblx0LyoqIFtSZWFkXSBpZGVudGl0eXN0b3JlOklzTWVtYmVySW5Hcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IElzTWVtYmVySW5Hcm91cHMgPSBcImlkZW50aXR5c3RvcmU6SXNNZW1iZXJJbkdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGlkZW50aXR5c3RvcmU6TGlzdEdyb3VwTWVtYmVyc2hpcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHcm91cE1lbWJlcnNoaXBzID0gXCJpZGVudGl0eXN0b3JlOkxpc3RHcm91cE1lbWJlcnNoaXBzXCI7XG5cdC8qKiBbTGlzdF0gaWRlbnRpdHlzdG9yZTpMaXN0R3JvdXBNZW1iZXJzaGlwc0Zvck1lbWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdyb3VwTWVtYmVyc2hpcHNGb3JNZW1iZXIgPVxuXHRcdFwiaWRlbnRpdHlzdG9yZTpMaXN0R3JvdXBNZW1iZXJzaGlwc0Zvck1lbWJlclwiO1xuXHQvKiogW0xpc3RdIGlkZW50aXR5c3RvcmU6TGlzdEdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdyb3VwcyA9IFwiaWRlbnRpdHlzdG9yZTpMaXN0R3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gaWRlbnRpdHlzdG9yZTpMaXN0SWRlbnRpdHlTdG9yZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJZGVudGl0eVN0b3JlcyA9IFwiaWRlbnRpdHlzdG9yZTpMaXN0SWRlbnRpdHlTdG9yZXNcIjtcblx0LyoqIFtMaXN0XSBpZGVudGl0eXN0b3JlOkxpc3RSZWdpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVnaW9ucyA9IFwiaWRlbnRpdHlzdG9yZTpMaXN0UmVnaW9uc1wiO1xuXHQvKiogW0xpc3RdIGlkZW50aXR5c3RvcmU6TGlzdFVzZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlcnMgPSBcImlkZW50aXR5c3RvcmU6TGlzdFVzZXJzXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6UmVtb3ZlUmVnaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVSZWdpb24gPSBcImlkZW50aXR5c3RvcmU6UmVtb3ZlUmVnaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6UmVzZXJ2ZVVzZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc2VydmVVc2VyID0gXCJpZGVudGl0eXN0b3JlOlJlc2VydmVVc2VyXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6VXBkYXRlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdyb3VwID0gXCJpZGVudGl0eXN0b3JlOlVwZGF0ZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6VXBkYXRlSWRlbnRpdHlTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSWRlbnRpdHlTdG9yZSA9IFwiaWRlbnRpdHlzdG9yZTpVcGRhdGVJZGVudGl0eVN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIGlkZW50aXR5c3RvcmU6VXBkYXRlVXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlciA9IFwiaWRlbnRpdHlzdG9yZTpVcGRhdGVVc2VyXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVzY3JpYmVHcm91cCxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5EZXNjcmliZUdyb3VwTWVtYmVyc2hpcCxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5EZXNjcmliZUlkZW50aXR5U3RvcmUsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVzY3JpYmVSZWdpb24sXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVzY3JpYmVVc2VyLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLmFjdGlvbkdldEdyb3VwSWQsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuYWN0aW9uR2V0R3JvdXBNZW1iZXJzaGlwSWQsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuYWN0aW9uR2V0VXNlcklkLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLklzTWVtYmVySW5Hcm91cHMsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuQWRkUmVnaW9uLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkNyZWF0ZUdyb3VwLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkNyZWF0ZUdyb3VwTWVtYmVyc2hpcCxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5DcmVhdGVJZGVudGl0eVN0b3JlLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkNyZWF0ZVVzZXIsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVsZXRlR3JvdXAsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVsZXRlR3JvdXBNZW1iZXJzaGlwLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkRlbGV0ZUlkZW50aXR5U3RvcmUsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuRGVsZXRlVXNlcixcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5SZW1vdmVSZWdpb24sXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuUmVzZXJ2ZVVzZXIsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuVXBkYXRlR3JvdXAsXG5cdFx0SWRlbnRpdHlzdG9yZUFjdGlvbnMuVXBkYXRlSWRlbnRpdHlTdG9yZSxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5VcGRhdGVVc2VyLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5MaXN0R3JvdXBNZW1iZXJzaGlwcyxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5MaXN0R3JvdXBNZW1iZXJzaGlwc0Zvck1lbWJlcixcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5MaXN0R3JvdXBzLFxuXHRcdElkZW50aXR5c3RvcmVBY3Rpb25zLkxpc3RJZGVudGl0eVN0b3Jlcyxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5MaXN0UmVnaW9ucyxcblx0XHRJZGVudGl0eXN0b3JlQWN0aW9ucy5MaXN0VXNlcnMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW107XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBbGxHcm91cE1lbWJlcnNoaXBzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlQWxsR3JvdXBNZW1iZXJzaGlwc0FyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBbGxHcm91cE1lbWJlcnNoaXBzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlQWxsR3JvdXBNZW1iZXJzaGlwc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBbGxHcm91cHMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVBbGxHcm91cHNBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQWxsR3JvdXBzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlQWxsR3JvdXBzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEFsbFVzZXJzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlQWxsVXNlcnNBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQWxsVXNlcnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVBbGxVc2Vyc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBHcm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlzdG9yZUdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIEdyb3VwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGdyb3VwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBHcm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlzdG9yZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBHcm91cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgR3JvdXBNZW1iZXJzaGlwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlR3JvdXBNZW1iZXJzaGlwQXJuUHJvcHMge1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgR3JvdXBNZW1iZXJzaGlwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlR3JvdXBNZW1iZXJzaGlwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIElkZW50aXR5c3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5c3RvcmVJZGVudGl0eXN0b3JlQXJuUHJvcHMge1xuXHQvKiogVGhlIElkZW50aXR5U3RvcmVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpdHlTdG9yZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBJZGVudGl0eXN0b3JlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlSWRlbnRpdHlzdG9yZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aXR5U3RvcmVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aXR5U3RvcmVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgVXNlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlzdG9yZVVzZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVXNlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1c2VySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBVc2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eXN0b3JlVXNlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFsbEdyb3VwTWVtYmVyc2hpcHNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aWRlbnRpdHlzdG9yZTo6Om1lbWJlcnNoaXBcXC8uKiQvO1xuY29uc3QgQWxsR3JvdXBzQXJuUmVnZXggPSAvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlkZW50aXR5c3RvcmU6Ojpncm91cFxcLy4qJC87XG5jb25zdCBBbGxVc2Vyc0FyblJlZ2V4ID0gL15hcm46KD88cGFydGl0aW9uPlteOl0rKTppZGVudGl0eXN0b3JlOjo6dXNlclxcLy4qJC87XG5jb25zdCBHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTppZGVudGl0eXN0b3JlOjo6Z3JvdXBcXC8oPzxncm91cElkPlteOi8/XSspJC87XG5jb25zdCBHcm91cE1lbWJlcnNoaXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aWRlbnRpdHlzdG9yZTo6Om1lbWJlcnNoaXBcXC8oPzxtZW1iZXJzaGlwSWQ+W146Lz9dKykkLztcbmNvbnN0IElkZW50aXR5c3RvcmVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aWRlbnRpdHlzdG9yZTo6KD88YWNjb3VudD5bXjpdKik6aWRlbnRpdHlzdG9yZVxcLyg/PGlkZW50aXR5U3RvcmVJZD5bXjovP10rKSQvO1xuY29uc3QgVXNlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTppZGVudGl0eXN0b3JlOjo6dXNlclxcLyg/PHVzZXJJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGlkZW50aXR5c3RvcmUgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlzdG9yZVJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQWxsR3JvdXBNZW1iZXJzaGlwcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhbGxHcm91cE1lbWJlcnNoaXBzKFxuXHRcdHByb3BzOiBJZGVudGl0eXN0b3JlQWxsR3JvdXBNZW1iZXJzaGlwc0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlkZW50aXR5c3RvcmU6OjptZW1iZXJzaGlwLypgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQWxsR3JvdXBNZW1iZXJzaGlwcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWxsR3JvdXBNZW1iZXJzaGlwc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbGxHcm91cE1lbWJlcnNoaXBzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEFsbEdyb3VwTWVtYmVyc2hpcHMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWxsR3JvdXBNZW1iZXJzaGlwc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogSWRlbnRpdHlzdG9yZUFsbEdyb3VwTWVtYmVyc2hpcHNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFsbEdyb3VwTWVtYmVyc2hpcHNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQWxsR3JvdXBNZW1iZXJzaGlwcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQWxsR3JvdXBzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFsbEdyb3Vwcyhwcm9wczogSWRlbnRpdHlzdG9yZUFsbEdyb3Vwc0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTppZGVudGl0eXN0b3JlOjo6Z3JvdXAvKmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBBbGxHcm91cHMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFsbEdyb3Vwc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbGxHcm91cHNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQWxsR3JvdXBzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFsbEdyb3Vwc0Fybihhcm46IHN0cmluZyk6IElkZW50aXR5c3RvcmVBbGxHcm91cHNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFsbEdyb3Vwc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBBbGxHcm91cHMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEFsbFVzZXJzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFsbFVzZXJzKHByb3BzOiBJZGVudGl0eXN0b3JlQWxsVXNlcnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06aWRlbnRpdHlzdG9yZTo6OnVzZXIvKmA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBBbGxVc2VycyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWxsVXNlcnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWxsVXNlcnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQWxsVXNlcnMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWxsVXNlcnNBcm4oYXJuOiBzdHJpbmcpOiBJZGVudGl0eXN0b3JlQWxsVXNlcnNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFsbFVzZXJzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEFsbFVzZXJzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBHcm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBncm91cChwcm9wczogSWRlbnRpdHlzdG9yZUdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlkZW50aXR5c3RvcmU6Ojpncm91cC8ke3Byb3BzLmdyb3VwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRHcm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBHcm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBHcm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VHcm91cEFybihhcm46IHN0cmluZyk6IElkZW50aXR5c3RvcmVHcm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gR3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgR3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Z3JvdXBJZDogbWF0Y2guZ3JvdXBzIS5ncm91cElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEdyb3VwTWVtYmVyc2hpcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBncm91cE1lbWJlcnNoaXAocHJvcHM6IElkZW50aXR5c3RvcmVHcm91cE1lbWJlcnNoaXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06aWRlbnRpdHlzdG9yZTo6Om1lbWJlcnNoaXAvJHtwcm9wcy5tZW1iZXJzaGlwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEdyb3VwTWVtYmVyc2hpcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkR3JvdXBNZW1iZXJzaGlwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEdyb3VwTWVtYmVyc2hpcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBHcm91cE1lbWJlcnNoaXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlR3JvdXBNZW1iZXJzaGlwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBJZGVudGl0eXN0b3JlR3JvdXBNZW1iZXJzaGlwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBHcm91cE1lbWJlcnNoaXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgR3JvdXBNZW1iZXJzaGlwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lbWJlcnNoaXBJZDogbWF0Y2guZ3JvdXBzIS5tZW1iZXJzaGlwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgSWRlbnRpdHlzdG9yZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpZGVudGl0eXN0b3JlKHByb3BzOiBJZGVudGl0eXN0b3JlSWRlbnRpdHlzdG9yZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTppZGVudGl0eXN0b3JlOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmlkZW50aXR5c3RvcmUvJHtwcm9wcy5pZGVudGl0eVN0b3JlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIElkZW50aXR5c3RvcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZElkZW50aXR5c3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSWRlbnRpdHlzdG9yZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBJZGVudGl0eXN0b3JlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUlkZW50aXR5c3RvcmVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IElkZW50aXR5c3RvcmVJZGVudGl0eXN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJZGVudGl0eXN0b3JlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIElkZW50aXR5c3RvcmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWRlbnRpdHlTdG9yZUlkOiBtYXRjaC5ncm91cHMhLmlkZW50aXR5U3RvcmVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBVc2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHVzZXIocHJvcHM6IElkZW50aXR5c3RvcmVVc2VyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlkZW50aXR5c3RvcmU6Ojp1c2VyLyR7cHJvcHMudXNlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBVc2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRVc2VyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFVzZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgVXNlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VVc2VyQXJuKGFybjogc3RyaW5nKTogSWRlbnRpdHlzdG9yZVVzZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFVzZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVXNlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR1c2VySWQ6IG1hdGNoLmdyb3VwcyEudXNlcklkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGlkZW50aXR5c3RvcmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBJZGVudGl0eXN0b3JlT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpDcmVhdGVHcm91cFwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpDcmVhdGVHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVHcm91cE1lbWJlcnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHcm91cE1lbWJlcnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NvLWRpcmVjdG9yeTpBZGRNZW1iZXJUb0dyb3VwXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOkNyZWF0ZUdyb3VwTWVtYmVyc2hpcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVVc2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkNyZWF0ZVVzZXJcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6Q3JlYXRlVXNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6RGVsZXRlR3JvdXBcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6RGVsZXRlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlR3JvdXBNZW1iZXJzaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR3JvdXBNZW1iZXJzaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6RGVsZXRlR3JvdXBNZW1iZXJzaGlwXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5OlJlbW92ZU1lbWJlckZyb21Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVVc2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkRlbGV0ZVVzZXJcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6RGVsZXRlVXNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkRlc2NyaWJlR3JvdXBcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6RGVzY3JpYmVHcm91cFwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpEZXNjcmliZUdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUdyb3VwTWVtYmVyc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlR3JvdXBNZW1iZXJzaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6RGVzY3JpYmVHcm91cE1lbWJlcnNoaXBcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6TGlzdEdyb3Vwc0Zvck1lbWJlclwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpMaXN0R3JvdXBzRm9yVXNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVVzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpEZXNjcmliZVVzZXJcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6RGVzY3JpYmVVc2VyXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5OkRlc2NyaWJlVXNlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0R3JvdXBJZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0R3JvdXBJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkdldEdyb3VwSWRcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6R2V0R3JvdXBJZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHcm91cE1lbWJlcnNoaXBJZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0R3JvdXBNZW1iZXJzaGlwSWQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpHZXRHcm91cE1lbWJlcnNoaXBJZFwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpMaXN0R3JvdXBzRm9yTWVtYmVyXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5Okxpc3RHcm91cHNGb3JVc2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFVzZXJJZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VXNlcklkOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6R2V0VXNlcklkXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5OkdldFVzZXJJZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJc01lbWJlckluR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSXNNZW1iZXJJbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc28tZGlyZWN0b3J5OklzTWVtYmVySW5Hcm91cFwiLFxuXHRcdFwiaWRlbnRpdHlzdG9yZTpJc01lbWJlckluR3JvdXBzXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5OklzTWVtYmVySW5Hcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEdyb3VwTWVtYmVyc2hpcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R3JvdXBNZW1iZXJzaGlwczogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkxpc3RHcm91cE1lbWJlcnNoaXBzXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5Okxpc3RNZW1iZXJzSW5Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R3JvdXBNZW1iZXJzaGlwc0Zvck1lbWJlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHcm91cE1lbWJlcnNoaXBzRm9yTWVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6TGlzdEdyb3VwTWVtYmVyc2hpcHNGb3JNZW1iZXJcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6TGlzdEdyb3Vwc0Zvck1lbWJlclwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpMaXN0R3JvdXBzRm9yVXNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkxpc3RHcm91cHNcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6TGlzdEdyb3Vwc1wiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpTZWFyY2hHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFVzZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6TGlzdFVzZXJzXCIsXG5cdFx0XCJzc28tZGlyZWN0b3J5Okxpc3RVc2Vyc1wiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpTZWFyY2hVc2Vyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6VXBkYXRlR3JvdXBcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6VXBkYXRlR3JvdXBcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6VXBkYXRlR3JvdXBEaXNwbGF5TmFtZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVVc2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlVwZGF0ZVVzZXJcIixcblx0XHRcInNzby1kaXJlY3Rvcnk6VXBkYXRlVXNlclwiLFxuXHRcdFwic3NvLWRpcmVjdG9yeTpVcGRhdGVVc2VyTmFtZVwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgaWRlbnRpdHlzdG9yZS5cbiAqL1xuZXhwb3J0IGNsYXNzIElkZW50aXR5c3RvcmVDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkdyb3VwRXh0ZXJuYWxJZElzc3VlcnNcIixcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlR3JvdXBNZW1iZXJzaGlwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdyb3VwTWVtYmVyc2hpcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpQcmltYXJ5UmVnaW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVVc2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRcdFwiaWRlbnRpdHlzdG9yZTpSZXNlcnZlZFVzZXJJZFwiLFxuXHRcdFwiaWRlbnRpdHlzdG9yZTpVc2VyRXh0ZXJuYWxJZElzc3VlcnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkdyb3VwRXh0ZXJuYWxJZElzc3VlcnNcIixcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlR3JvdXBNZW1iZXJzaGlwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdyb3VwTWVtYmVyc2hpcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpQcmltYXJ5UmVnaW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVVc2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRcdFwiaWRlbnRpdHlzdG9yZTpVc2VyRXh0ZXJuYWxJZElzc3VlcnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpHcm91cEV4dGVybmFsSWRJc3N1ZXJzXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlR3JvdXBNZW1iZXJzaGlwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlR3JvdXBNZW1iZXJzaGlwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlSWRlbnRpdHlTdG9yZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUlkZW50aXR5U3RvcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVSZWdpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVVc2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpQcmltYXJ5UmVnaW9uXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOlVzZXJFeHRlcm5hbElkSXNzdWVyc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0R3JvdXBJZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRHcm91cElkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEdyb3VwTWVtYmVyc2hpcElkIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEdyb3VwTWVtYmVyc2hpcElkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFVzZXJJZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRVc2VySWRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSXNNZW1iZXJJbkdyb3VwcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJc01lbWJlckluR3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RHcm91cE1lbWJlcnNoaXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHcm91cE1lbWJlcnNoaXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RHcm91cE1lbWJlcnNoaXBzRm9yTWVtYmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHcm91cE1lbWJlcnNoaXBzRm9yTWVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RHcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWRlbnRpdHlzdG9yZTpHcm91cEV4dGVybmFsSWRJc3N1ZXJzXCIsXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZWdpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RVc2VycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRcdFwiaWRlbnRpdHlzdG9yZTpVc2VyRXh0ZXJuYWxJZElzc3VlcnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlc2VydmVVc2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc2VydmVVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOkdyb3VwRXh0ZXJuYWxJZElzc3VlcnNcIixcblx0XHRcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVXNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIixcblx0XHRcImlkZW50aXR5c3RvcmU6VXNlckV4dGVybmFsSWRJc3N1ZXJzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGlkZW50aXR5c3RvcmU6R3JvdXBFeHRlcm5hbElkSXNzdWVycyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdST1VQX0VYVEVSTkFMX0lEX0lTU1VFUlMgPVxuXHRcdFwiaWRlbnRpdHlzdG9yZTpHcm91cEV4dGVybmFsSWRJc3N1ZXJzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBpZGVudGl0eXN0b3JlOklkZW50aXR5U3RvcmVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElERU5USVRZX1NUT1JFX0FSTiA9IFwiaWRlbnRpdHlzdG9yZTpJZGVudGl0eVN0b3JlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBSSU1BUllfUkVHSU9OID0gXCJpZGVudGl0eXN0b3JlOlByaW1hcnlSZWdpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGlkZW50aXR5c3RvcmU6UmVzZXJ2ZWRVc2VySWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFU0VSVkVEX1VTRVJfSUQgPSBcImlkZW50aXR5c3RvcmU6UmVzZXJ2ZWRVc2VySWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGlkZW50aXR5c3RvcmU6VXNlckV4dGVybmFsSWRJc3N1ZXJzIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9FWFRFUk5BTF9JRF9JU1NVRVJTID1cblx0XHRcImlkZW50aXR5c3RvcmU6VXNlckV4dGVybmFsSWRJc3N1ZXJzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBpZGVudGl0eXN0b3JlOlVzZXJJZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9JRCA9IFwiaWRlbnRpdHlzdG9yZTpVc2VySWRcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgaWRlbnRpdHlzdG9yZTpHcm91cEV4dGVybmFsSWRJc3N1ZXJzYC5cblx0ICovXG5cdHN0YXRpYyBncm91cEV4dGVybmFsSWRJc3N1ZXJzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjoge1xuXHRcdFx0XHRcImlkZW50aXR5c3RvcmU6R3JvdXBFeHRlcm5hbElkSXNzdWVyc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgaWRlbnRpdHlzdG9yZTpJZGVudGl0eVN0b3JlQXJuYC5cblx0ICovXG5cdHN0YXRpYyBpZGVudGl0eVN0b3JlQVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJpZGVudGl0eXN0b3JlOklkZW50aXR5U3RvcmVBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvbmAuXG5cdCAqL1xuXHRzdGF0aWMgcHJpbWFyeVJlZ2lvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImlkZW50aXR5c3RvcmU6UHJpbWFyeVJlZ2lvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgaWRlbnRpdHlzdG9yZTpSZXNlcnZlZFVzZXJJZGAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzZXJ2ZWRVc2VySWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJpZGVudGl0eXN0b3JlOlJlc2VydmVkVXNlcklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBpZGVudGl0eXN0b3JlOlVzZXJFeHRlcm5hbElkSXNzdWVyc2AuXG5cdCAqL1xuXHRzdGF0aWMgdXNlckV4dGVybmFsSWRJc3N1ZXJzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjoge1xuXHRcdFx0XHRcImlkZW50aXR5c3RvcmU6VXNlckV4dGVybmFsSWRJc3N1ZXJzXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBpZGVudGl0eXN0b3JlOlVzZXJJZGAuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiaWRlbnRpdHlzdG9yZTpVc2VySWRcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
@@ -16,7 +16,7 @@ class ImageBuilderActions {
16
16
  }
17
17
  exports.ImageBuilderActions = ImageBuilderActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ImageBuilderActions[_a] = { fqn: "@cdk_utils/iam.imagebuilder.ImageBuilderActions", version: "1.30.0" };
19
+ ImageBuilderActions[_a] = { fqn: "@cdk_utils/iam.imagebuilder.ImageBuilderActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  ImageBuilderActions.SERVICE_PREFIX = "imagebuilder";
22
22
  /** [Write] imagebuilder:CancelImageCreation */
@@ -750,7 +750,7 @@ class ImageBuilderResources {
750
750
  }
751
751
  exports.ImageBuilderResources = ImageBuilderResources;
752
752
  _b = JSII_RTTI_SYMBOL_1;
753
- ImageBuilderResources[_b] = { fqn: "@cdk_utils/iam.imagebuilder.ImageBuilderResources", version: "1.30.0" };
753
+ ImageBuilderResources[_b] = { fqn: "@cdk_utils/iam.imagebuilder.ImageBuilderResources", version: "1.32.0" };
754
754
  /**
755
755
  * API operation to required IAM actions mapping for imagebuilder.
756
756
  */
@@ -758,7 +758,7 @@ class ImageBuilderOperations {
758
758
  }
759
759
  exports.ImageBuilderOperations = ImageBuilderOperations;
760
760
  _c = JSII_RTTI_SYMBOL_1;
761
- ImageBuilderOperations[_c] = { fqn: "@cdk_utils/iam.imagebuilder.ImageBuilderOperations", version: "1.30.0" };
761
+ ImageBuilderOperations[_c] = { fqn: "@cdk_utils/iam.imagebuilder.ImageBuilderOperations", version: "1.32.0" };
762
762
  /** IAM actions required for the CancelImageCreation API call. */
763
763
  ImageBuilderOperations.CancelImageCreation = [
764
764
  "imagebuilder:CancelImageCreation",
@@ -1151,7 +1151,7 @@ class ImageBuilderConditions {
1151
1151
  }
1152
1152
  exports.ImageBuilderConditions = ImageBuilderConditions;
1153
1153
  _d = JSII_RTTI_SYMBOL_1;
1154
- ImageBuilderConditions[_d] = { fqn: "@cdk_utils/iam.imagebuilder.ImageBuilderConditions", version: "1.30.0" };
1154
+ ImageBuilderConditions[_d] = { fqn: "@cdk_utils/iam.imagebuilder.ImageBuilderConditions", version: "1.32.0" };
1155
1155
  /** Condition keys applicable to the CreateComponent action. */
1156
1156
  ImageBuilderConditions.CreateComponentConditionKeys = [
1157
1157
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class ImportexportActions {
16
16
  }
17
17
  exports.ImportexportActions = ImportexportActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ImportexportActions[_a] = { fqn: "@cdk_utils/iam.importexport.ImportexportActions", version: "1.30.0" };
19
+ ImportexportActions[_a] = { fqn: "@cdk_utils/iam.importexport.ImportexportActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  ImportexportActions.SERVICE_PREFIX = "importexport";
22
22
  /** [Write] importexport:CancelJob */
@@ -55,7 +55,7 @@ class ImportexportOperations {
55
55
  }
56
56
  exports.ImportexportOperations = ImportexportOperations;
57
57
  _b = JSII_RTTI_SYMBOL_1;
58
- ImportexportOperations[_b] = { fqn: "@cdk_utils/iam.importexport.ImportexportOperations", version: "1.30.0" };
58
+ ImportexportOperations[_b] = { fqn: "@cdk_utils/iam.importexport.ImportexportOperations", version: "1.32.0" };
59
59
  /** IAM actions required for the CancelJob API call. */
60
60
  ImportexportOperations.CancelJob = [];
61
61
  /** IAM actions required for the CreateJob API call. */
@@ -16,7 +16,7 @@ class InspectorScanActions {
16
16
  }
17
17
  exports.InspectorScanActions = InspectorScanActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- InspectorScanActions[_a] = { fqn: "@cdk_utils/iam.inspector_scan.InspectorScanActions", version: "1.30.0" };
19
+ InspectorScanActions[_a] = { fqn: "@cdk_utils/iam.inspector_scan.InspectorScanActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  InspectorScanActions.SERVICE_PREFIX = "inspector-scan";
22
22
  /** [Read] inspector-scan:ScanSbom */
@@ -38,7 +38,7 @@ class InspectorScanOperations {
38
38
  }
39
39
  exports.InspectorScanOperations = InspectorScanOperations;
40
40
  _b = JSII_RTTI_SYMBOL_1;
41
- InspectorScanOperations[_b] = { fqn: "@cdk_utils/iam.inspector_scan.InspectorScanOperations", version: "1.30.0" };
41
+ InspectorScanOperations[_b] = { fqn: "@cdk_utils/iam.inspector_scan.InspectorScanOperations", version: "1.32.0" };
42
42
  /** IAM actions required for the ScanSbom API call. */
43
43
  InspectorScanOperations.ScanSbom = ["inspector-scan:ScanSbom"];
44
44
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdG9yLXNjYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2luc3BlY3Rvci1zY2FuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQscURBQXFEO0FBQ3JELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLG9CQUFvQjs7QUFBakMsb0RBaUJDOzs7QUFoQkEsOEJBQThCO0FBQ2QsbUNBQWMsR0FBRyxnQkFBZ0IsQ0FBQztBQUVsRCxxQ0FBcUM7QUFDckIsNkJBQVEsR0FBRyx5QkFBeUIsQ0FBQztBQUVyRCw4QkFBOEI7QUFDZCxtQ0FBYyxHQUFhLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDM0UsK0JBQStCO0FBQ2Ysb0NBQWUsR0FBYSxFQUFFLENBQUM7QUFDL0MsOEJBQThCO0FBQ2QsbUNBQWMsR0FBYSxFQUFFLENBQUM7QUFDOUMsK0NBQStDO0FBQy9CLG1EQUE4QixHQUFhLEVBQUUsQ0FBQztBQUM5RCxpQ0FBaUM7QUFDakIsc0NBQWlCLEdBQWEsRUFBRSxDQUFDO0FBR2xEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7O0FBQXBDLDBEQUdDOzs7QUFGQSxzREFBc0Q7QUFDdEMsZ0NBQVEsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9pbnNwZWN0b3Itc2Nhbi5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgaW5zcGVjdG9yLXNjYW4gc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEluc3BlY3RvclNjYW5BY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiaW5zcGVjdG9yLXNjYW5cIjtcblxuXHQvKiogW1JlYWRdIGluc3BlY3Rvci1zY2FuOlNjYW5TYm9tICovXG5cdHN0YXRpYyByZWFkb25seSBTY2FuU2JvbSA9IFwiaW5zcGVjdG9yLXNjYW46U2NhblNib21cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtJbnNwZWN0b3JTY2FuQWN0aW9ucy5TY2FuU2JvbV07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXTtcbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGluc3BlY3Rvci1zY2FuLlxuICovXG5leHBvcnQgY2xhc3MgSW5zcGVjdG9yU2Nhbk9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTY2FuU2JvbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNjYW5TYm9tOiBzdHJpbmdbXSA9IFtcImluc3BlY3Rvci1zY2FuOlNjYW5TYm9tXCJdO1xufVxuIl19
@@ -16,7 +16,7 @@ class InspectorActions {
16
16
  }
17
17
  exports.InspectorActions = InspectorActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- InspectorActions[_a] = { fqn: "@cdk_utils/iam.inspector.InspectorActions", version: "1.30.0" };
19
+ InspectorActions[_a] = { fqn: "@cdk_utils/iam.inspector.InspectorActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  InspectorActions.SERVICE_PREFIX = "inspector";
22
22
  /** [Write] inspector:AddAttributesToFindings */
@@ -151,7 +151,7 @@ class InspectorOperations {
151
151
  }
152
152
  exports.InspectorOperations = InspectorOperations;
153
153
  _b = JSII_RTTI_SYMBOL_1;
154
- InspectorOperations[_b] = { fqn: "@cdk_utils/iam.inspector.InspectorOperations", version: "1.30.0" };
154
+ InspectorOperations[_b] = { fqn: "@cdk_utils/iam.inspector.InspectorOperations", version: "1.32.0" };
155
155
  /** IAM actions required for the AddAttributesToFindings API call. */
156
156
  InspectorOperations.AddAttributesToFindings = [
157
157
  "inspector:AddAttributesToFindings",
@@ -16,7 +16,7 @@ class Inspector2TelemetryActions {
16
16
  }
17
17
  exports.Inspector2TelemetryActions = Inspector2TelemetryActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- Inspector2TelemetryActions[_a] = { fqn: "@cdk_utils/iam.inspector2_telemetry.Inspector2TelemetryActions", version: "1.30.0" };
19
+ Inspector2TelemetryActions[_a] = { fqn: "@cdk_utils/iam.inspector2_telemetry.Inspector2TelemetryActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  Inspector2TelemetryActions.SERVICE_PREFIX = "inspector2-telemetry";
22
22
  /** [Write] inspector2-telemetry:NotifyHeartbeat */
@@ -16,7 +16,7 @@ class Inspector2Actions {
16
16
  }
17
17
  exports.Inspector2Actions = Inspector2Actions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- Inspector2Actions[_a] = { fqn: "@cdk_utils/iam.inspector2.Inspector2Actions", version: "1.30.0" };
19
+ Inspector2Actions[_a] = { fqn: "@cdk_utils/iam.inspector2.Inspector2Actions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  Inspector2Actions.SERVICE_PREFIX = "inspector2";
22
22
  /** [Write] inspector2:AssociateMember */
@@ -460,7 +460,7 @@ class Inspector2Resources {
460
460
  }
461
461
  exports.Inspector2Resources = Inspector2Resources;
462
462
  _b = JSII_RTTI_SYMBOL_1;
463
- Inspector2Resources[_b] = { fqn: "@cdk_utils/iam.inspector2.Inspector2Resources", version: "1.30.0" };
463
+ Inspector2Resources[_b] = { fqn: "@cdk_utils/iam.inspector2.Inspector2Resources", version: "1.32.0" };
464
464
  /**
465
465
  * API operation to required IAM actions mapping for inspector2.
466
466
  */
@@ -468,7 +468,7 @@ class Inspector2Operations {
468
468
  }
469
469
  exports.Inspector2Operations = Inspector2Operations;
470
470
  _c = JSII_RTTI_SYMBOL_1;
471
- Inspector2Operations[_c] = { fqn: "@cdk_utils/iam.inspector2.Inspector2Operations", version: "1.30.0" };
471
+ Inspector2Operations[_c] = { fqn: "@cdk_utils/iam.inspector2.Inspector2Operations", version: "1.32.0" };
472
472
  /** IAM actions required for the AssociateMember API call. */
473
473
  Inspector2Operations.AssociateMember = ["inspector2:AssociateMember"];
474
474
  /** IAM actions required for the BatchAssociateCodeSecurityScanConfiguration API call. */
@@ -779,7 +779,7 @@ class Inspector2Conditions {
779
779
  }
780
780
  exports.Inspector2Conditions = Inspector2Conditions;
781
781
  _d = JSII_RTTI_SYMBOL_1;
782
- Inspector2Conditions[_d] = { fqn: "@cdk_utils/iam.inspector2.Inspector2Conditions", version: "1.30.0" };
782
+ Inspector2Conditions[_d] = { fqn: "@cdk_utils/iam.inspector2.Inspector2Conditions", version: "1.32.0" };
783
783
  /** Condition keys applicable to the CreateCisScanConfiguration action. */
784
784
  Inspector2Conditions.CreateCisScanConfigurationConditionKeys = [
785
785
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class InterconnectActions {
16
16
  }
17
17
  exports.InterconnectActions = InterconnectActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- InterconnectActions[_a] = { fqn: "@cdk_utils/iam.interconnect.InterconnectActions", version: "1.30.0" };
19
+ InterconnectActions[_a] = { fqn: "@cdk_utils/iam.interconnect.InterconnectActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  InterconnectActions.SERVICE_PREFIX = "interconnect";
22
22
  /** [Write] interconnect:AcceptConnectionProposal */
@@ -137,7 +137,7 @@ class InterconnectResources {
137
137
  }
138
138
  exports.InterconnectResources = InterconnectResources;
139
139
  _b = JSII_RTTI_SYMBOL_1;
140
- InterconnectResources[_b] = { fqn: "@cdk_utils/iam.interconnect.InterconnectResources", version: "1.30.0" };
140
+ InterconnectResources[_b] = { fqn: "@cdk_utils/iam.interconnect.InterconnectResources", version: "1.32.0" };
141
141
  /**
142
142
  * API operation to required IAM actions mapping for interconnect.
143
143
  */
@@ -145,7 +145,7 @@ class InterconnectOperations {
145
145
  }
146
146
  exports.InterconnectOperations = InterconnectOperations;
147
147
  _c = JSII_RTTI_SYMBOL_1;
148
- InterconnectOperations[_c] = { fqn: "@cdk_utils/iam.interconnect.InterconnectOperations", version: "1.30.0" };
148
+ InterconnectOperations[_c] = { fqn: "@cdk_utils/iam.interconnect.InterconnectOperations", version: "1.32.0" };
149
149
  /** IAM actions required for the AcceptConnectionProposal API call. */
150
150
  InterconnectOperations.AcceptConnectionProposal = [
151
151
  "interconnect:AcceptConnectionProposal",
@@ -215,7 +215,7 @@ class InterconnectConditions {
215
215
  }
216
216
  exports.InterconnectConditions = InterconnectConditions;
217
217
  _d = JSII_RTTI_SYMBOL_1;
218
- InterconnectConditions[_d] = { fqn: "@cdk_utils/iam.interconnect.InterconnectConditions", version: "1.30.0" };
218
+ InterconnectConditions[_d] = { fqn: "@cdk_utils/iam.interconnect.InterconnectConditions", version: "1.32.0" };
219
219
  /** Condition keys applicable to the AcceptConnectionProposal action. */
220
220
  InterconnectConditions.AcceptConnectionProposalConditionKeys = [
221
221
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class InternetmonitorActions {
16
16
  }
17
17
  exports.InternetmonitorActions = InternetmonitorActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- InternetmonitorActions[_a] = { fqn: "@cdk_utils/iam.internetmonitor.InternetmonitorActions", version: "1.30.0" };
19
+ InternetmonitorActions[_a] = { fqn: "@cdk_utils/iam.internetmonitor.InternetmonitorActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  InternetmonitorActions.SERVICE_PREFIX = "internetmonitor";
22
22
  /** [Write] internetmonitor:CreateMonitor */
@@ -178,7 +178,7 @@ class InternetmonitorResources {
178
178
  }
179
179
  exports.InternetmonitorResources = InternetmonitorResources;
180
180
  _b = JSII_RTTI_SYMBOL_1;
181
- InternetmonitorResources[_b] = { fqn: "@cdk_utils/iam.internetmonitor.InternetmonitorResources", version: "1.30.0" };
181
+ InternetmonitorResources[_b] = { fqn: "@cdk_utils/iam.internetmonitor.InternetmonitorResources", version: "1.32.0" };
182
182
  /**
183
183
  * API operation to required IAM actions mapping for internetmonitor.
184
184
  */
@@ -186,7 +186,7 @@ class InternetmonitorOperations {
186
186
  }
187
187
  exports.InternetmonitorOperations = InternetmonitorOperations;
188
188
  _c = JSII_RTTI_SYMBOL_1;
189
- InternetmonitorOperations[_c] = { fqn: "@cdk_utils/iam.internetmonitor.InternetmonitorOperations", version: "1.30.0" };
189
+ InternetmonitorOperations[_c] = { fqn: "@cdk_utils/iam.internetmonitor.InternetmonitorOperations", version: "1.32.0" };
190
190
  /** IAM actions required for the CreateMonitor API call. */
191
191
  InternetmonitorOperations.CreateMonitor = [
192
192
  "internetmonitor:CreateMonitor",
@@ -261,7 +261,7 @@ class InternetmonitorConditions {
261
261
  }
262
262
  exports.InternetmonitorConditions = InternetmonitorConditions;
263
263
  _d = JSII_RTTI_SYMBOL_1;
264
- InternetmonitorConditions[_d] = { fqn: "@cdk_utils/iam.internetmonitor.InternetmonitorConditions", version: "1.30.0" };
264
+ InternetmonitorConditions[_d] = { fqn: "@cdk_utils/iam.internetmonitor.InternetmonitorConditions", version: "1.32.0" };
265
265
  /** Condition keys applicable to the CreateMonitor action. */
266
266
  InternetmonitorConditions.CreateMonitorConditionKeys = [
267
267
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class InvoicingActions {
16
16
  }
17
17
  exports.InvoicingActions = InvoicingActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- InvoicingActions[_a] = { fqn: "@cdk_utils/iam.invoicing.InvoicingActions", version: "1.30.0" };
19
+ InvoicingActions[_a] = { fqn: "@cdk_utils/iam.invoicing.InvoicingActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  InvoicingActions.SERVICE_PREFIX = "invoicing";
22
22
  /** [Read] invoicing:BatchGetInvoiceProfile */
@@ -174,7 +174,7 @@ class InvoicingResources {
174
174
  }
175
175
  exports.InvoicingResources = InvoicingResources;
176
176
  _b = JSII_RTTI_SYMBOL_1;
177
- InvoicingResources[_b] = { fqn: "@cdk_utils/iam.invoicing.InvoicingResources", version: "1.30.0" };
177
+ InvoicingResources[_b] = { fqn: "@cdk_utils/iam.invoicing.InvoicingResources", version: "1.32.0" };
178
178
  /**
179
179
  * API operation to required IAM actions mapping for invoicing.
180
180
  */
@@ -182,7 +182,7 @@ class InvoicingOperations {
182
182
  }
183
183
  exports.InvoicingOperations = InvoicingOperations;
184
184
  _c = JSII_RTTI_SYMBOL_1;
185
- InvoicingOperations[_c] = { fqn: "@cdk_utils/iam.invoicing.InvoicingOperations", version: "1.30.0" };
185
+ InvoicingOperations[_c] = { fqn: "@cdk_utils/iam.invoicing.InvoicingOperations", version: "1.32.0" };
186
186
  /** IAM actions required for the BatchGetInvoiceProfile API call. */
187
187
  InvoicingOperations.BatchGetInvoiceProfile = [
188
188
  "invoicing:BatchGetInvoiceProfile",
@@ -284,7 +284,7 @@ class InvoicingConditions {
284
284
  }
285
285
  exports.InvoicingConditions = InvoicingConditions;
286
286
  _d = JSII_RTTI_SYMBOL_1;
287
- InvoicingConditions[_d] = { fqn: "@cdk_utils/iam.invoicing.InvoicingConditions", version: "1.30.0" };
287
+ InvoicingConditions[_d] = { fqn: "@cdk_utils/iam.invoicing.InvoicingConditions", version: "1.32.0" };
288
288
  /** Condition keys applicable to the CreateInvoiceUnit action. */
289
289
  InvoicingConditions.CreateInvoiceUnitConditionKeys = [
290
290
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class IotDeviceTesterActions {
16
16
  }
17
17
  exports.IotDeviceTesterActions = IotDeviceTesterActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- IotDeviceTesterActions[_a] = { fqn: "@cdk_utils/iam.iot_device_tester.IotDeviceTesterActions", version: "1.30.0" };
19
+ IotDeviceTesterActions[_a] = { fqn: "@cdk_utils/iam.iot_device_tester.IotDeviceTesterActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  IotDeviceTesterActions.SERVICE_PREFIX = "iot-device-tester";
22
22
  /** [Read] iot-device-tester:CheckVersion */